C break 和 continue
本文中我们介绍了如何在循环中使用 break 语句和 continue 语句来控制跳过某个迭代或跳出循环。
在 C 语言中, break
语句和 continue
语句是用于循环的流程控制指令。 break
语句用于跳出当前循环,continue
语句则跳出循环的当前迭代并进入下一次迭代。
break 语句
break
语句的用途是立即跳出当前循环。它的语法是:
break;
break 语句几乎总是与循环内的 if...else
语句一起使用。
break 语句工作原理
示例 1:break 语句
#include <stdio.h>
int main() {
int i;
double number, sum = 0.0;
for (i = 1; i <= 10; ++i) {
printf("Enter n%d: ", i);
scanf("%lf", &number);
// if the user enters a negative number, break the loop
if (number < 0.0) {
break;
}
sum += number; // sum = sum + number;
}
printf("Sum = %.2lf", sum);
return 0;
}
输出
Enter n1: 2.4
Enter n2: 4.5
Enter n3: 3.4
Enter n4: -3
Sum = 10.30
程序最多计算 10 个数字的总和。如果用户输入负数,则执行 break
语句结束 for
循环。
在 C 中, break
也与 switch
语句一起使用。这将在下一个教程中讨论。
continue 语句
continue
语句跳过循环的当前迭代并继续下一次迭代。它的语法是:
continue;
continue
语句几乎总是与 if...else
语句一起使用。
continue 语句工作原理
示例 2:continue 语句
#include <stdio.h>
int main() {
int i;
double number, sum = 0.0;
for (i = 1; i <= 10; ++i) {
printf("Enter a n%d: ", i);
scanf("%lf", &number);
if (number < 0.0) {
continue;
}
sum += number; // sum = sum + number;
}
printf("Sum = %.2lf", sum);
return 0;
}
输出
Enter n1: 1.1
Enter n2: 2.2
Enter n3: 5.5
Enter n4: 4.4
Enter n5: -3.4
Enter n6: -45.5
Enter n7: 34.5
Enter n8: -4.2
Enter n9: -1000
Enter n10: 12
Sum = 59.70
在这个程序中,用户输入的负数不参与求和运算,只有非负数才参与求和运算。
if (number < 0.0) {
continue;
}
当用户输入负数时,执行 continue
语句跳过当前循环迭代,进入下一次迭代。