首页 理论教育 C51单片机高效入门:for语句的使用技巧

C51单片机高效入门:for语句的使用技巧

时间:2023-11-17 理论教育 版权反馈
【摘要】:在C语言中,for语句使用最为灵活,它完全可以取代while语句。在明确循环次数的情况下,for语句比以上说的循环语句都要方便简单。5)循环结束,执行for语句下面的一个语句。例如:相当于:while5)for语句中的3个表达式全部省略不写。

C51单片机高效入门:for语句的使用技巧

在C语言中,for语句使用最为灵活,它完全可以取代while语句。在明确循环次数的情况下,for语句比以上说的循环语句都要方便简单。它的一般形式为

978-7-111-30335-0-Chapter04-44.jpg

它的执行过程如下:

1)先求解初值设定表达式。

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

3)条件更新表达式。

4)转回上面第2)步继续执行。

5)循环结束,执行for语句下面的一个语句。

其执行过程如图4-9所示。

for语句最简单的应用形式也是最容易理解的形式如下

978-7-111-30335-0-Chapter04-45.jpg

978-7-111-30335-0-Chapter04-46.jpg

图4-9 for语句的执行过程

初值设定表达式总会是一个赋值语句,用来给循环变量赋初值;循环条件表达式是一个关系表达式,由它决定什么条件下执行循环,什么时候退出循环;条件更新表达式,循环变量每循环一次后,都会进行相应的自增或自减运算。这三个部分之间用“;”隔开。

例如:

for(i=1;i<=50;i++)sum=sum+i;

先给变量i赋初值1,判断i是否小于或等于50,如果为真,则执行语句“sum=sum+i”,然后i自增1。然后再重新判断,直到条件为假,即i>50时,循环结束。

相当while语句:

978-7-111-30335-0-Chapter04-47.jpg

如果将for循环语句的表现形式转换成while语句形式,则如下所示:

978-7-111-30335-0-Chapter04-48.jpg

注意:

1)省略了“初值设定表达式”,表示不对循环变量赋初值。

2)省略了“循环条件表达式”,如程序中不做相应的处理,则将变成为死循环。

例如:

for(j=1;;j++)sum=sum+j;(www.xing528.com)

相当于:

978-7-111-30335-0-Chapter04-49.jpg

3)如果不写“条件更新表达式”,则不对循环变量进行操作,这时可在语句体中加入修改循环变量的语句。

例如:

978-7-111-30335-0-Chapter04-50.jpg

4)如果不写“初值设定表达式”和“条件更新表达式”。

例如:

978-7-111-30335-0-Chapter04-51.jpg

相当于:

while(j<=100)

978-7-111-30335-0-Chapter04-52.jpg

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】

978-7-111-30335-0-Chapter04-53.jpg

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

我要反馈