文章目录
一. break 语句和continue 语句
break 语句作用
break 语句用在循环语句和 switch语句中
- 用在循环语句中时:可使程序终止循环而转去执行循环语句的后继语句,一个break语句只能跳出一个循环(不是一次循环,是一层循环);通常break语句总是与if语句一起配合使用,即满足条件时便跳出本层循环
- 用在switch语句中时:见下
continue 语句作用
continue 语句只能用在循环语句中
- 跳过循环体中continue后面的语句
- 常与if语句一起使用,即满足条件时跳出本次循环
具体解释
1. 在 for 循环中
for(表达式1;表达式2;表达式3)
{
循环体语句;
}
在执行循环体语句时:
- 遇到break:跳出for循环,执行该for循环的下一条语句
- 遇到continue:跳到表达式3
2. 在 while 循环中
在执行循环体语句时:
- 遇到break:跳出while循环,执行该while循环的下一条语句
- 遇到continue:跳到表达式
3. 在 do…while 循环中
在执行循环体语句时:
- 遇到break:跳出do-while循环,执行该while循环的下一条语句
- 遇到continue:跳到表达式
4. 在 swtich 语句中 break 语句的作用
在执行switch语句时:
- 遇到break:跳出switch语句,执行该switch语句的下一条语句
二. break 语句和continue 语句区别对比
以for循环为例,先看代码
break语句:
扫描二维码关注公众号,回复:
17066895 查看本文章
#include<stdio.h>
int main()
{
int i, sum = 0;
for (i = 1; i < 4; i++)
{
if (i < 2)
{
sum = sum + 1;
printf("%d\n", sum);
}
if (i ==2)
break;
if (i == 3)
printf("3");
}
return 0;
}
结果为:
1
continue语句:
#include<stdio.h>
int main()
{
int i, sum = 0;
for (i = 1; i < 4; i++)
{
if (i < 2)
{
sum = sum + 1;
printf("%d\n", sum);
}
if (i ==2)
continue;
if (i == 3)
printf("3");
}
return 0;
}
结果为:
1
3
监控调试:
-
break :
从上图中可以看到当i=2时,执行break语句,然后直接跳出了循环,开始执行return 0;语句,代码运行结束。这里的3并没有被打印。 -
continue:
从上图中可以看到当i=2时,执行continue语句,然后跳到了for循环的表达式3,即i++(可以看到此时执行完for循环后i由2变成了3),然后继续正常执行后面的代码。这里的3打印了。
三. goto 语句
goto 语句标号;
- 语句标号是一个有效的标识符,使用时在语句标号的后面跟一个冒号“:”出现在函数中某语句的前面。程序执行到goto语句时,会控制跳转到该语句标号处,达到控制循环的目的。
- 例如:
#include<stdio.h>
int main()
{
int i=1;
int sum=0;
loop:if(i<=100)//loop 为跳转语句的语句标号
{
sum=sum+i;
i++;
goto loop;//跳转到语句标号loop处继续执行
}
printf("sum=%d\n",sum);
return 0;
}