在c语言中,continue和break是两种常用的控制语句。它们都用于控制程序的执行流程,但是它们的作用不同。
continue语句
continue是继续的意思,在循环中的作用是跳过本次循环中continue后边的代码,继续进行下一次循环的判断。
continue举例
while循环中continue
#include <stdio.h>
int main()
{
int i=1;
while(i<=10)
{
if(i==5)
continue;
//当i=5时,就执行continue,直接跳过continue代码,去循环判断的地方
//因为这里跳过了i=i+1.所以i一直为5,程序陷入死循环
printf("%d ",i);
i=i+1;
}
return 0;
}
到这⾥我们就能分析出来, continue 可以帮助我们跳过某⼀次循环 continue 后边的代码,直接到循环的判断部分,进⾏下⼀次循环的判断,如果循环的调整是在 continue 后边的话,可能会造成
死循环。
for循环中continue
#include <stdio.h>
int main()
{
int i=1;
for(i=1;i<=10;i++)
{
if(i==5)
continue;//这⾥continue跳过了后边的打印,来到了i++的调整部分
printf("%d ", i);
}
return 0;
}
所以在for循环中continue的作用是跳过本次循环中continue后的代码,直接去到循环的调整部分。未来当某个条件发生时,本次循环无需再执行后续某些操作时,就可以用continue来实现。
在这里我们对比一下while循环和for循环中continue的区别
break语句
- 如果用于循环则终止循环
- 用于Switch,则终止Switch
- 不能直接用于if,除非if属于内部循环的字句
while中的break
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
if(i == 5)
break;//当i等于5后,就执⾏break,循环就终⽌了
printf("%d ", i);
i = i+1;
}
return 0;
}
执行结果:1 2 3 4
打印了1,2,3,4后,当i等于5的时候,循环正 break 的地⽅终⽌,不再打印,不再循环。所以 break 的作⽤就是永久的终⽌循环,只要 break 被执⾏, break 外的第⼀层循环就终⽌了。
那以后我们在循环中,想在某种条件下终⽌循环,则可以使⽤ break 来完成我们想要的效果。
for中break
其实和 while 循环中的 break ⼀样, for 循环中的 break 也是⽤于终⽌循环的,不管循环还需要循环多少次,只要执⾏到了 break ,循环就彻底终⽌,我们上代码。
#include <stdio.h>
int main()
{
int i = 1;
for(i=1; i<=10; i++)
{
if(i == 5)
break;
printf("%d ", i);
}
return 0;
}
执行结果:1 2 3 4
break 的作⽤是永久的终⽌循环,未来我们在某个条件发⽣的时候,不想再继续循环的时候,就可以使⽤ break 来完成。
多层循环
#include <stdio.h>
int main()
{
int i = 1;
int j;
for(i=1; i<=10; i++)
{
for(j=1;j<i;j++)
{
break;//只能中止最近的循环
printf("hehe");
}
}
return 0;
}
同理:多个Switch嵌套也只能中止最近的Switch