一.switch语句的概念及其表达形式
在C语言中,除了 i f 语句之外,还有一种分支结构——switch,我们可以把switch理解成是一种特殊形式的 i f ... else 结构,在switch中,判断多个条件的多个结果将 else i f 改成了case这种更加简洁的形式,如:
由图可得,当我们输入不同的数,就会在switch中去执行相应的分支,如果没有这项case,那么就会执行default分支。在运用switch语句时,大家需要注意几点:
(1)switch后面括号内必须是整形表达式
(2)case跟后面的数字之间必须有空格
(3)case后面的值,必须是整型常量表达式
(4)每⼀个 case 语句中的代码执行完成后,需要手动加上 break ,才能跳出这个switch语句,否则会依次序执行每一个case分支
二. i f 语句和switch语句的差异
话不多说,我们直接上图,大家能够更加直观地感受到 i f 语句和switch语句的差别。下面分别运用switch语句和 i f 语句来做一道相同的题:
看着这两张图来对比 i f 语句和switch语句的差异,这两者我相信无需我多言,诸君都能轻松拿捏
三.switch语句中的break
在上面我们提到过,当我们想要执行完一个case分支就结束的时候,需要我们在这个分支后面加上break,如果我们不加上break就会继续执行下一个case分支,就同如下面这样:
这是因为
switch
语句也是具有分支效果的,只有在
switch
语句中使用
break
才能在跳出
switch
语 句,如果某一个 case
语句的后边没有
break
语句,代码会继续往下执行,有可能执行其他
case 语句中的代码,直到遇到 break
语句或者
switch 语句结束,才会跳出语句。因此,在
switch
语句中
break
语句是非常重要的,能实现真正的分支效果
当然,
并不是每一个case分支我们都必须加上break,这个得根据我们的实际情况来决定,就比如这几天学校在开运动会是吧,在颁奖的时候我们会根据运动员的名次颁布不同的奖项:
就像这样,1,2,3名拿一等奖,4,5,6名拿二等奖,7,8,9,10名拿三等奖。希望大家通过这个例子能够理解到 switch 中 break 的适当运用
四.switch 语句中的 default
在使用
switch
语句的时候,我们可能会遇到一种情况,例如
switch
后的表达式中的值无法匹
配代码中的
case
语句的时候,这时候要不就不做处理,要不就得在
switch
语句中加入default 子句(
简而言之,就相当于我们 i f 语句当中的else
,他俩的使用方法是一毛一样的,诸君都是聪明人,相信你们都能get到,所以关于default这点我就不过多赘述了)
五. switch 语句中的 case 和 default 的顺序问题
在 switch 语句中,它的 case 与 default 和 i f 语句中的 else i f 与 else 就略有差别了,有的人可能刻板地认为, default 只能放在最后,其实不然,
在 switch 语句中, case 和 default 是没有固定的顺序要求的
,只要你的顺序是满足实际需求的就可以了
(
只不过我们通常都是习惯性地把default 放在语句最后处理罢了,这样子美观且直观,有助于我们理解代码
,哎,这个就叫专业!所以希望诸君最好还是将它放在最后,我们只需要知道它放在前面也没有客观错误就对了)
OKK,有关于 switch 语句的知识点就讲这么多了,我们讲过 i f 语句,所以这一个点其实也没啥
好
讲的,跟 i f 语句其实大差不差,换汤不换药,而且吧,就我目前来看,还是 i f 语句的运用相较
而
言广泛一些,或者说适用性强一些。(如果是新来的小伙伴,不了解 i f 语句的话,最好就先去
翻
翻看我前两期总结的“ i f 语句 ”,相信看完这个你就能很好的理解了)大家在码代码的时候可以
根
据自己实际情况来选择合适的语句。就这样,咱们下期见,与诸君共勉!!!