C++ continue语句
提示
- continue语句的功能:C++中的
continue
语句用于跳过当前循环迭代,并将程序控制权转移到下一次迭代。 - 在循环中使用continue:在
for
和while
循环中,continue
会跳过当前迭代的剩余代码,并开始下一次迭代的执行。 - 嵌套循环中的continue:在嵌套循环中使用
continue
时,它仅跳过内部循环的当前迭代,不影响外部循环。
在计算机编程中,continue
语句用于跳过循环的当前迭代,并使程序控制转移到下一次迭代。
continue
语句的语法是:
continue;
在学习 continue
语句之前 ,请确保您已经了解:
C++ continue 语句的工作原理
示例 1:for 循环中的 continue
在 for
循环中,continue
跳过当前迭代,控制流跳转到 update
表达式。
// 程序用于打印 i 的值
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; i++) {
// 继续条件
if (i == 3) {
continue;
}
cout << i << endl;
}
return 0;
}
输出
1
2
4
5
在上述程序中,我们使用 for
循环在每次迭代中打印 i 的值。这里,请注意代码,
if (i == 3) {
continue;
}
这意味着
- 当 i 等于
3
时,continue
语句跳过当前迭代并开始下一次迭代 - 然后,i 变为
4
,condition
再次被评估。 - 因此,
4
和5
在接下来的两次迭代中被打印。
注意:continue
语句几乎总是与决策语句一起使用。
示例 2:while 循环中的 continue
在 while
循环中,continue
跳过当前迭代,程序的控制流回到 while
的 condition
。
// 程序用于计算只有 50 以内的正数
// 如果用户输入一个负数,
// 则跳过该数字的计算
// 负数 -> 循环终止
// 超过 50 的数字 -> 跳过迭代
#include <iostream>
using namespace std;
int main() {
int sum = 0;
int number = 0;
while (number >= 0) {
// 添加所有正数
sum += number;
// 用户输入
cout << "输入一个数字: ";
cin >> number;
// continue 条件
if (number > 50) {
cout << "数字大于 50,不会被计算。" << endl;
number = 0; // number 的值再次置为 0
continue;
}
}
// 显示总和
cout << "总和是 " << sum << endl;
return 0;
}
输出
输入一个数字: 12
输入一个数字: 0
输入一个数字: 2
输入一个数字: 30
输入一个数字: 50
输入一个数字: 56
数字大于 50,不会被计算。
输入一个数字: 5
输入一个数字: -3
总和是 99
在上述程序中,用户输入一个数字。使用 while
循环打印用户输入的正数的总和,只要数字不超过 50
。
注意 continue
语句的使用。
if (number > 50) {
continue;
}
- 当用户输入大于
50
的数字时,continue
语句跳过当前迭代。然后程序的控制流回到while
循环的condition
。 - 当用户输入小于
0
的数字时,循环终止。
注意:continue
语句对于 do...while
循环的工作方式是相同的。
嵌套循环中的 continue
当 continue
用于嵌套循环时,它跳过内部循环的当前迭代。例如,
// 在嵌套 for 循环中使用 continue 语句
#include <iostream>
using namespace std;
int main() {
int number;
int sum = 0;
// 嵌套的 for 循环
// 第一个循环
for (int i = 1; i <= 3; i++) {
// 第二个循环
for (int j = 1; j <= 3; j++) {
if (j == 2) {
continue;
}
cout << "i = " << i << ", j = " << j << endl;
}
}
return 0;
}
输出
i = 1, j = 1
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 3
在上述程序中,当执行 continue
语句时,它跳过内部循环的当前迭代。程序的控制流移动到内部循环的更新表达式。
因此,输出中永远不会显示 j = 2 的值。
注意:break 语句 完全终止循环。然而,continue
语句只跳过当前迭代。