break和continue语句
break和continue语句
1、break语句可以从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句。
一般形式:break;
break不能用于循环语句和switch语句之外的任何其他语句中。
注意:(1)break语句对if-else的条件语句不起作用。
(2)在多层循环中,一个break语句就向外跳一层。
例:
#include<stdio.h> void main() { int r; double pi=3.14159,area; for(r=1;r<=10;r++) { area=pi*r*r; if(area>100) { break; } printf("r=%d,area=%f\n",r,area); } }
程序的作用是计算r=1到r=10的圆的面积,直到面积area大于100为止。从上面的for循环可以看到:当area>100时,执行break语句,提前结束循环,即不再继续执行其余的几次循环。
例:
#include<conio.h> #include<stdio.h> void main() { int i; char c; i=1; while(1)/*设置循环*/ { c='\0';/*变量赋初值*/ while(c!=13&&c!=27)/*键盘接受字符直到按回车或Esc键*/ { c=getch(); printf("%c\n",c); } if(c==27) break;/*判断若为Esc键则退出循环*/ i++; printf("The No. is %d\n",i); } printf("The end"); }
2、continue语句
作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判断。
一般形式:continue;
区别:(1)continue语句只结束本次循环,而不是终止整个循环的执行。
(2)break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
例:显示输入的字符,如果按的是Esc键,则退出循环;如果是enter键,则不做任何处理,继续输入下一个字符。
#include<conio.h> void main() { char ch; for( ; ; ) { ch=getch(); if(ch==27) break; if(ch==13) continue; putch(ch); } getch(); }