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 语句在不同类型的循环中的行为略有不同:
- 在 for 循环中,执行 continue 后,程序会跳到更新表达式(通常是 i++ 或类似的语句),然后再次检查循环条件。
- 在 while 和 do while 循环中,执行 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 结构可能会产生更清晰的代码。