内容正文:
任务4 循环语句的应用
1.了解C51程序中循环结构的构建。
2.掌握for、while等循环语句的功能。
3.掌握0~100累加和的程序设计与调试方法。
在单片机的程序设计中,当一段程序需要反复执行时,通常采用循环体来构建,这样不仅可以优化程序,而且还可以提高程序的执行效率。本任务以完成Sum=0+1+2+3+ ……… +99+100累加和的程序设计为例,学习使用“ for”和“ while ”语句来构建循环体的方法。
一、for循环语句
for(初始化表达式;条件表达式;增量表达式)
{
语句; //循环体
︰
}
for循环语句的表达式间要用“;”隔开,循环体即为for后面用“{ }”括起来的语句,当循环语句只有一条时,“{ }”可以省略,紧跟在for语句的结构表达式之后。
for循环语句的执行过程如下:
(1)初始化表达式。
(2)求解条件表达式。如其值为“真”,则执行for循环体内的语句;如果为“假”则退出for循环,转到for循环体外语句去执行。
(3)如条件表达式为“真”,在执行for循环体内的语句后,执行增量表达式,再转到上一步继续执行。
(4)结束for循环,执行后面的语句。
for语句不仅可以用于循环已经确定的情况,而且可以用于循环次数不确定但已经给出循环条件的情况。下面为for语句应用的几个特例:
1)for( ;i<=100;i++) sum+=i; // i不设初值,由外部 i 决定
2)for(i=1; ;i++) sum+=I; // 不设循环判断条件,默认将
//无条件循环执行下去
3)for(i=1; i<=100;i++) ; // 没有循环体,用于实现延时
4)for( ; ; ) sum+=i; // 没有任何限制,无限循环
二、while 循环语句
while(表达式)
{
语句; //循环体
︰
}
括号中的表达式为while循环能否继续的条件,而语句部分则是循环体。只要表达式为真,则重复执行循环体内的语句;否则,终止while循环,执行循环之外的下一行语句。
while语句应用的几个特例:
1)while ( 1 ) sum+=i; //表达式始终为真,无限循
//环语句“sum+=i;”
2) while ( 1 ) ; //表达式始终为真,死循环
当循环语句只有一条时,“{ }”可以省略,紧跟在while语句的结构表达式后。一般在循环体中应该有让循环最终结束的语句,否则将造成死循环。
三、do…while循环语句
do
{
语句; //循环体
︰
}
while(表达式);
do是C语言的关键字,必须和while联合使用。while(表达式)后的分号“;”不能少,它表示整个循环体的结束。在使用时由于是先执行循环体再判断,所以应注意循环次数的设置。
do…while 循环语句和 while 循环语句的最大区别是:先执行循环体一次,再判断表达式的值。若为真,则继续执行循环体,否则退出循环。
do…while语句执行过程如下:
(1)先执行循环体语句一次,然后判断表达式。
(2)当表达式的值为非“0”时,返回到上一步重新执行循环体语句。
(3)如此反复,直到表达式的值为“0”时循环结束。
一、程序设计
二、编写程序并录入
根据上述任务分析编写的完整程序:
三、调试运行
单击此处返回目录
载入源文件,编译无误后单击调试按钮弹出“debug”工具栏,单击“ ”按钮,弹出“serial #1”的串行窗口。再单击运行按钮,即可查看串行窗口中输出的和的值:
$