C++基础(6):switch结构
在上一篇已经介绍了if-else结构,但是在C++中,有一个特殊的分支结构运算符–三目运算符,经常用来代替if-else结构,三目运算符读起来更简明扼要,但第一次使用时不那么容易理解,这需要一点时间。后面我们会继续介绍多分支switch结构。
三目运算符
下面先来看一下三目运算符,长什么样子。
|
|
如果a为true,则整个表达式的值为b;否则,整个表达式的值为C。举例说明
|
|
判断8>7为true,所以,x=4。
|
|
判断3==9为false,所以,x=11。
【题目】输入两个整数,输出较大的数。
|
|
上述程序中,判断a是否大于b,如果a大,则输入a,否则,输出b。三目运算符也可以嵌套使用,当然,在嵌套使用的时候,代码会变得更加复杂,使用if-else更容易理解,此时,推荐使用if-else结构。
switch结构
在C++中,使用条件语句可以使程序实现分支操作,但出现分支比较多的时候,虽然可以用if-else语句或者嵌套的if语句来解决,但是程序结构会显得复杂,容易出现错误,导致别人也不容易读懂,甚至程序出现凌乱,自己着急薅光头发。为方便实现多分支操作,C++提供了一种switch语句,用来轻松实现多分支结构。
语句格式
|
|
在switch结构中,可以使用一个或多个case保留字,但只能使用一次default,或者省略default。每个case语句标号由保留字case、常量及冒号组成。
执行过程
首先,计算表达式的值,假设为N,用N和常量1、常量2、常量3对比,一旦遇到N和某个常量相等,则执行相应的语句块,如果都不相等,则执行default下面的语句块。
在实际使用switch结构时,通常要求当执行完某个case后的语句块后,就结束整个switch结构的执行,而不让它继续执行下一个case语句后面的语句块。为了实现这种操作,使用break语句来实现。该语句只有保留字break,而没有其他任何字段,一旦碰到break,结束整个switch结构的执行。
【题目】输入1-7表示星期一到星期日,输出对应的英文。
|
|
注意
1、case语句后的各常量表达式的值不能相同,否则会出现错误。
2、每个case或default后,,可以包含多条语句,不需要使用花括号(“{”和“}”)括起来。
3、各case的先后顺序可以前后调整,不影响程序执行结果。
4、default可以省略,default后面的语句末尾可以不必写break。
- 原文作者:图图爸爸
- 原文链接:https://www.tubacode.com/post/cpp-switch.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。