switch语句 break default

引言:在C语言中 不光只有IF语句能够实现分支结构 C语言还提供了一种语句来实现分支结构 那就是今天要分享给大家的switch语句

1.switch语句

0f061cdf15ad4759914ce1d62d902479.png

上图是switch语句的基本语法  switch语句和IF语句的作用差不多 在特定情况下使用switch语句可以大大缩小我们的代码长度 提高代码的效率

解释:switch语句会根据expression表达式的值选择进入相应值的case入口(就是case右边的value的值),然后执行相关语句 如果表达式的值与所有case入口的值不一样的话 就执行default语句

注:1.switch语句右边的表达式必须是整形表达式  2.case后面的值必须是整形常量表达式 如1 2 3.....        3.case与后面的数字需要用空格隔开

1.2switch语句中break的作用

break 顾名思义就是打破的意思 在今天的switch语句中 break的作用便是跳出(打破)该语句 那么该如何使用呢?

6042cef9d00e46cfb56341a5dfd4cdc5.png

在上面的代码中 我们输入了7   7%3等于1   所以switch语句会进入case 1从而打印“余数是1”  但是程序走起来之后最后的结果却表示程序也进入了case 2打印了“余数是2”  这是为什么呢? 原因是switch语句在进入入口之后会“一条路走到黑”直到走出switch语句  在进入case 1后switch语句会继续执行下面的case 2 要想让switch语句只进入一个入口电话 就要用到break 语句

19c1ac99aaef492ab27a480a643df22f.png

如上图 在加入了 break语句后 便打印了正确的答案 这就是break语句在switch中的用法 在每一个case的最后加入break语句就能保证switch语句只执行一个入口的代码

下面再给大家展示一下switch语句的用法

a5456e556027433eb3d643747beac792.png

 上图代码能够根据输入的day的值来打印星期几 每个case的最后都加入了break语句  那如果我们改变一下要求 如果是1-5就打印“工作日” 6和7就打印休息日 那我们该如何修改代码呢? 有的同学会想只要把每个case语句中printf要打印的字改一下就好 这样确实可行 但是我们有别的办法让代码的效率更高 那就是应用switch语句“一条路走到黑”的特点来修改代码 如下图

8a79659b638747dbb720331b8f33e8a0.png

 上图代码不仅实现了我们的目标 效率也更高了 不管输入1-5哪个数 最终都会走到case 5并打印“工作日” 这个方法非常巧妙

1.3 switch语句中的default

在文章的开头便提过了default语句 在switch语句中可能出现表达式的值与case 右边的值不匹配 但我们依然要对该值做出响应 这时我们就要用到default语句

6e7247b0bcdc40a1922bff75a7aa19cb.png

我们再应用上面的代码作为例子  我们需要用户输入1-7来打印星期几 但是可能会出现输入其他数字的情况 那我们就要提醒用户输入错误 所以我们就要用到default语句  当输入1-7之外的值时 便会进入default语句从而提醒用户输入错误

注:default语句在switch语句中的位置任意 可以在任意case之前  如果switch语句中未使用break语句 那么“一条路走到黑” 的情况下也会进入default语句

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值