C语言程序设计:break 和 continue 循环控制语句
1. 引入
在 C 语言中,循环控制语句 break 和 continue 用来改变循环的执行流程。它们是循环语句中非常常见的控制工具,能够帮助我们在特定情况下提前结束循环或跳过某次循环的迭代。了解如何合理使用 break 和 continue 是编写高效代码的基础。
2. break 语句
break 语句用于立即终止当前循环或 switch 语句块的执行。当 break 语句被执行时,程序会跳出当前的循环,不再执行后续的循环体代码,直接继续执行循环之后的代码。
break 的语法格式:
break;
- 作用:当程序执行到
break时,会跳出当前的循环,不再继续执行循环体中的后续代码。
break 示例
我们来看一个例子,使用 break 跳出 while 循环:
代码示例:
#include <stdio.h>
int main() {
int i = 1;
while (i <= 10) {
if (i == 6) {
break; // 当 i 等于 6 时,跳出循环
}
printf("%d ", i);
i++;
}
printf("\n循环结束\n");
return 0;
}
解释:
- 在这个例子中,
while循环打印 1 到 10 的数字。当i等于 6 时,执行break,跳出循环,不再执行后续的循环迭代。
输出示例:
1 2 3 4 5
循环结束
3. continue 语句
continue 语句用于跳过当前循环中的某次迭代,立即开始下一次迭代的判断。当 continue 被执行时,程序会跳过当前循环体中的剩余部分,直接进入下一次循环的条件判断。
continue 的语法格式:
continue;
- 作用:跳过当前循环中的其余部分,直接进入下一次循环的判断。
continue 示例
我们来看一个例子,使用 continue 跳过偶数,只打印奇数:
代码示例:
#include <stdio.h>
int main() {
int i = 1;
while (i <= 10) {
if (i % 2 == 0) {
i++;
continue; // 如果是偶数,跳过当前循环
}
printf("%d ", i);
i++;
}
return 0;
}
解释:
- 在这个例子中,我们用
continue来跳过偶数的打印,只打印奇数。 - 当
i是偶数时,执行continue,跳过当前循环迭代,直接进行下一次循环。
输出示例:
1 3 5 7 9
4. 代码说明
break语句:用于提前结束循环,在某些条件下跳出循环。例如,在查找一个目标时,一旦目标被找到,就可以使用break来跳出循环,避免不必要的计算。continue语句:用于跳过当前循环的剩余部分,进入下一次循环的判断。适用于某些条件下需要跳过特定迭代的情况。
5. 练习题
-
题目:编写一个程序,使用
break语句,当输入的数字为 0 时,退出循环并打印 "循环结束"。答案:
#include <stdio.h> int main() { int num; while (1) { // 无限循环 printf("请输入一个数字(输入 0 退出):"); scanf("%d", &num); if (num == 0) { break; // 输入 0 时跳出循环 } printf("你输入的数字是:%d\n", num); } printf("循环结束\n"); return 0; } -
题目:编写一个程序,使用
continue语句,跳过所有负数,只输出正数和零。答案:
#include <stdio.h> int main() { int num; while (1) { printf("请输入一个数字(输入 0 退出):"); scanf("%d", &num); if (num < 0) { continue; // 如果是负数,跳过本次循环 } if (num == 0) { break; // 输入 0 时退出循环 } printf("你输入的正数是:%d\n", num); } return 0; } -
题目:编写一个程序,打印从 1 到 20 的所有奇数和偶数,使用
break和continue。答案:
#include <stdio.h> int main() { int i; printf("奇数:"); for (i = 1; i <= 20; i++) { if (i % 2 == 0) { continue; // 跳过偶数 } printf("%d ", i); } printf("\n偶数:"); for (i = 1; i <= 20; i++) { if (i % 2 != 0) { continue; // 跳过奇数 } printf("%d ", i); } return 0; } -
题目:编写一个程序,使用
break语句找到 1 到 100 内第一个能被 7 整除的数字,并打印出来。答案:
#include <stdio.h> int main() { int i; for (i = 1; i <= 100; i++) { if (i % 7 == 0) { printf("第一个能被 7 整除的数字是:%d\n", i); break; // 找到第一个能被 7 整除的数字,跳出循环 } } return 0; }
总结
break语句用于提前退出循环或switch语句,常用于满足特定条件时终止循环,避免不必要的迭代。continue语句用于跳过当前循环的剩余部分,立即开始下一次循环。它在某些条件下非常有用,比如在循环中跳过某些无效或不需要处理的情况。- 合理使用
break和continue可以提高代码的效率,减少不必要的计算,增强程序的可读性和可维护性。
评论区