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