跳到主要内容

C++ continue语句

提示
  1. continue语句的功能:C++中的continue语句用于跳过当前循环迭代,并将程序控制权转移到下一次迭代。
  2. 在循环中使用continue:在forwhile循环中,continue会跳过当前迭代的剩余代码,并开始下一次迭代的执行。
  3. 嵌套循环中的continue:在嵌套循环中使用continue时,它仅跳过内部循环的当前迭代,不影响外部循环。

在计算机编程中,continue 语句用于跳过循环的当前迭代,并使程序控制转移到下一次迭代。

continue 语句的语法是:

continue;

在学习 continue 语句之前,请确保您已经了解:

C++ 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 变为 4condition 再次被评估。
  • 因此,45 在接下来的两次迭代中被打印。

注意continue 语句几乎总是与决策语句一起使用。

示例 2:while 循环中的 continue

while 循环中,continue 跳过当前迭代,程序的控制流回到 whilecondition

// 程序用于计算只有 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 语句只跳过当前迭代。