Break语句与continue语句的区别
while循环、do-while循环和for循环中,可以用break语句跳出循环,用continue语句结束本次循环,而对用goto语句和if语句构成的循环,不能用break语句和continue语句进行控制。
一、 break语句
(1) break语句的作用
A、在分支结构程序设计中用break语句可以使流程跳出switch结构,继续执行switch语句下面的一个语句。
B、break语句还可以用来从循环体内中途跳出循环体,即提前结束循环,接着执行循环下面的语句。
如:
while(表达式1)
{
语句组1
if(表达式2) break;
语句组2
}
(2)break语句使用应该注意的问题
在循环语句中,break语句一般都是与if语句一起使用。
break语句不能用于循环语句和switch语句之外的任何其它语句中。
(3)程序举例
例7.1:计算半径r=1到r=10时的圆面积,直到面积area大于100为止。(补充例题)。
程序如下:
#include <stdio.h>
#define PI 3.14159
int main(void)
{
float r,area;
for( r=1; r<=10; r++ )
{
area=PI*r*r ;
if (area>100) break;
printf(”%f”,area);
}
return 0;
}
从上面的for循环可以看到当area>100时,执行break语句,提前终止执行循环,即不再继续执行其余的几次循环。
二、continue语句
(1)continue语句的作用
continue语句是跳过循环体中剩余的语句而强制执行下一次循环。其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
如:
while(表达式1)
{
语句组1
if(表达式2) continue;
语句组2
}
(2)continue语句使用应该注意的问题
continue语句只能用在循环语句中。一般都是与if语句一起使用。
(3)程序举例
例7.2:把100~200之间的不能被3整除的数输出。(P115例6.5)。
程序如下:
#define <stdio.h>
int main(void)
{
int n;
for( n=100 ; n<=200 ; n++)
{
if (n%3==0) continue;
printf(“%5d”,n);
}
return 0;
}
当n能被3整除时,才执行continue语句,结束本次循环,只有n不能被3整除时才执行printf函数。
上述程序中的循环体也可以改用如下语句处理:
if (n%3!=0) printf(“%5d”,n);
使用continue 语句,只是为了说明continue 语句的作用
continue语句和break语句的区别是:continue语句只结束本次循环,而不是终止整个循环的执行,而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
如果有以下两个循环结构:
(1) while ( 表达式1) (2) while ( 表达式1)
{ ……………… { ……………
if (表达式2) break; if(表达式2) continue;
……………… ……………
} }
注意他们的区别。