- 51单片机C语言编程一学就会
- 何应俊
- 558字
- 2020-11-27 17:50:21
2.8 使用swtich语句控制流水灯
2.8.1 switch语句介绍
If语句一般用来处理两个分支。当处理多个分支情况时需使用if-else-if结构,但如果分支较多,则嵌套的if语句层就越多,程序不但庞大而且不易理解。因此C语言提供了一个专门处理多分支结构的条件选择语句,即swtich语句(又称为开关语句)。其基本形式为如下:
该语句的执行过程是:首先计算switch后面()内表达式的值,然后用该值依次与各个case语句后面的常量表达式比较,若switch后面()内表达式的值与某个case后面的常量表达式的值相等,则就执行此case后面的语句,当遇到break语句就退出switch语句,执行后面的语句;若()内表达式的值与所有case后面的常量表达式的值都不相等,则执行default后面的语句n+1,然后退出switch语句,执行switch语句后面的语句。
2.8.2 使用swtich语句控制流水灯
1.任务书
与2.7相同
2.参考程序
在2.7.2的程序代码中,把控制流水灯显示的display()函数修改为下面的函数,其余的不变,可实现同样的效果。
注意:(1)break还可以用在for循环或while循环内,用于强制跳出循环。
(2)switch语句与if语句有以下不同:
1)ifelseif要依次判断()内条件表达式的值,当条件表达式为真时,就选择属于它的语句执行。switch只在开始判断一次()内的变量或表达式的值,就直接跳到相应的位置,效率更高。
2)ifelseif执行完属于它的语句后跳出。switch是跳到相应的case项目执行完后,不会自动跳出,而是接着往下执行case程序。只有遇到break后才会跳出。