C++循环
前言
这一节我们将学习循环的的相关知识,可能会涉及到一些C++的基本语法以及C++变量类型、C++变量作用域、C++常量等的相关知识,如果你还有不明白的,请到C++基本语法和C++变量类型、C++变量作用域、C++常量这里温故一下
C++循环
在编程中,我们经常会遇到需要重复做同一件事情的情况。通常,代码是按照顺序一行一行执行的:先执行第一行,然后是第二行,以此类推。但是,有时候我们想让某段代码重复执行多次,而不是只执行一次。这时候,就需要用到编程语言提供的控制结构,它们可以让代码的执行路径变得更加灵活和复杂。
简单来说,控制结构就像是代码的“交通规则”,它们告诉我们代码应该如何“行驶”。在C++中,有几种常用的控制结构可以帮助我们实现代码的重复执行,比如循环。循环就像是设置了“循环播放”模式,让某段代码可以按照我们指定的次数或者条件,一遍又一遍地执行。
通过使用循环,我们可以更高效地处理重复的任务,而不需要手动复制粘贴大量的代码。这样不仅可以节省时间,还可以减少错误,让代码更加简洁和易于维护。
循环类型
循环类型
在编程中,循环用于重复执行一段代码,直到满足某个条件为止。C++ 提供了几种常用的循环结构,让我们来一一了解它们。
1. while 循环
基本概念:
while循环会在每次执行循环体之前,先检查一个条件。如果条件为真(true),就执行循环体的代码;如果条件为假(false),就结束循环。语法:
1
2
3while (条件) {
// 循环体(要重复执行的代码)
}示例:
1
2
3
4
5int i = 0;
while (i < 5) {
cout << "i = " << i << endl;
i++;
}解释:这个循环会从
i = 0开始,每次输出i的值,然后将i加 1,直到i不小于 5。
2. for 循环
基本概念:
for循环适合在你知道要循环多少次的情况下使用。它把循环变量的初始化、条件判断和更新都放在一行,便于管理。语法:
1
2
3for (初始化; 条件; 更新) {
// 循环体
}示例:
1
2
3for (int i = 0; i < 5; i++) {
cout << "i = " << i << endl;
}解释:这个循环与上面的
while循环功能相同,但写法更紧凑。
3. do...while 循环
基本概念:
do...while循环会先执行一次循环体,然后再检查条件是否满足。这意味着即使条件一开始为假,循环体也会执行一次。语法:
1
2
3do {
// 循环体
} while (条件);示例:
1
2
3
4
5int i = 0;
do {
cout << "i = " << i << endl;
i++;
} while (i < 5);解释:即使
i一开始就不小于 5,循环体也会执行一次。
4. 嵌套循环
基本概念:你可以在一个循环内部再放入一个循环,称为嵌套循环。这在需要遍历多维数据时非常有用。
示例:
1
2
3
4
5for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
cout << "i = " << i << ", j = " << j << endl;
}
}解释:外层循环控制
i,内层循环控制j,总共会输出 6 组组合。
循环控制语句
有时候,我们需要在循环过程中改变正常的执行流程,比如提前结束循环或跳过某次循环。C++ 提供了以下控制语句。
1. break 语句
基本概念:
break用于立即退出所在的循环或switch语句,程序会继续执行循环或switch后面的代码。示例:
1
2
3
4
5
6for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // 当 i 等于 5 时,退出循环
}
cout << "i = " << i << endl;
}解释:这个循环在
i等于 5 时,会提前结束,不再继续循环。
2. continue 语句
基本概念:
continue用于跳过当前循环的剩余代码,立即开始下一次循环的判断。示例:
1
2
3
4
5
6for (int i = 0; i < 5; i++) {
if (i == 2) {
continue; // 跳过当前循环,i == 2 时不执行下面的代码
}
cout << "i = " << i << endl;
}解释:当
i等于 2 时,continue会跳过cout,因此不会输出i = 2。
3. goto 语句
基本概念:
goto可以无条件地跳转到程序中标记的位置。但由于它可能导致代码难以阅读和维护,一般不推荐使用。示例:
1
2
3
4
5
6
7int i = 0;
start:
if (i < 5) {
cout << "i = " << i << endl;
i++;
goto start;
}解释:这段代码使用
goto模拟了一个循环。
无限循环
基本概念:如果循环的条件永远为真,那么循环将永远执行下去,这就是无限循环。
用法:
1
2
3while (true) {
// 无限循环的代码
}或者
1
2
3for (;;) {
// 无限循环的代码
}示例:
1
2
3for (;;) {
cout << "This loop will run forever." << endl;
}解释:
for循环的三个部分(初始化、条件、更新)都可以省略,如果条件部分被省略,默认视为真,所以循环会无限执行。注意:在实际编程中,需要确保有机制能跳出无限循环,比如在循环体内使用
break,或者在某种条件下退出。否则,程序可能会卡住。终止无限循环的方法:在命令行环境下,可以按
Ctrl + C终止程序的执行。








