C++ 循环(Loops in C++)
循环是 C++ 中用于重复执行一段代码的结构。C++ 提供了三种主要的循环结构:for 循环、while 循环和 do-while 循环。它们允许程序根据某个条件重复执行代码块,直到条件不满足。
1. for 循环
for 循环用于在已知次数的情况下重复执行某段代码。for 循环的基本结构包括初始化、条件判断和更新操作。
1.1 语法:
for (initialization; condition; update) {
// 循环体
}
- initialization:初始化部分,只会执行一次。
- condition:每次循环前判断的条件,若条件为
true,则执行循环体。 - update:每次循环后执行的更新操作。
1.2 示例:使用 for 循环
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 5; i++) {
cout << "i: " << i << endl;
}
return 0;
}
输出:
i: 0
i: 1
i: 2
i: 3
i: 4
- 这段代码使用
for循环打印从 0 到 4 的数字。
2. while 循环
while 循环用于在满足某个条件的情况下重复执行代码,条件判断在循环开始前进行。
2.1 语法:
while (condition) {
// 循环体
}
- condition:循环开始前判断的条件。如果条件为
true,则执行循环体。
2.2 示例:使用 while 循环
#include <iostream>
using namespace std;
int main() {
int i = 0;
while (i < 5) {
cout << "i: " << i << endl;
i++; // 更新操作
}
return 0;
}
输出:
i: 0
i: 1
i: 2
i: 3
i: 4
- 该示例中的
while循环与for循环类似,都会打印从 0 到 4 的数字,差异在于while循环没有初始化部分,所有的操作都必须在循环体内或循环前完成。
3. do-while 循环
do-while 循环与 while 循环类似,不同之处在于它是先执行一次循环体,然后再判断循环条件。如果条件为 true,则继续执行循环。
3.1 语法:
do {
// 循环体
} while (condition);
- condition:每次循环结束时判断的条件。如果条件为
true,则继续循环。
3.2 示例:使用 do-while 循环
#include <iostream>
using namespace std;
int main() {
int i = 0;
do {
cout << "i: " << i << endl;
i++;
} while (i < 5);
return 0;
}
输出:
i: 0
i: 1
i: 2
i: 3
i: 4
- 与
while循环的不同之处在于,do-while循环会至少执行一次,即使循环条件一开始就是false。
4. 循环控制语句
C++ 提供了三种主要的控制语句用于控制循环的执行:
4.1 break 语句
break 语句用于立即终止当前循环,无论循环条件是否满足。
示例:使用 break 语句
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // 当 i 等于 5 时退出循环
}
cout << "i: " << i << endl;
}
return 0;
}
输出:
i: 0
i: 1
i: 2
i: 3
i: 4
- 当
i等于 5 时,break语句终止了循环。
4.2 continue 语句
continue 语句用于跳过当前循环中的剩余部分,直接进入下一次循环的判断。
示例:使用 continue 语句
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 10; i++) {
if (i == 5) {
continue; // 跳过 i == 5 的那次循环
}
cout << "i: " << i << endl;
}
return 0;
}
输出:
i: 0
i: 1
i: 2
i: 3
i: 4
i: 6
i: 7
i: 8
i: 9
- 当
i等于 5 时,continue语句跳过了本次循环,直接进入下一次循环。
4.3 goto 语句
goto 语句用于无条件地跳转到程序中的其他位置。它通常被认为是不推荐使用的,除非在某些特定情况下,因为它可能使代码变得难以理解和维护。
示例:使用 goto 语句
#include <iostream>
using namespace std;
int main() {
int i = 0;
label:
cout << "i: " << i << endl;
i++;
if (i < 5) {
goto label; // 跳回 label
}
return 0;
}
输出:
i: 0
i: 1
i: 2
i: 3
i: 4
goto语句跳转到标记label,从而实现循环效果。
5. 总结
C++ 提供了三种常用的循环结构:for、while 和 do-while,它们适用于不同的场景。for 循环通常用于已知循环次数的场景,while 和 do-while 循环则用于需要判断条件的场景。此外,循环控制语句(如 break、continue 和 goto)可以帮助控制循环的流向。
| 循环类型 | 语法 | 使用场景 |
|---|---|---|
for 循环 | for (initialization; condition; update) {} | 已知循环次数 |
while 循环 | while (condition) {} | 条件判断为 true 时执行循环 |
do-while | do { ... } while (condition); | 至少执行一次循环,适用于先执行后判断的场景 |
通过正确选择循环结构和控制语句,您可以有效地控制程序的执行流程。