首页 理论教育 AVR单片机C语言for语句用法详解

AVR单片机C语言for语句用法详解

时间:2023-11-20 理论教育 版权反馈
【摘要】:C语言中的for语句使用非常灵活,它可以完全替代其他循环语句,不仅可以用于循环次数已定的情况下,而且在次数不定的情况下也可以使用。图5-11 for语句执行过程3)条件更新表达式。例如:for{sum=sum+j;j++;}相当于:while{sum=sum+j;j++;}4)for语句中的3个表达式可以全部省略不写。

AVR单片机C语言for语句用法详解

C语言中的for语句使用非常灵活,它可以完全替代其他循环语句,不仅可以用于循环次数已定的情况下,而且在次数不定的情况下也可以使用。

它的一般形式为:

for(初值设定表达式;循环条件表达式;条件更新表达式)语句

它的执行过程如下:

1)先执行初值设定表达式。

2)然后求循环条件表达式的值,若它的值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3步;若值为假(0),则结束循环,转到第5步。

978-7-111-36320-0-Chapter05-35.jpg

图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语句:

978-7-111-36320-0-Chapter05-36.jpg

对于使用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)“循环条件表达式”一般使用关系表达式或逻辑表达式,但也可是数值或字符的表达式,只要其最终的值为非零,即逻辑“真”,那么就执行循环体。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈