必须知道的C语言知识细节:break、continue语句区别

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,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。



©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。