C++ 循环控制语句
C++ 有三大循环语句 + 三个循环跳转关键字,用于重复执行代码块。
一、三大循环结构
1. while 循环(先判断,后执行)
语法:
while (条件表达式) {
循环体;
}
逻辑:条件为 true 才执行循环体;条件不成立直接跳过。
示例:输出 1~5
#include <iostream>
using namespace std;
int main() {
int i = 1;
while (i <= 5) {
cout << i << " ";
i++; // 自增,避免死循环
}
return 0;
}
2. do-while 循环(先执行,后判断)
语法:
do {
循环体;
} while (条件表达式); // 末尾分号不能丢
特点:至少执行一次,哪怕条件一开始就为假。
示例:
int i = 6;
do {
cout << i << " ";
i++;
} while (i <= 5);
// 输出 6,只执行一次
3. for 循环(最常用,已知循环次数)
标准语法:
for (初始化; 条件; 更新) {
循环体;
}
执行顺序:
- 初始化(仅执行1次)
- 判断条件,true → 执行循环体
- 执行更新语句
- 回到第2步
示例:1~10求和
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += i;
}
cout << sum;
灵活写法:三段均可省略
// 无限循环
for (;;) {
}
二、循环跳转控制关键字
1. break
作用:立刻终止当前循环,跳出循环体,执行循环后面代码。
// 找到5就退出
for (int i = 1; i <= 10; i++) {
if (i == 5) break;
cout << i << " ";
}
// 输出:1 2 3 4
2. continue
作用:跳过本次循环剩余代码,直接进入下一轮条件判断,不终止循环。
// 跳过5,其余输出
for (int i = 1; i <= 5; i++) {
if (i == 5) continue;
cout << i << " ";
}
// 输出:1 2 3 4
3. goto(不推荐,了解即可)
无条件跳转到标记位置,易破坏代码结构,工程代码尽量不用。
int i = 1;
loop:
cout << i << " ";
i++;
if (i <= 3) goto loop;
三、嵌套循环
循环内部再套循环,常用于矩阵、九九乘法表等场景。
// 九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
cout << j << "*" << i << "=" << i*j << "\t";
}
cout << endl;
}
break / continue 只作用于最内层循环,外层不受影响。
四、三种循环使用场景对比
| 循环 | 适用场景 | 特点 |
|---|---|---|
| while | 循环次数未知,先判断 | 可能一次都不执行 |
| do-while | 必须至少执行一次 | 先执行再判断 |
| for | 已知循环次数,计数循环 | 结构紧凑,变量集中管理 |
五、常见坑
- 死循环:忘记更新循环变量(
i++) - do-while 末尾漏写分号,编译报错
- continue 放在自增语句前导致死循环
- break 仅跳出一层嵌套循环,无法一次性跳出多层
浙公网安备 33010602011771号