1、 While 语句实现循环
While (表达式)语句:
其中的“语句”就是循环体。循环体只能是一个语句,可以是一个简单的语句,还可以是复合语句(用花括号包起来的若干语句)。执行循环体的次数是由循环条件控制的,这个循环条件就是上面一般形式的中的“表达式”,它也称为循环条件表达式。档次表达式的值为“真”(以非0值表示)时,就执行循环体语句,为“假”(以0表示)时,就不执行循环体语句。
例如,“i<=50”是一个循环条件表达式,它是一个关系表达式。它的值只能是“真”或“假”。在执行while与居室,先检查循环条件表达式的值,当为非0值时,就执行while语句中的循环体语句,当表达式为0时,不执行循环体语句。
While语句可简单的记为:只要当循环体表达式为真(即给定条件成立),就执行循环体语句。
2、 do…while语句实现循环
除了while语句以外,C语言还提供了do…while语句来实现循化结构。
如:
<span style="font-size:14px;">int i=1;
do
{
printf(“%d”,i++);
}
while(i<=100)
</span>
do…while语句的执行过程是:先执行循环体,然后再检查条件是否成立,若成立,再执行循环体。这是和while语句的不同。
do…while语句的特点是:现无条件的执行循环体,然后判断循环条件是否成立。
do…while语句的一般形式为:
do
语句
while(表达式);
其中的“语句就是循环体”。
先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非零时,返回重新执行循环体语句,如此反复,直到表达式的值等于“0”为止,此时循环结束。
例:
用do…while语句求1+2+3+…+100
#include <stdio.h>
Int main ()
{
int i =1 ,sumu =0;
do
{
sum=sum+i;
i++;
}while (i<=100);
printf(“sum=%d”,sum);
return 0;
}
3、 for语句实现循环
除了可以用while语句和do…while语句实现循环外,C语言还提供for语句实现循环,而且for语句更为灵活,不仅可以用于循环次数已经确定的情况,还可以用于循环次数不确定而只给出循环结束条件的情况,他完全可以代替while语句。
例如:
<span style="font-size:14px;">for (i=1;i<=100;i++) //控制循环次数,共循环100次
{
printf(“%d,i”) //执行循环体,输出i当前的值
}
</span>
for语句的一般形式为
for(表达式1,表达式2,表达式3)
语句
3个表达式的主要作用是:
表达式1:设置初始条件,只执行一次,可以为零个、一个或多个变量设置初值。
表达式2:是循环条件的表达式,用来判定是否继续循环。在每次执行循环体前先执行此表达式,决定是否继续执行循环。
表达式3:作为循环的调整,例如循环变量增值,它是在执行完循环体之后才进行的。
这样,for语句就可以理解为
for(循环变量初始值,循环条件,循环变量增值)
4、 循环的嵌套
一个循环体内包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环,各种语言中关于循环的嵌套的概念都是一样的。
3种循环(while循环,do…while循环,for循环)可以互相嵌套。
5、 几种循环的比较
1、三种循环都可以来用处理同一问题,一般情况下他们可以互相代替。
2、在while循环和do…while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句。
for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强大,凡用while循环能完成的,用for循环都能实现。
3、用while和do…while循环时,循环变量初始化的操作应在while和do…while循环语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。
6、break 和 continue
break和continue语句都可以用在循环中,用来跳出循环(结束循环);break语句还可以用在 switch语句中,用来跳出switch语句。
break语句
break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出 switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。
注意:
// if(表达式)else{...... break;......}
1)break语句对if-else的条件语句不起作用;
2)在多层循环中,一个break语句只向外跳一层。
continue 语句(结束本次循环,继续下次循环)
continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。
continue语句只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。
对比break和continue
continue语句只结束本次循环,而不是终止整个循环的执行。而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
break的用法:
while(表达式1){
......
if(表达式2) break;
......
}
continue的用法:
while(表达式1){
......
if(表达式2) continue;
用continue语句提前结束本次循环
#include <stdio.h>
int main ()
{
int n ;
for(n = 100 ; n<=200;n++)
{
if(n%3==0)
continue ;
printf("%d",n);
}
printf("\n");
return 0 ;
}