(二)任务目标

(二)任务目标

通过本任务的学习,使读者理解while循环语句的基本语法和执行流程,熟练使用while循环控制LED灯从左至右依次点亮,巩固之前所学的移位运算。

知识准备

前面讲解了顺序结构和选择结构,本任务开始讲解循环结构。所谓循环(loop),就是重复地执行同一段代码,例如要计算1 + 2 + 3 + … + 99 + 100的值,就要重复进行99次加法运算。

1.while循环语句

while语句的一般形式:

流程图和执行过程见表5-1。

表5-1 流程图和执行过程

2.while循环语句案例

用while循环计算1加到50的值:

运行结果:1275

3.代码分析

① 程序运行到while时,因为i = 1,i< = 100成立,所以会执行循环体;执行结束后,i的值变为2,sum的值变为1。

② 接下来会继续判断i< = 100是否成立,因为此时i = 2,i< = 100成立,所以继续执行循环体;执行结束后,i的值变为3,sum的值变为3。

③ 重复执行步骤②。

④ 当循环进行到第100次时,i的值变为101,sum的值变为5 050。因为此时i< = 100不再成立,所以就退出循环,不再执行循环体,转而执行while循环后面的代码。

while循环的整体思路是这样的:设置一个带有变量的循环条件,也即一个带有变量的表达式;在循环体中额外添加一条语句,让它能够改变循环条件中变量的值。这样,随着循环的不断执行,循环条件中变量的值也会不断变化,终有一个时刻,循环条件不再成立,整个循环就结束了。

如果循环条件中不包含变量,会发生什么情况呢?

① 当循环条件成立时,while循环会一直执行下去,永不结束,成为“死循环”。在单片机的程序编写中,这一点非常重要,也非常实用,例如:

运行程序,会不停地输出“1”,直到用户强制关闭。

② 当循环条件不成立时,while循环一次也不会执行。例如:

运行程序,什么也不会输出。