在while语句中,有着和if语句共有的存在,break和continue。他们在while语句中又扮演着什么样的角色?
1.break
break的作用是用于终止循环的,在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后,当i等于5的时候,循环于break的地方终止,不再打印,不在循环。
所以break的作用就是永久的终止循环,只要break被执行,break外的第一层循环就终止了。
那以后我们在循环中, 想在某种条件下终止循环,那我们就可以使用break来完成我们想要的效果。
2.continue
continue是继续的意思,在循环中的作用就是跳过本次循环中continue后边的代码,继续执行下一次循环的判断。
上面的代码,如果把break换成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;
}
练习:连续输入字符,只打印数字字符,其他字符直接跳过,不做处理。
参考代码:
#include <stdio.h>
int main()
{
int ch=0;
while((ch=getchar())!=EOF)
{
if(ch<'0'||ch>'9')
continue;
putchar(ch);//putchar,接受单个字符
}
return 0;
}
上述的代码中,Ascall码值不在'0', '9'范围内的,使用continue跳过后续的putchar语句,不再打印。学到这里我们也就理解了continue可以帮助我们跳过某一次循环后面的代码,直接到循环判断的部分,进行下一次循环的判断。
所以未来我们在循环中,当某个条件发生的时候,本次循环就无需再执行某些操作的时候,我们就可以使用continue来实现。
对Ascall码值感兴趣的朋友,可以自己在网上了解
完
标签:ch,int,break,while,continue,循环 From: https://blog.csdn.net/wangjing_0522/article/details/142218017