C语言中的for语句使用非常灵活,它可以完全替代其他循环语句,不仅可以用于循环次数已定的情况下,而且在次数不定的情况下也可以使用。
它的一般形式为:
for(初值设定表达式;循环条件表达式;条件更新表达式)语句
它的执行过程如下:
1)先执行初值设定表达式。
2)然后求循环条件表达式的值,若它的值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3步;若值为假(0),则结束循环,转到第5步。
图5-11 for语句执行过程
3)条件更新表达式。这个表达式是用来改变循环条件的,也是循环次数的控制。
4)转回上面第2步继续执行。
5)循环结束,执行for语句下面的语句。
该过程也可以用图5-11来表示。
例如:
for(i=1;i<=100;i++)sum=sum+i;
这段for语句实现了1~100的累加。先给变量i赋初值1,判断i是否小于或等于100,如果为真,则执行语句“sum=sum+i”,然后i自增1。然后再重新判断,直到条件为假,即i>100时,循环结束。
相当于while语句:
对于使用for语句,要注意以下几点:
1)省略了“循环条件表达式”,如程序中不做相应的处理,则将变成为死循环。
例如:for(j=1;;j++)sum=sum+j;
2)如果不写“条件更新表达式”,则不对循环变量进行操作,这时可在语句体中加入修改循环变量的语句。
例如:
for(j=1;j<=100;)
{
sum=sum+j;(www.xing528.com)
j++;
}
3)不写“初值设定表达式”和“条件更新表达式”。
例如:
for(;j<=100;)
{sum=sum+j;
j++;}
相当于:
while(j<=100)
{sum=sum+j;
j++;}
4)for语句中的3个表达式可以全部省略不写。
例如:
for(;;)语句
相当于:
while(1)语句
即条件永远为真,形成死循环。
5)“初值设定表达式”可以是设置循环变量初值的表达式,也可以是其他表达式。
6)“初值设定表达式”和“条件更新表达式”可以是一个简单的表达式,也可以是好几个表达式,它们之间用逗号分隔。
例如:
for(j=0,i=1;i<=50;i++)j=j+i;
或者
for(i=0,j=100;i<=50;i++,j--)k=i+j;
7)“循环条件表达式”一般使用关系表达式或逻辑表达式,但也可是数值或字符的表达式,只要其最终的值为非零,即逻辑“真”,那么就执行循环体。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。