从单片机基础到程序框架(全集 2019pdf版) - 第205页

第四十九节: 循环语句 do while 和 for。 【49.1 do while 语句的常见格式。 】 格式如下: do { 语句 1; 语句 2; …… 语句 N; } while(条件 ); 上述代码 , 单片 机从上往下执 行语句, 先从 do 那里无条件进来 , 从 “语句 1” 开始往下执行, 一直执行 到 “语句 N” , 才开始判断 w hile(条件) 的条件是否 为真, 如果为真继 续返回到 d o 的入口处, 继…

100%1 / 836
二进制:110
分析:
变量 a 3。a 初始化为 0,进入循环体内后,a 每次加 1,循环加 3 次,因此从 0 变成 3。
变量 b 6。b 初始化为 0,进入循环体内后,b 每次加 2,循环加 3 次,因此从 0 变成 6。
【48.6 如何在单片机上练习本章节 C 语言程序?】
直接复制前面章节中第十一节的模板程序,练习代码时只需要更改C 语言学习区域”代码就可以了,
其它部分的代码不要动。编译后,把程序下载进带串口 51 习板,通过电脑端的串口助手软件就可以观
察到不同的变量数值,详细方法请看第十一节内容。
第四十九节: 循环语句 do while for。
【49.1 do while 语句的常见格式。
格式如下:
do
{
语句 1;
语句 2;
……
语句 N;
} while(条件);
上述代码单片机从上往下执行语句,先从 do 那里无条件进来“语句 1”开始往下执行,一直执行
“语句 N”才开始判断 while(条件)的条件是否为真,如果为真继续返回到 do 的入口处,继续从语句 1”
开始往下执行,依次循环。大家留意到了吗,do while while 语句有什么差别?差别是,do while 是先
无条件进来执行一次循环(花括号里所有的程序代码)执行到循环体最底部才判 while(条件)的条件是
否为真来决定是否继续循环,先上车再买票。 while 语句是先判断条件是否为真再决定是否需要进入循环
体,先买票再上车。
【49.2 for 语句的简介。
for 句也是循环语句,任 for 语句能实现的功能都可以用 while 语句来实现同样的功能,for 语句
while 语句有什么差别呢?for 语句把变量初始化,变量的条件判断,变量在执行循环体后的步进变化这
三个常见要素集成在语句内部,以标准的格式书写出来。在很多场合下,for 在书写和表达方面比 while
句显得更加简洁和直观。
【49.3 for 语句的自加格式。
格式如下:
for(变量的初始化语句; 变量的条件判断;变量在执行一次循环体后自加的步进变化)
{
语句 1;
语句 2;
……
语句 N;
}
在把上述变成更具体的代码例程如下:
for(i=0; i<3;i++)
{
语句 1;
语句 2;
……
语句 N;
}
上述代码,单片机从上往下,在进入循环体前,先把变量 i 初始化赋值 0(这行初始化代码在整个循环
期间只被执 1 次)然后判断 i 是否小于 3 这个条件,如果此条件为真,就开始正式进入循环体,从“语
1”往下执行到“语句 N,执行完一次循环体后i 就自 1(因为“i++”语句),此 i 从原来初始化
0 变成了 1,接着再返回来到 for 语句的条件判断”i<3”那里判断 i 否继续满“小于 3”个条件
如果此条件为真就继续往下执行,否则就跳过循环体结束当前循环。上述 for 语句实现的功能如果用 while
语句来写,等效于以下代码:
i=0; //进入循环体之前先初始化给予初值
while(i<3)
{
语句 1;
语句 2;
……
语句 N;
i++; //执行一次循环体之后此变量自加发生变化
}
上述的 while 循环语句只执行了 3 次循环体。
【49.4 for 语句的自减格式。
刚才讲的 for(i=0; i<3;i++)这种格式,它的变量 i 是不断自加的。还有一种比较常见的格式 i 不断
自减的,它的格式如下:
for(i=3; i>0;i--)
{
语句 1;
语句 2;
……
语句 N;
}
上述自减的 for 语句功能如果用 while 语句来写,等效于以下代码:
i=3; //进入循环体之前先初始化给予初
while(i>0)
{
语句 1;
语句 2;
……
语句 N;
i--; //执行一次循环体之后此变量自减发生变化
}