C++ for 循环

本文介绍了在 C++ 中如何使用 for 循环。

在编程中,循环用于在满足指定的条件下重复的执行一段代码。

例如,假设我们要显示一条消息 100 次。然后我们可以使用循环而不是编写 100 次打印语句。

C++ 中有 3 种类型的循环。

  • for 循环
  • while 循环
  • do...while 循环

在本文中,我们要讨论的是 for 循环。下一篇中我们将讨论 while 循环和 do...while 循环

C++ for 循环

for 循环的语法是:

for (initialization; condition; update) {
    // body of-loop
}

这里,

  • initialization: 初始化变量并且只执行一次
  • condition: 判断条件。如果条件结算结果为 true, 则执行 for 循环体=;否则,终止循环。
  • update: 更新初始化变量的值并再次检查条件

C++ for 循环流程图

下图展示了 for 循环的处理流程:

C++ for 循环流程图
C++ for 循环流程图

示例 1:打印 1 到 5 的数字

#include <iostream>

using namespace std;

int main() {
    for (int i = 1; i <= 5; ++i) {
        cout << i << " ";
    }
    return 0;
}

输出

1 2 3 4 5

下表展示了是这个程序的工作逻辑:

迭代次数 变量 i i <= 5 操作
第 1 次 i = 1 true 打印 1i 增加到 2 .
第 2 次 i = 2 true 打印 2i 增加到 3 .
第 3 次 i = 3 true 打印 3i 增加到 4 .
第 4 次 i = 4 true 打印 4i 增加到 5 .
第 5 次 i = 5 true 打印 5i 增加到 6 .
第 6 次 i = 6 false 循环终止

示例 2:显示文本 5 次

#include <iostream>

using namespace std;

int main() {
    for (int i = 1; i <= 5; ++i) {
        cout <<  "Hello World! " << endl;
    }
    return 0;
}

输出

Hello World!
Hello World!
Hello World!
Hello World!
Hello World!

下表展示了是这个程序的工作逻辑:

迭代次数 变量 i i <= 5 操作
第 1 次 i = 1 true 打印 Hello World!i 增加到 2 .
第 2 次 i = 2 true 打印 Hello World!i 增加到 3 .
第 3 次 i = 3 true 打印 Hello World!i 增加到 4 .
第 4 次 i = 4 true 打印 Hello World!i 增加到 5 .
第 5 次 i = 5 true 打印 Hello World!i 增加到 6 .
第 6 次 i = 6 false 循环终止

示例 3:求前 n 个自然数的总和

#include <iostream>

using namespace std;

int main() {
    int num, sum;
    sum = 0;

    cout << "Enter a positive integer: ";
    cin >> num;

    for (int i = 1; i <= num; ++i) {
        sum += i;
    }

    cout << "Sum = " << sum << endl;

    return 0;
}

输出

Enter a positive integer: 10
Sum = 55

在上面的例子中,我们有两个变量 numsumsum 变量被赋值为 0num 变量被赋值为用户提供的值。

请注意,我们使用了 for 循环。

for(int i = 1; i <= num; ++i)

这里,

  • int i = 1 : 初始化 i 变量为 1
  • i <= num : 只要 i 小于或等于 num 就运行循环。
  • ++i : 在每次迭代中变量 i 的值加 1

直到 i 的值变成 11i <= num 的结果为 false, 那么 sum 等于 0 + 1 + 2 + ... + 10

基于范围的 for 循环

在 C++11 中, for 引入了一个新的基于范围的循环来处理数组向量等集合。它的语法是:

for (variable : collection) {
    // body of loop
}

在这里,对于集合中的每个值, 都会赋值给 variable,并运行一次循环。

示例 4:基于范围的 for 循环

#include <iostream>

using namespace std;

int main() {
    int num_array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    for (int n : num_array) {
        cout << n << " ";
    }

    return 0;
}

输出

1 2 3 4 5 6 7 8 9 10

在上面的程序中,我们声明并初始化了一个名为 num_arrayint 数组。它有 10 个项目。

在这里,我们使用了一个基于范围的 for 循环来访问数组中的所有项目。

C++ 无限循环

如果for 循环的条件始终为 true ,则它将永远运行(直到内存已满)。例如,

for(int i = 1; i > 0; i++) {
}

在上面的程序中, i > 0 总是 true 会无限次运行代码。

在下一个教程中,我们将学习 whiledo...while 循环。