分支语句(二)switch语句

除了if语句外,C语言还提供了switch语句来实现分支结构

switch语句是一种特殊的if...else...结构,用于判断条件有多个结果的情况。它能把多重if...else...改成更易用、可读性更好地形式。如下为switch语句的语法形式

其中expression以及case后的value均为整型表达式。特殊的,case后的value必须为整型常量表达式!statement的意思是语句,如果输入的值无法找到相应的case值进行匹配,则执行default后的语句!

1.if语句与switch语句的对比以及switch语句中break的作用

由上图便能直观地感受到switch与if语句的区别!但需要注意的是

1.case后的数字与case间有空格

2.每一个case语句执行完成后加上break才能够跳出switch语句,否则会出现如下情况

即表达式的值为0时能够从case 0:这一入口进入,如果没有break这一出口跳出switch语句,那么代码仍会继续向下运行!switch语句只有通过break才能实现真正的分支效果!

如上问题其实也可以不通过分支结构完成如下图

这也启发我们要灵活运用代码,不要死板单一!

2.对break的理解与灵活运用

我们可以由上例更深入地理解break并基本掌握如何运用break!

对上例由代码的灵活性我们依旧可以使用if语句中的与逻辑操作符来解决如下图所示

3.switch语句中的default

依旧是上例,当输入的值无法与case值匹配时则执行default后的语句。

4.对于default与case的顺序关系

对于default与case的顺序关系,语法并没有规定default一定要放在最后如下图

即使将default放最上面也并不影响,但是此时注意加上break防止代码继续运行。

但由于逻辑性以及方便性,我们一般都将default放在最后!

5.关于switch语句中的expression以及case后的整型常量表达式的一些细节

1.expression中必须是整型变量表达式

如图输入浮点型时则会报错必须是整型

2.对于字符也是整型的理解

字符在计算机中以ASCII码的形式存在,而ASCII码也属于整型,所以在switch语句中使用字符并不会报错

3.case后必须是整型常量表达式,不能是变量!

当使用变量m时会出现如下报错

这也就验证了case后必须是整型常量表达式而不能是变量的说法!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZRFoever

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值