C语言总共有顺序、分支、循环三种语句,while语句与for语句均属于循环语句里面,这两种语句有相似之处也有不同的地方,这次讲的是continue与break这两种结束方式在while循环语句与for循环语句中不同作用的相同情况。
首先说一下continue在while循环与for循环中的作用。在这两种循环语句中continue的作用是一样的——都是跳过本次循环。即从碰到continue之后便跳过本次循环continue之后的所有代码,重新回到循环的判断部分,重新开始下一次循环的入口判断(可以理解为手动跳过该回合,就算还有单位可以运动与使用也直接开始下一个回合)。
相较于continue在while循环语句与for循环语句中的跳过作用,break则显得更为干脆果断。break在两个循环中的作用都是永久终止该循环。在while循环语句与for循环语句中,只要碰到break则直接永久性终止该循环,不管该循环在break后面还有没有代码都不再运行,强制性停止该循环的运行(可以类比成强制关机,不管是否有程序运行都强行关闭)。
#include<stdio.h>
int main()
{
//试验1
int a=1;
while(a<5)
{
if(a==3)
{
continue;
}
printf("a=%d\t",a);
a++;
}
return 0;
}
#include<stdio.h>
int main()
{
//试验2
int b = 1;
for (; b < 5; b++)
{
if (b == 3)
{
continue;
}
printf("b=%d\t", b);
}
return 0;
}
#include<stdio.h>
int main()
{
//试验3
int c = 1, e = 0;
while (c < 5)
{
if (c == 3)
{
break;
}
printf("c=%d\t", c);
c++;
e++;
printf("e=%d\n", e);
}
return 0;
}
#include<stdio.h>
int main()
{
//试验4
int d = 1, f = 0;
for (; d < 5; d++)
{
if (d == 3)
{
break;
}
printf("d=%d\t", d);
f++;
printf("f=%d\n", f);
}
return 0;
}
上面程序中的四个试验就很好的证明了以上观点,试验1的输出结果为“a=1 a=2”;试验2的输出结果为“b=1 b=2 b=4”;试验3的输出结果为“c=1 e=1 c=2 e=2”:试验4的输出结果为“d=1 f=1 d=2 f=2”。