一般而言,程序进入循环后 在下一次循环测试之间会执行完循环体的所以语句。continue和break 语句可以根据循环体中测试结果来忽略一部分循环内容,甚至结束循环。
continue 语句
三种循环都可以使用continue语句。执行到该语句时,会跳过本次迭代(即循环)的剩余部分,并开始下一轮迭代。如果continue 语句在嵌套循环内,则只会影响包含该语句的内层循环。
语法
C 语言中 continue 语句的语法:
continue;
流程图
实例
#include <stdio.h> int main () { /* 局部变量定义 */ int a = 10; /* do 循环执行 */ do { if( a == 15) { /* 跳过迭代 */ a = a + 1; continue; } printf("a 的值: %d\n", a); a++; }while( a < 20 ); return 0; }
当上面的代码被编译和执行时,它会产生下列结果:
a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19
break语句
C 语言中 break 语句有以下两种用法:
当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
它可用于终止 switch 语句中的一个 case。
语法
C 语言中 break 语句的语法:
break;
流程图
实例
#include <stdio.h> int main () { /* 局部变量定义 */ int a = 10; /* while 循环执行 */ while( a < 20 ) { printf("a 的值: %d\n", a); a++; if( a > 15) { /* 使用 break 语句终止循环 */ break; } } return 0; }
当上面的代码被编译和执行时,它会产生下列结果:
a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15