循环语句
一、for循环
for(表达式1;表达式2;表达式3)//注意用分号(;)而不是逗号
{
循环体语句…
}
表达式1:变量赋值,只执行一次
表达式2:循环条件,一般为关系表达式和逻辑表达式,为真怎进入循环,为假结束
表达式3:循环变量变化区,通常用来修改控制变量的值,循环体语句执行完,就会执行语句3,再执行表达式2,构成循环
for 语句的表达式1,表达式2和表达式3都可以按照需要进行省略,但分号不能省,其中可以是包括但不限以下的任何一种形式
for ( ; 表达式2; 表达式3)
for (表达式1; 表达式2; )
for (表达式1; ; )
for ( ; ; )
其中需要注意的是最后一个表达式,他实际上代表的是一个死循环。在程序中有死循环的存在并不代表着程序一定出现了错误,因为有的情境下需要死循环,如一个服务不停地向用户发送一个请求之类的。
for语句实例:求sum=1+2+3+…99+100
#include <stdio.h>
int main()
{
int i,sum=0;
for(i=1;i<=100;i++)//(语句1;语句2;语句3)
{
sum=sum+i;//循环体语句
}
printf("sum的值为:%d",sum);
return 0;
}
二、while循环
while(表达式)
{
循环体语句;
}
while语句执行的时候,只要满足表达式条件,循环就会一直进行下去,直到条件不满足,跳出循环.
while语句实例:求sum=1+2+3+…99+100
#include<stdio.h>
int main()
{
int i=1,sum=0;
while(i<=100)
{
sum=sum+i;
i++;
}
printf("%d",sum);
return 0;
}
三、do while循环
do
{
循环体语句;
}
while(表达式);
执行循环体语句,当循坏条件成立时,继续执行循环体语句;当循环条件不成立时,循环结束。因此,也成为直到型循环。
do…while循环语句中,在while括号后,要加分号(;),否则会出现报错。
do while语句实例:求sum=1+2+3+…99+100
#include<stdio.h>
int main()
{
int i=1,sum=0;
do
{
sum=sum+i;
i++;
}
while(i<=100);
printf("%d",sum);
}
总结
同:①3种循环都可以用来处理同一问题,一般情况下它们可以互相代替。
②while循环、do……while循环和for循环都可以用break语句跳出循环,用 continue语句结束本次循环。 异:用while和do……while循环时,循环变量初始化的操作应在while和do……while语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。
for(表达式1;表达式2;表达式3)
注:在while循环和do……while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句(如i++或i=i+1等)。
for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中.因此for语句的功能更强,凡是用while循环能完成的,用for循环都能实现。所以for循环在实际操作中应用的更多。