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

if(i>=3) / /当 i 等于 3 的时候,开 始“拦截 ”continue 后面 的代码。 { continue ; //提前结束本 次循环,准备 进入下一次 循环 } b=b+1; //被执 行了 3 次,分别是 第 0,1,2 次 } //i<6 的条件判断 是在进 入循环体之前 判断,而 i 的自 加 1 是在执行完 一次循环体之 后才自 加的。 for(i=0; i<6;i++) { c=c+1; //…

100%1 / 836
语句 1;
语句 2;
while(…)
{
语句 3;
break;
语句 4;
}
语句 5;
}
语句 6;
分析:上述例子中 while 循环里面有藏着第二个 while 循环,像这种循环之中还有循环的情况,
常称为循环嵌套。单片机从上往下执行,当遇 break 后,它会跳到“语句 5”那里呢,还是会跳到“语句
6”那里?正确答案是“语句 5”那里,这说明了 break 语句的“有效射程”仅仅刚好能跳出当前的循环体
也就是说,在上述循环嵌套的例子中,最内层的 break 只能跳出最内层的循环体,不能跳到最外层的“语
6”那里,如果需要继续跳出最外层的“语句 6”那里,可以继续在外层的循环体内再增加一个 break 语句。
【50.4 还有哪些语句可以无条件跳出循环体?】
除了 break 以外,还有 return goto 语句可以跳出循环体。这部分的内容大家只需大概了解一下即可。
return 语句比 break 语句还厉害它不仅仅跳出当前循环体还是跳出了当前函数,也就是提前结束了当前
函数,这部分的内容后面章节会讲到,暂时不用管。而 goto 语句在 C 语言中大家都公认不建议用,因为它
很容易扰乱大家常用的 C 语言编程结构,我本人也从来没有用过 goto 语句,因此不再深入讲解它。
【50.5 例程练习和分析。
编写一个程序来熟悉一下 continue break 语句的使用。
程序代码如下:
/*---C 语言学习区域的开始。-----------------------------------------------*/
unsigned char a=0; //观察这个数最后的变化
unsigned char b=0; //观察这个数最后的变化
unsigned char c=0; //观察这个数最后的变化
unsigned char d=0; //观察这个数最后的变化
unsigned char i; //控制循环体的条件判断变量
void main() //主函数
{
//i<6 的条件判断是在进入循环体之前判断,而 i 的自 1 是在执行完一次循环体之后才自加的。
for(i=0;i<6;i++)
{
a=a+1; //被执行了 6 次,分别是第 0,1,2,3,4,5
if(i>=3) //当 i 等于 3 的时候,开始“拦截”continue 后面的代码。
{
continue; //提前结束本次循环,准备进入下一次循环
}
b=b+1; //被执行了 3 次,分别是 0,1,2
}
//i<6 的条件判断是在进入循环体之前判断,而 i 的自 1 是在执行完一次循环体之后才自加的。
for(i=0;i<6;i++)
{
c=c+1; //被执行了 4 次,分别是第 0,1,2,3
if(i>=3) //当 i 等于 3 的时候,直接跳出当前循环体,结束此循环体的“生命周期
{
break; //马上跳出当前循环体
}
d=d+1; //被执行了 3 次,分别是第 0,1,2
}
View(a); //把第 1 个数 a 发送到电脑端的串口助手软件上观察。
View(b); //把第 2 个数 b 发送到电脑端的串口助手软件上观察。
View(c); //把第 3 个数 c 发送到电脑端的串口助手软件上观察。
View(d); //把第 4 个数 d 发送到电脑端的串口助手软件上观察。
while(1)
{
}
}
/*---C 语言学习区域的结束。-----------------------------------------------*/
在电脑串口助手软件上观察到的程序执行现象如下:
开始...
1 个数
十进制:6
十六进制:6
二进制:110
2 个数
十进制:3
十六进制:3
二进制:11
3 个数
十进制:4
十六进制:4
二进制:100
4 个数
十进制:3
十六进制:3
二进制:11
分析:
变量 a 6。
变量 b 3。
变量 c 4。
变量 d 3。
【50.6 如何在单片机上练习本章节 C 语言程序?】
直接复制前面章节中第十一节的模板程序,练习代码时只需要更改C 语言学习区域”代码就可以了,
其它部分的代码不要动。编译后,把程序下载进带串口 51 习板,通过电脑端的串口助手软件就可以观
察到不同的变量数值,详细方法请看第十一节内容。