首页 理论教育 分支和循环控制-TILaunchPad与Energia

分支和循环控制-TILaunchPad与Energia

时间:2023-11-17 理论教育 版权反馈
【摘要】:本节将重点介绍两个重要的控制MCU运行顺序的编程要素:分支结构和循环结构,使得LaunchPad的“生活”更丰富多彩。1)分支结构分支结构又称选择结构。当处理比较复杂的问题时,可能会出现有很多选择分支的情况,如果还使用if...else的结构编写程序,则使程序显得冗长,且可读性差。图3-1switch语句结构当表达式的值不等任何一个常量表示式时,则执行语句n。while循环:for循环:例如,修改Blink示例程序让红色LED开和关重复执行10次。

分支和循环控制-TILaunchPad与Energia

通过第2章的Blink例程,我们理解了LaunchPad运行的规律:LaunchPad上电以后,执行一次setup()函数完成初始化后,就开始周而复始地执行loop()函数,红色LED就开始不停地闪烁。试想假设一个人每天一成不变地机械地做同一件事情,没有发生任何变化,该是多么无聊啊!本节将重点介绍两个重要的控制MCU运行顺序的编程要素:分支结构和循环结构,使得LaunchPad的“生活”更丰富多彩。

1)分支结构

分支结构又称选择结构。在编程中,经常需要根据当前数据做出判断,以决定下一步的操作。例如,LaunchPad与一个温度传感器相连,可以读取室外温度。如果室外温度超过30℃,则打开空调制冷;如果室外温度低于5℃,则打开空调制热;如果室外温度介于5~30℃之间,则关闭空调。这时就需要用到分支结构。

选择语句有以下两种形式。

(1)if语句。if语句是最常用的选择结构,有两种结构形式。

①简单分支结构。当表达式为真时,运行语句;否则跳过if结构接着往下执行。

②双分支结构。当表达式为真时,就运行语句1,否则运行语句2。

这里解释一下“表达式为真”的意思:C/C++语言认为当表达式的值不为0时,为真;当表达式的值为0时,为假。

假设temp存放的是MCU读取的温度传感器的值,则如下代码可以实现上例:

进一步也可以写出更好一点的代码:

其中cooler()、heater()和airCondtion()是设计者自己编写的函数。

(2)switch语句。当处理比较复杂的问题时,可能会出现有很多选择分支的情况,如果还使用if...else的结构编写程序,则使程序显得冗长,且可读性差。此时可以考虑使用switch语句,其一般形式为:

需要注意的是,switch后的表达式的结果只能是整型字符型,如果使用其他类型,则必须使用if语句。

switch语句结构的流程图如图3-1所示。(www.xing528.com)

图3-1 switch语句结构

当表达式的值不等任何一个常量表示式时,则执行语句n。

2)循环结构

循环结构,基于特定的条件,重复执行一条或一系列操作。循环语句常如下两种形式。

(1)while循环:

(2)for循环:

例如,修改Blink示例程序让红色LED开和关重复执行10次。为了突出修改内容,删除了一些原有的注释,增加了一些新的注释。

修改方案1:

修改方案2:

for循环实现的代码也可以被while循环所代替:

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

我要反馈