首页 > 编程笔记 > C语言笔记

continue在C语言中怎么用?(附带示例)

在C语言中,continue 是一个非常有用的流程控制语句,它主要用于循环结构中。当程序执行到 continue 语句时,会立即跳过当前循环的剩余部分,直接进入下一次循环的判断。
 

continue 语句可以用在 for、while 和 do while 这三种循环结构中,它的主要作用是跳过循环体中 continue 后面的代码,直接开始下一次循环。这意味着,在 continue 之后的代码在当前循环中不会被执行,但循环并不会因此而终止,而是继续进行下一次迭代。
 

让我们通过一些具体的例子来深入理解 continue 的使用方法和应用场景:


【示例1】在 for 循环中使用 continue:

#include <stdio.h>

int main() {
    int i;
    for (i = 1; i <= 10; i++) {
        if (i % 2 == 0) {
            continue;  // 如果 i 是偶数,跳过本次循环的剩余部分
        }
        printf("%d ", i);
    }
    return 0;
}

输出结果:

1 3 5 7 9

在这个例子中,我们使用 for 循环遍历 1 到 10 的数字,当遇到偶数时,continue 语句会跳过当前循环的剩余部分,直接进入下一次循环。因此,程序只打印了奇数。,

【示例2】在 while 循环中使用 continue:

#include <stdio.h>

int main() {
    int num = 0;
    while (num < 5) {
        num++;
        if (num == 3) {
            continue;  // 当 num 等于 3 时,跳过本次循环的剩余部分
        }
        printf("当前数字是: %d\n", num);
    }
    return 0;
}

输出结果:

当前数字是: 1
当前数字是: 2
当前数字是: 4
当前数字是: 5

在这个例子中,我们使用 while 循环来增加 num 的值,当 num 等于 3 时,continue 语句会跳过打印语句,直接进入下一次循环。因此,输出结果中没有显示数字 3。


【示例3】在 do while 循环中使用 continue:

#include <stdio.h>

int main() {
    int i = 0;
    do {
        i++;
        if (i % 3 == 0) {
            continue;  // 如果 i 是 3 的倍数,跳过本次循环的剩余部分
        }
        printf("%d ", i);
    } while (i < 10);
    return 0;
}

输出结果:

1 2 4 5 7 8 10

在这个例子中,do while 循环会执行到 i 等于 10。当 i 是 3 的倍数时,continue 语句会跳过打印语句,直接进入下一次循环。因此,输出结果中没有显示 3、6 和 9。


需要注意的是,continue 语句在不同类型的循环中的行为略有不同:


continue 语句的一个重要应用是在复杂的循环中跳过某些特定情况,使代码更加简洁和易于理解。例如,在处理大量数据时,我们可能想跳过某些不符合条件的数据:

#include <stdio.h>

int main() {
    int scores[] = {78, 65, 89, 93, 54, 82, 76, 90, 95, 88};
    int count = sizeof(scores) / sizeof(scores[0]);
    int sum = 0;
    int num_high_scores = 0;

    for (int i = 0; i < count; i++) {
        if (scores[i] < 80) {
            continue;  // 跳过低于 80 分的成绩
        }
        sum += scores[i];
        num_high_scores++;
    }

    if (num_high_scores > 0) {
        float average = (float)sum / num_high_scores;
        printf("80 分以上的成绩平均分是: %.2f\n", average);
    } else {
        printf("没有 80 分以上的成绩\n");
    }

    return 0;
}

输出结果:

80 分以上的成绩平均分是: 89.50

在这个例子中,我们使用 continue 语句跳过了所有低于 80 分的成绩,只计算了 80 分及以上成绩的平均分。这种方法使得代码更加清晰,避免了使用复杂的嵌套 if 语句。
 

总的来说,continue 在C语言中是一个非常有用的流程控制语句,它允许程序员在特定条件下跳过循环的部分执行,从而实现更灵活的循环控制。但也请注意,过度使用 continue 可能会使代码的逻辑变得难以理解;在某些情况下,重构循环或使用 if else 结构可能会产生更清晰的代码。

推荐阅读