跳到主要内容

C++ for循环

提示
  1. 循环的概念:C++中的循环用于重复执行代码块,例如for循环、while循环和do...while循环。
  2. for循环结构for循环包括初始化(仅执行一次)、条件(若为真,则执行循环体)、更新(更新初始化变量的值并重新检查条件)。
  3. 范围基于for循环:C++11引入了基于范围的for循环,适用于数组和向量等集合,循环中每个值都会被赋给变量并执行循环体。

在计算机编程中,循环用于重复执行一段代码。

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

这只是一个简单的例子;通过有效使用循环,我们的程序可以实现更高的效率和复杂性。

C++中有三种类型的循环:

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

本教程重点介绍 C++ 的 for 循环。我们将在后续教程中学习其他类型的循环。

C++ for 循环

for 循环的语法是:

for (初始化; 条件; 更新) {
// 循环体
}

其中,

  • 初始化 - 初始化变量,只执行一次
  • 条件 - 如果为 true,则执行 for 循环的体 如果为 false,则终止 for 循环
  • 更新 - 更新初始化的变量值,并再次检查条件

要了解更多关于 条件 的信息,请查看我们关于 C++ 关系和逻辑运算符的教程。

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 <= 5操作
第1次i = 1true打印 1,i 增加到 2
第2次i = 2true打印 2,i 增加到 3
第3次i = 3true打印 3,i 增加到 4
第4次i = 4true打印 4,i 增加到 5
第5次i = 5true打印 5,i 增加到 6
第6次i = 6false循环终止

示例 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 = 1true打印 Hello World!,i 增加到 2
第2次i = 2true打印 Hello World!,i 增加到 3
第3次i = 3true打印 Hello World!,i 增加到 4
第4次i = 4true打印 Hello World!,i 增加到 5
第5次i = 5true打印 Hello World!,i 增加到 6
第6次i = 6false循环终止

示例 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,这将导致代码无限次运行。

查看这些示例以了解更多:

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