C++ for 循环

C++ for 循环

当您确切知道想要循环执行代码块的次数时,请使用 for 循环而不是 while 循环:

语法

for (语句 1; 语句 2; 语句 3) {  
  // 要执行的代码块  
}

语句 1 在执行代码块之前执行(一次)。

语句 2 定义了执行代码块的条件。

语句 3 在代码块执行后执行(每次)。

下面的例子将打印数字 0 到 4:

实例

for (int i = 0; i < 5; i++) {
  cout << i << "\n";
}

亲自试一试

例子解释

语句 1 在循环开始前设置一个变量(int i = 0)。

语句 2 定义了循环运行的条件(i 必须小于 5)。如果条件为真,循环将重新开始;如果为假,循环将结束。

语句 3 每次循环中的代码块执行完毕后都会增加一个值(i++)。

另一个例子

此例将仅打印 0 到 10 之间的偶数值:

实例

for (int i = 0; i <= 10; i = i + 2) {
  cout << i << "\n";
}

亲自试一试

嵌套循环

还可以将一个循环放置在另一个循环内部。这称为嵌套循环。

“内层循环”将在“外层循环”的每次迭代中执行一次:

实例

// 外层循环  
for (int i = 1; i <= 2; ++i) {  
  cout << "外层: " << i << "\n"; // 执行 2 次  
  
  // 内层循环  
  for (int j = 1; j <= 3; ++j) {  
    cout << " 内层: " << j << "\n"; // 执行 6 次 (2 * 3)  
  }  
}

亲自试一试

foreach 循环

还有一种 for-each 循环(在 C++ 版本 11(2011 年)中引入),它专门用于遍历数组(或其他数据集)中的元素:

语法

for (type variableName : arrayName) {
  // code block to be executed
}

下例使用 for-each 循环输出数组中的所有元素:

实例

int myNumbers[5] = {10, 20, 30, 40, 50};
for (int i : myNumbers) {
  cout << i << "\n";
}

亲自试一试

注意:如果您不理解上面的例子,不用担心。您将在 C++ 数组章节中了解更多关于数组的信息。

小知识:for-each 循环是在 C++ 11版(2011年)中引入的。