请提供您希望我摘要的具体内容(例如C语言switch语句的示例代码或相关描述),我将根据您提供的信息生成100-200字的摘要。
在C语言的编程旅途中,
switch语句是一把利器,它就像一条多岔路口,根据你给出的“暗号”,程序会快速跳到对应的分支去执行,比起一连串的
if-else,
switch在处理固定值的判断时,代码层次更清晰,读起来也更舒服,这篇文章通过三个接地气的例子,让你快速上车。
在处理固定值的判断时,代码层次更清晰,读起来也更舒服,这篇文章通过三个接地气的例子,让你快速上车。
switch 语句长什么样?
先看一下它的骨架:
- 表达式:必须是整数类型(
int、
char、枚举),不能是浮点型或字符串。
- 、枚举),不能是浮点型或字符串。
- case 后面的常量:必须是编译时就能确定的整数常量,不能用变量。
- break:用来跳出整个
- 继续执行。
- default:可选,当所有
- 都没命中时,它来兜底。
- 每个
- 是错误的)。
- 记得在合适的地方加
- 。
- 可以放在任意位置,但通常习惯放在最后,逻辑更清晰。
- 多个
- 可以共用同一段代码,比如菜单例子中的大小写处理。
- 当判断条件数量少、值又比较离散时,
- 更直观易读。
switch,如果不写,程序会“穿透”到下一个
case继续执行。
case都没命中时,它来兜底。
例1:输入数字,输出星期几
这个程序先让用户输入一个1到7之间的整数,然后根据数字输出对应的星期名称,如果输入的数字不在这个范围内,则提示错误。
具体做法:定义整型变量
day,用
scanf读入。
switch对
day进行判断——当值为1时输出“星期一”,2时输出“星期二”……直到7时输出“星期日”,每个
case末尾都有
break,防止穿透,最后的
default分支处理非法的输入。
分支处理非法的输入。
运行效果:如果你输入3,程序会显示“星期三”。
例2:用字符实现菜单选择
switch同样支持字符型,非常适用于交互式菜单,比如一个简单的银行自助服务:
同样支持字符型,非常适用于交互式菜单,比如一个简单的银行自助服务:
程序先显示三个选项:a. 查询余额,b. 取款,c. 存款,然后读取用户输入的字符(注意
scanf前面加一个空格来吸收回车符),在
switch的结构里,
'a'和
'A'放在一起,中间不写
break,这样无论你输入大写还是小写,都会执行同一段代码(这就是“穿透”技巧的妙用)。
'b'和
'B'同理,
'c'和
'C'同理,如果输入其他字符,则进入
default提示无效选项。
提示无效选项。
例3:用 switch 写一个简易计算器
这个例子演示了
switch与数学运算的结合,用户输入一个表达式,
5 + 2.1,程序读取两个浮点数和一个运算符(、、、),然后根据运算符执行对应的计算并输出结果。
,程序读取两个浮点数和一个运算符(、、、),然后根据运算符执行对应的计算并输出结果。
在除法分支里,还专门判断了除数是否为零,如果为零则提示错误,否则正常计算,如果运算符不是这四个符号中的任何一个,则进入
default提示无效运算符。
提示无效运算符。
运行示例:用户输入
2 * 4,程序输出
20 * 4.00 = 28.80。
。
使用时需要注意的几个点
case后面必须是常量,不能是变量(
case x是错误的)。
break,除非你有意利用“穿透”来合并多个
case。
default可以放在任意位置,但通常习惯放在最后,逻辑更清晰。
case可以共用同一段代码,比如菜单例子中的大小写处理。
switch比多层
if-else更直观易读。
一个小练习试试手
写一个程序,接收学生成绩等级(A、B、C、D、E),然后输出对应的分数范围,A:90~100,B:80~89,C:70~79,D:60~69,E:0~59,用
switch实现,相信你马上就能搞定。
实现,相信你马上就能搞定。
掌握
switch之后,你的 C 语言工具箱里又多了一件好用的工具,多写几遍,很快就能熟练运用。
之后,你的 C 语言工具箱里又多了一件好用的工具,多写几遍,很快就能熟练运用。

