流程控制
控制语句break、continue
前言
在编程中,break
和 continue
语句用于控制循环的执行流程。它们允许我们在特定条件下中断或跳过循环的某次迭代,提供了灵活的控制方式。
作用
break
语句:立即终止当前循环,无论循环条件是否已经满足。continue
语句:跳过当前循环的剩余部分,直接进入下一次循环迭代。
使用场景
break
语句:常用于在遇到特定条件时立即退出循环。例如,处理输入数据时,如果遇到错误或满足特定条件就提前退出循环。continue
语句:适合在某些特定条件下跳过当前迭代,但仍希望继续执行剩余循环的情况,如跳过某些不需要处理的数据。
示例
示例 1: break
语句
// 计算数字的总和,最多输入 10 个数字
// 如果用户输入负数,循环终止
#include <stdio.h>
int main() {
int i;
double number, sum = 0.0;
for (i = 1; i <= 10; ++i) {
printf("输入第 %d 个数: ", i);
scanf("%lf", &number);
// 如果输入的是负数,跳出循环
if (number < 0.0) {
break;
}
sum += number; // 总和累加
}
printf("总和 = %.2lf", sum);
return 0;
}
输出:
输入第 1 个数: 2.4
输入第 2 个数: 4.5
输入第 3 个数: 3.4
输入第 4 个数: -3
总和 = 10.30
在这个例子中,当用户输入负数时,break
语句被执行,循环立即终止,剩余数字不会被输入,总和会输出当前的累加结果。
示例 2: continue
语句
// 计算数字的总和,最多输入 10 个数字
// 如果用户输入负数,该负数不加入总和
#include <stdio.h>
int main() {
int i;
double number, sum = 0.0;
for (i = 1; i <= 10; ++i) {
printf("输入第 %d 个数: ", i);
scanf("%lf", &number);
// 如果输入的是负数,跳过当前循环
if (number < 0.0) {
continue;
}
sum += number; // 总和累加
}
printf("总和 = %.2lf", sum);
return 0;
}
输出:
输入第 1 个数: 1.1
输入第 2 个数: 2.2
输入第 3 个数: 5.5
输入第 4 个数: 4.4
输入第 5 个数: -3.4
输入第 6 个数: -45.5
输入第 7 个数: 34.5
输入第 8 个数: -4.2
输入第 9 个数: -1000
输入第 10 个数: 12
总和 = 59.70
在这个例子中,continue
语句使得当用户输入负数时,当前循环的剩余部分被跳过,负数不会加入到总和中。程序会继续下一次迭代,直到输入完所有数字。
结语
break
和 continue
语句为 C 语言提供了对循环流程的精细控制。break
允许我们在满足特定条件时立即退出循环,而 continue
则帮助我们跳过不需要处理的迭代,继续执行剩下的循环。这两种语句的灵活运用,可以有效简化代码逻辑并提升程序的可读性。