C++ for循环
提示
- 循环的概念:C++中的循环用于重复执行代码块,例如
for
循环、while
循环和do...while
循环。 - for循环结构:
for
循环包括初始化(仅执行一次)、条件(若为真,则执行循环体)、更新(更新初始化变量的值并重新检查条件)。 - 范围基于for循环:C++11引入了基于范围的
for
循环,适用于数组和向量等集合,循环中每个值都会被赋给变量并执行循环体。
在计算机编程中,循环用于重复执行一段代码。
例如,假设我们想要显示一条消息100次。那么我们可以使用一个循环,而不是写100次打印语句。
这只是一个简单的例子;通过有效使用循环,我们的程序可以实现更高的效率和复杂性。
C++中有三种类型的循环:
for
循环while
循环do...while
循环
本教程重点介绍 C++ 的 for
循环。我们将在后续教程中学习其他类型的循环。
C++ for 循环
for 循环的语法是:
for (初始化; 条件; 更新) {
// 循环体
}
其中,
初始化
- 初始化变量,只执行一次条件
- 如果为true
,则执行for
循环的体 如果为false
,则终止 for 循环更新
- 更新初始化的变量值,并再次检查条件
要了解更多关于 条件
的信息,请查看我们关于 C++ 关系和逻辑运算符的教程。
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 <= 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 次
// C++ 程序显示文本 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 <= 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 个自然数的和
// C++ 程序计算前 n 个自然数的和
// 例如 1,2,3,...n 称为自然数
#include <iostream>
using namespace std;
int main() {
int num, sum;
sum = 0;
cout << "输入一个正整数: ";
cin >> num;
for (int i = 1; i <= num; ++i) {
sum += i;
}
cout << "和 = " << sum << endl;
return 0;
}
输出
输入一个正整数: 10
和 = 55
在上面的示例中,我们有两个变量 num 和 sum。sum 变量被赋值为 0,num 变量被赋值为用户提供的值。
请注意,我们使用了 for
循环。
for(int i = 1; i <= num; ++i)
其中,
int i = 1
:初始化 i 变量i <= num
:只要 i 小于或等于 num,就运行循环++i
:在每次迭代中将 i 变量增加 1
当 i 变为 11
时,条件
为 false
,sum 将等于 0 + 1 + 2 + ... + 10
。
基于范围的 for 循环
在 C++11 中,引入了一种新的基于范围的 for
循环,用于处理诸如数组和向量等集合。其语法是:
for (变量 : 集合) {
// 循环体
}
在这里,对于集合中的每个值,for 循环都被执行,值被赋给变量。
示例 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 循环
如果 for
循环中的 条件
总是 true
,它将永远运行(直到内存满)。例如,
// 无限 for 循环
for(int i = 1; i > 0; i++) {
// 代码块
}
在上述程序中,condition
总是true
,这将导致代码无限次运行。
查看这些示例以了解更多:
在下一个教程中,我们将学习关于while
和do...while
循环。