break
语句和
continue
语句的用法和区别
1. break
语句
在switch语句中使流程跳出switch结构。在循环语句中使流程跳出当前循环。
例1:跳出switch结构
char ch;
scanf(“%c”,&ch);
switch(ch)
{
case ‘a’:
printf(“A”);
break;//用一个break可以跳出switch,
case ‘b’://不再执行后面的语句
………….
}
例2:跳出循环
int i;
int j = 55;
for(i = 0; i < 100; i++)
{
if(i > j)
break;//这时用一个break可以跳出for循环;
}
j = i;
在循环结构中使用break语句,如果执行了break语句,那么就退出循环,接着执行循环结构下面的第一条语句。如果在多重嵌套循环中使用break语句,当执行break语句的时候,退出的是它所在的循环结构,对外层循环没有任何影响。
如果循环结构里有switch语句,并且在switch语句中使用了break语句,当执行switch语句中的break语句时,仅退出switch语句,不会退出外面的循环结构。
2. continue
语句
continue语句的功能是在循环语句中使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次是否执行循环的判断。
例:
main()
{ int i;
for (i=100;i<=200;i++)
{ if (i%3== 0)
continue;//此处使用一个continue,跳过所有i%3==0的i,
printf(“%d,”,i);//之后打印其他的i;
}
}
Continue语句在while语句和for语句中的区别
在for语句中,continue语句跳过循环体的剩余部分,直接回到调整部分;(for(语句1;语句2;语句3),语句3即为调整部分)
在while语句中,调整部分是循环体的一部分,所以continue将会跳过它。
3. continue
语句和
break
语句的区别
break是结束整个循环体,continue是结束单次循环
例:
int i = 0;
while(i < 10)
{
If(i ==2)
{
continue;
}
i++;
}
printf(“%d\n”,i);
此时输出的结果是1,3,4,5,6,7,8,9,10,仅仅是跳过了2,其他照常输出;
int i = 0;
{
while(i < 10)
{
if(i == 2)
{
break;
}
i++;
}
}
printf(“%d\n”,i);
此时只输出1,可见输出1后直接全部跳出了,后面的不再执行。