C语言有三种循环结构:while 、for、do while
while 循环是一个入口条件循环,所以程序必须在进入循环体之前进行条件判断,看是否能执行循环体。
例如下面的程序片段:
int a=1;
while(a<5)
printf("%d",a);
因为a=1,满足小于5的条件,所以循环体的程序能执行。
while 的一般形式是:
while(表达式)
循环体;
循环体可以是一个简单的语句,也可以是用花括号{}的一个复合语句。
如果表达式为真,那么就执行循环体一次,然后再判断表达式的值。若表达式为假,结束循环。
for循环也是一个入口条件循环,它的一般形式为:
for(定义表达式1;判断条件表达式2;表达式3)
循环体;
例如:
for(int n=0;n<5;n++)
printf("%d",n);
for 语句由分号分开的三个表达式来控制循环。第一个表达式1,进行了初始化,在for循环开始的时候执行一次。第二个表达式是进行了条件判断,若表达式2为真,执行循环,若为假,结束循环。第三个表达式进行改变或称为更新,它在每次循坏结束时进行计算。
for语句里的分号不可省略,表达式1和表达式3可以是空语句,但判断条件表达式2一定要有。
例如: int n=1;
for(;n<5;)
printf("%d",n*n);
do while 循环是一个退出条件循环,它的一般形式是:
do
循环体;
while(判断表达式);
例如:
do
printf("%d %d",n,n*n);
while(n<10);
do while 语句至少被执行一次,因为循环体被执行一次后才进行的条件判断。然后再根据判断条件决定是否要再进行循环。若判断表达式为真,则继续循环,否则结束循环。
当程序需要循环的时候,一定要确定是需要入口条件循环还是退出条件循环,根据实际情况决定使用while 、for还是do while 。