首页 理论教育 Switch语句示例和用法

Switch语句示例和用法

时间:2023-10-26 理论教育 版权反馈
【摘要】:如果语句序列中省略了break,就不再进行判断,继续执行后面所有case后的语句;如果没有省略break,则执行了case后面的语句序列之后就跳出switch语句。图6.1是switch语句的流程图。图6.1switch的流程图例6.1:简单计算器。图6.2例6.1程序运行结果这个例子挺有意思,用switch巧妙地实现了一个类似计算器的功能,能进行简单的加减乘除运算。假设number的值为2:图6.3switch执行规则如果不写break语句,则从匹配的标签开始,直到switch语句结束前的语句都会被执行。

Switch语句示例和用法

switch语句的一般格式为:

switch语句的执行过程:首先计算小括号内表达式的值,并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,就执行其后的语句序列。如果语句序列中省略了break,就不再进行判断,继续执行后面所有case后的语句;如果没有省略break,则执行了case后面的语句序列之后就跳出switch语句。如果表达式的值与所有case后的常量表达式均匹配不上时,则执行default后的语句序列。

说明:

➢在C语言中switch后面括号内的表达式必须是整型字符型或者枚举类型。

➢每一个case的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。

➢各个case和default的出现次序不影响执行结果。例如:可以先出现“default:……”,再出现“case'D':……”,然后是“case'A':……”。

➢各语句序列允许有多条语句,不需要按复合语句处理,若语句序列i为空,则对应的break语句可去掉。

图6.1是switch语句的流程图。

图6.1 switch的流程图

例6.1:简单计算器。

用户输入运算数和四则运算符,输出计算结果。(www.xing528.com)

输出结果如图6.2所示。

图6.2 例6.1程序运行结果

这个例子挺有意思,用switch巧妙地实现了一个类似计算器的功能,能进行简单的加减乘除运算。

你可能会觉得很奇怪——为什么每个标签后都要写上break语句呢,它在这里是干什么用的?其实,它在这里的作用是跳出switch语句,转而执行switch语句后面的语句。如图6.3所示。假设number的值为2:

图6.3 switch执行规则

如果不写break语句,则从匹配的标签开始,直到switch语句结束前的语句都会被执行。例如,如果把上例(简单计算器)中的break语句都去掉,代码如下:

重新编译后,在运行时输入“20*50”,输出结果如图6.4所示。

图6.4 将break去掉后的运算结果

由此可见,千万别忘了break语句,它非常重要!

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

我要反馈