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