1. for循环基本语法
for循环是C++中最重要的循环结构之一。它的基本形式如下:
for (初始化表达式; 条件表达式; 更新表达式)
{
循环执行语句;
}
其中,初始化表达式在循环开始前执行,用于设置循环变量的初始值;条件表达式在每次循环开始前求值,如果为真,则继续循环,否则跳出循环;更新表达式在每次循环结尾时执行,用于改变循环变量的值。
2. for循环的变体
2.1. 嵌套for循环
嵌套for循环指的是在一个for循环结构内嵌套另一个for循环结构。这种循环结构在需要遍历多维数组时非常有用。下面是一个简单的示例:
#include <iostream>
using namespace std;
int main()
{
int arr[3][2] = {{1,2},{3,4},{5,6}};
// 遍历二维数组
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 2; j++)
{
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
上述代码中,第一个for循环变量i代表行数,第二个for循环变量j代表列数,通过嵌套循环遍历了整个二维数组。
2.2. range-based for循环
range-based for循环是C++11引入的一种新的for循环结构,也被称作foreach循环。它可以方便地遍历一个容器类型(如数组、向量、列表等)。下面是一个示例:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v = {1, 2, 3, 4, 5};
// 遍历vector容器
for (int i : v)
{
cout << i << " ";
}
cout << endl;
return 0;
}
上述代码中,range-based for循环中,变量i遍历了整个vector容器,输出了每个元素的值。
2.3. 倒序for循环
倒序for循环指的是按照从大到小的顺序遍历一个区间。在某些情况下,如果我们需要从一个区间的右端开始遍历,这种循环结构非常有用。下面是一个简单的示例:
#include <iostream>
using namespace std;
int main()
{
int arr[5] = {1, 2, 3, 4, 5};
// 倒序遍历数组
for (int i = 4; i >= 0; i--)
{
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
上述代码中,for循环中的变量i从数组的右端开始遍历,输出了每个元素的值。
2.4. 循环中断和跳过
在for循环中,可以使用break关键字跳出循环,也可以使用continue关键字跳过当前的迭代。下面是一个示例:
#include <iostream>
using namespace std;
int main()
{
int arr[5] = {1, 2, 3, 4, 5};
// 跳过奇数并输出偶数
for (int i = 0; i < 5; i++)
{
if (arr[i] % 2 == 1) // 如果是奇数就跳过
{
continue;
}
cout << arr[i] << " ";
}
cout << endl;
// 遇到3时跳出循环
for (int i = 0; i < 5; i++)
{
if (arr[i] == 3) // 如果是3就跳出循环
{
break;
}
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
上述代码中,第一个for循环中,如果数组元素是奇数,就跳过当前迭代,只输出偶数;第二个for循环中,如果数组元素是3,就跳出循环。
3. 总结
本文介绍了for循环的基本语法,以及for循环的四种变体:嵌套for循环、range-based for循环、倒序for循环、循环中断和跳过。这些循环结构可以帮助我们更方便地遍历数组、容器以及其他序列类型的数据。