首页 > 编程笔记

C++ continue用法详解

continue 是 C++ 中的一个关键字,只能用在循环结构中,作用是终止本次循环,开始下一次循环。

C++ 的循环结构有三种,分别是 while、do while 和 for 循环。执行循环结构的时候,一旦遇到 continue 语句,则直接跳过循环中、continue 后续的所有代码,开始下一次循环。

举个简单的例子,下面的 C++ 程序实现打印从 1 到 10 中的所有奇数,我们使用 continue 语句跳过所有的偶数。
#include <iostream>

int main() {
    for (int i = 1; i <= 10; i++) {
        if (i % 2 == 0) {
            continue; // 如果是偶数,则跳过剩余代码
        }
        std::cout << i << " ";
    }
    return 0;
}
重点分析程序中的 for 循环,循环过程满足条件i%2==0,证明当前 i 的值是一个偶数,则执行 continue 语句,终止本次循环,即不再执行后续的 cout 输出语句,立刻开始下一次循环。

对于 for 循环来说,所谓开始下一次循环,指的是执行 i++ 语句,然后判断表达式 i<=10 的结果,如果为 true 则继续执行循环体,反之则结束循环。

执行程序,输出结果为:

1 3 5 7 9

在嵌套循环中使用continue

在嵌套的循环结构中,continue 仅影响包裹它的最内部循环。

例如:
#include <iostream>

int main() {
    for (int i = 1; i <= 3; i++) {
        for (int j = 1; j <= 3; j++) {
            if (j == 2) {
                continue; // 当 j 等于 2 时跳过
            }
            std::cout << i << ", " << j << "\n";
        }
    }
    return 0;
}
观察程序中两个嵌套的 for 循环,外层 for 循环的 i 值从 1 递增到 3,内层 for 循环的 j 值也是从 1 递增到 3。

内层 for 循环中包含一个 continue 语句,当 j 的值为 2 的时候会执行 continue 语句,从而跳过 cout 语句,直接开始下一次循环。

执行程序,运行结果为:

1, 1
1, 3
2, 1
2, 3
3, 1
3, 3

通过运行结果不难看出,continue 语句屏蔽了所有 j==2 的情况,而对 i 值的递增没有影响,从侧面验证了“continue 仅影响包裹它的最内部循环”。

总结

continue 语句只能用在循环结构中,它的功能是终止本次循环,立即开始下一次循环。

在嵌套的循环结构中,continue 语句仅影响包裹它的最内层循环。

推荐阅读