C++ 编程语法
当需要重复执行一段代码时,可以使用循环。C++ 提供三种循环结构,各有适用场景,本章还将学习 break 与 continue 控制循环流程。
概览
5.1
while 循环会先判断条件,条件为真才执行循环体,条件为假则直接跳过,适合循环次数不确定的情况。
false 的操作(如 i++),否则程序会永远运行下去。死循环是初学者最常见的错误之一!5.2
与 while 不同,do-while 循环会先执行一次循环体,再判断条件——保证至少执行一次,适合需要先操作再验证的场景(如输入校验)。
false,while 循环体一次也不执行;但 do-while 会先执行一次再判断。输入验证就是典型场景——必须先让用户输入,才能判断输入是否合法。5.3
for 循环把初始化、条件判断、更新三步整合到一行,是循环次数已知时最简洁、最常用的写法。
for 循环的初始化、条件、更新都可以省略。省略条件时,循环变成无限循环:for (;;) { ... },与 while (true) 效果相同。需要搭配 break 才能退出。5.4
循环内部可以再嵌套循环,常用于处理二维数据(如矩阵、九九乘法表)。外层循环每执行一次,内层循环完整跑一遍。
| 1 | for (int i = 1; i <= 9; i++) // 外层:控制行 |
| 2 | { |
| 3 | for (int j = 1; j <= i; j++) // 内层:控制列 |
| 4 | { |
| 5 | printf("%d×%d=%-3d", j, i, i*j); // %-3d:左对齐占3位 |
| 6 | } |
| 7 | cout << endl; // 每行结束换行 |
| 8 | } |
5.5
break 后,立即终止当前循环,继续执行循环后面的代码。也可用于跳出 switch。continue 后,跳过本次循环体中剩余的代码,直接进入下一次迭代,循环不会终止。break 关键字用于跳出当前所在的循环(或 switch),继续执行循环后面的代码。
| 1 | for (int i = 1; i <= 100; i++) |
| 2 | { |
| 3 | if (i % 7 == 0) |
| 4 | { |
| 5 | cout << "第一个被7整除的数是:" << i << endl; |
| 6 | break; // 找到了就立刻跳出,不再继续 |
| 7 | } |
| 8 | } |
| 9 | // 输出:第一个被7整除的数是:7 |
break 只跳出最内层的循环,不会直接跳出外层循环。如果需要跳出多层循环,可以使用标志变量或 goto(高级用法)。5.6
continue 关键字用于跳过当前循环的剩余部分,直接进入下一次迭代。它不会终止循环,只是跳过本次迭代中剩余的代码。
| 1 | for (int i = 1; i <= 10; i++) |
| 2 | { |
| 3 | if (i % 2 == 0) |
| 4 | { |
| 5 | continue; // 偶数:跳过本次,不执行 cout |
| 6 | } |
| 7 | cout << i << " "; // 只有奇数才到这里 |
| 8 | } |
| 9 | // 输出:1 3 5 7 9 |
break 是"我不想玩了,退出循环";continue 是"这次跳过,下一轮继续玩"。