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
循环的处理流程:
示例 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 |
打印 1 。 i 增加到 2 . |
第 2 次 | i = 2 |
true |
打印 2 。 i 增加到 3 . |
第 3 次 | i = 3 |
true |
打印 3 。 i 增加到 4 . |
第 4 次 | i = 4 |
true |
打印 4 。 i 增加到 5 . |
第 5 次 | i = 5 |
true |
打印 5 。 i 增加到 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
在上面的例子中,我们有两个变量 num
和 sum
。 sum
变量被赋值为 0
。 num
变量被赋值为用户提供的值。
请注意,我们使用了 for
循环。
for(int i = 1; i <= num; ++i)
这里,
int i = 1
: 初始化i
变量为1
。i <= num
: 只要i
小于或等于num
就运行循环。++i
: 在每次迭代中变量i
的值加1
。
直到 i
的值变成 11
, i <= 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_array
的 int
数组。它有 10 个项目。
在这里,我们使用了一个基于范围的 for
循环来访问数组中的所有项目。
C++ 无限循环
如果for
循环的条件始终为 true
,则它将永远运行(直到内存已满)。例如,
for(int i = 1; i > 0; i++) {
}
在上面的程序中, i > 0
总是 true
会无限次运行代码。
在下一个教程中,我们将学习 while
和 do...while
循环。