break语句、continue语句都是C语言标准规定的跳转类语句,能够实现程序无条件转向另一处执行。
break和continue中在循环体中经常出现,因此必须掌握其区别,避免出错。
先复习下两种语句的用法:
break语句可以在开关体(switch语句)或循环体内(while,do…while,for)出现,总结起来用以下四种情况,实现跳出当前switch语句或循环体语句,跳转到开关体或循环体外执行下一条语句功能。
while(....)
{
...
break;
...
}
do{
...
break;
...
}while(...);
for(...){
...
break;
...
}
switch(...){
case ...
break;
....
}
continue语句只能在循环体内(while,do…while,for)出现,有以下三种情况,实现结束循环体内当前的一次循环执行过程,跳转到循环体开头重新执行下一次循环过程。
while(....)
{
...
continue;
...
}
do{
...
continue;
...
}while(...);
for(...){
...
continue;
...
}
仔细理解上述用法,发现区别挺大。
1.break可以用在开关体switch语句中,continue语句不行;
2.两者用在循环语句中时,break是用来结束整个循环过程,continue仅仅是结束本次循环执行,继续执行下一次循环。
例如一个循环本来要执行100次,当执行10次时,因为循环条件不符合出现break语句时,将提前结束执行循环,剩下的99次不会再执行;
如果是continue语句,只会当前第10次循环后面代码不再执行,跳到循环开头,继续执行后面剩余的90次循环。
示例代码1:
#include <stdio.h>
int main(void)
{
int i;
int count = 0;
for(i=1; i<=100; i++)
{
if(i==10)
break;
count++;
}
printf("循环完成执行%d次.\n", count);
return 0;
}
输出结果:
循环完成执行9次.
示例代码2:
#include <stdio.h>
int main(void)
{
int i;
int count = 0;
for(i=1; i<=100; i++)
{
if(i==10)
continue;
count++;
}
printf("循环完成执行%d次.\n", count);
return 0;
}
输出结果:
循环完成执行99次.
其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C/C++基础交流583650410,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。