多路开关模式的switch语句
在实例10中,将break语句去掉之后,会将符合检验条件后的所有语句都输出。利用这个特点,可以设计多路开关模式的switch语句,例如:在平年一年12个月,1、3、5、7、8、10、12月是31天,4、6、9、11月是30天,2月是28天,如果在控制台上任意输入月份,就可以知道这个月有多少天。这种情况,就可以使用switch语句的多路开关模式,它的形式如下:
switch(表达式){case 1:语句1break;case 2:case 3:语句2break;…default:默认语句break;}
从形式中可以看到如果在case 2后不使用break语句,那么符合检验时与符合case 3检验时的效果是一样的。也就是说,使用多路开关模式,可以使多种检验条件用一个语句块输出。
实例11 输入的某个月份属于哪个季节
在本实例中,要求使用switch语句判断控制台输入的某个月份属于哪个季节,已知3、4、5月是春季,6、7、8月为夏季,9、10、11为秋季,12、1、2月为冬季。具体代码如下:
01 #include<stdio.h>02 int main()03 {04 int month; /*定义变量月份*/05 printf("please enter a month:\n");06 scanf("%d",&month); /*输入月份*/07 switch(month) /*根据月份分季节*/08 {09 /*多路开关模式*/10 case 3:11 case 4: 12 case 5:13 printf("%d is spring\n",month); /*3,4,5月是春季*/14 break;15 /*多路开关模式*/16 case 6:17 case 7: 18 case 8:19 printf("%d is summer\n",month); /*6,7,8月是夏季*/20 break;21 /*多路开关模式*/22 case 9:23 case 10: 24 case 11:25 printf("%d is autumn\n",month); /*9,10,11月是秋季*/26 break;27 /*多路开关模式*/28 case 12:29 case 1: 30 case 2:31 printf("%d is winter\n",month); /*12,1,2月是冬季*/32 break;33 default:34 printf("error!!!\n"); /*无此月份*/35 }36 return 0; /*程序结束*/37 }
运行程序,显示结果如图6.21所示。
图6.21 季节运行图
从该实例代码和运行结果可以看出:
程序中使用多路开关模式,使得检测month的值为3、4、5这3种情况时,都会执行相同的操作,并且利用default语句将不符合的数字显示,提示信息表示输入错误。
练一练:
已知一个灯泡并联3个开关,分别为开关1,开关2,开关3,;另一串彩灯串联一个开关4,开关5和开关6并联一个白炽灯和节能灯,问随意按下开关哪个灯能亮?
本文摘自明日科技出版的《零基础学C语言》,转载请注明出处!!!
转载于:https://www.cnblogs.com/mrxy/p/8339970.html
多路开关模式的switch语句相关推荐
- c#语言swith的用法,C# switch 语句 | Microsoft Docs
switch(C# 参考) 04/09/2019 本文内容 本文介绍 switch 语句. 有关 switch 表达式(在 C# 8.0 中引入)的信息,请参阅 表达式和运算符部分中有关 switch ...
- 通过引入switch表达式来增强Java switch语句
去年12月下旬,我发布了" Switch Expressions Coming Java? 从那时起,进行了广泛的讨论,表达了意见分歧,现在就Java的switch表达式的未来达成了共识. ...
- 为什么不能在字符串上使用switch语句?
此功能是否将在以后的Java版本中使用? 有人可以解释为什么我不能这样做吗,例如Java的switch语句的技术方式? #1楼 Groovy轻而易举: 我嵌入了groovy jar并创建了一个groo ...
- java switch 条件_Java ——if条件语句 switch语句
本节重点思维导图 if条件语句 //如果条件表达式成立,执行语句块 if(条件表达式){ //-语句块 } 如果语句块只有一条语句,大括号可以省略,否则不能省略. 建议,不管有几条语句,都不要省略大括 ...
- c语言switch不允许实型,C语言中switch语句什么意思
Switch在C语言中是保留字,其作用是进行判断选择.switch(开关语句)常和case break default一起使用. Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断 ...
- 蓝鸥Unity开发基础——Switch语句学习笔记
一.Switch语法 属于多分支语句,通过判断表达式的值,来决定执行哪个分支 Break用于结束某个case,然后执行switch之外的语句 Switch-开关:case-情况开关决定发生的情况 二. ...
- java - 策略模式、状态模式、卫语句,避免多重if-else(转)
前言 当代码中出现多重if-else语句或者switch语句时.弊端之一:如果这样的代码出现在多处,那么一旦出现需求变更,就需要把所有地方的if-else或者switch代码进行更改,要是遗漏了某一处 ...
- java 圈复杂度_关于Java:降低Switch语句的循环复杂度-Sonar
我想减少开关盒的圈复杂度 我的代码是: public String getCalenderName() { switch (type) { case COUNTRY: return country = ...
- c语言 switch语句大小,C语言switch语句(板式整齐)
<C语言switch语句(板式整齐)>由会员分享,可在线阅读,更多相关<C语言switch语句(板式整齐)(38页珍藏版)>请在人人文库网上搜索. 1.switch 语句,1, ...
最新文章
- Linux系统日志分析与管理(14)
- java多线程提高性能写法
- 仅使用HTML和CSS实现的标签云效果
- [CQOI2014]通配符匹配
- mysql数据库总览_MySQL架构总览-查询执行流程-SQL解析顺序
- netty源码阅读之UnpooledByteBufAllocator
- python中wraps_【Python】Flask中@wraps的使用
- 图论--最小生成树总结(PrimKruskal)
- springboot前台页面写Java代码,接收后台数据,SpringBoot整合Thymeleaf的使用
- python,PyQt5编程将qrc文件转为py文件
- 【网络流量识别】【聚类】【一】模糊聚类FCS和GA—网络安全网络流量功能的模糊聚类
- 新手20天自学吉他入门
- docker 安装wiki.js 和wekan
- ps模糊照片变清晰步骤东方逐梦
- Moneybookers API支付方式开发 步骤
- 图标.svg html怎么换颜色,如何改变SVG图像的颜色使用CSS(jQuery SVG图像替换)?
- android商店账号密码错误,android app 自定义签名出现错误:Keystore was tampered with, or password was incorrect...
- 领存!专注为军工业提供计算、存储、加密以及数据安全的系统服务
- python怎么判断真假_Python不超过10行代码就可实现人脸识别,教你辨别真假
- python 内部收益率_用Python计算可变现金流内部收益率(pandas)
热门文章
- 10分钟教会你Apache Shiro
- HMC支持管理服务器数量及适合POWER6服务器的HMC型号
- locktty锁终端的方法
- 2016年11月5日20:42:09
- 【吐槽】VS2012的安装项目只能用InstallShield Limited Edition
- Eclipse europa 更新时 Error retrieving feature.xml. [error in opening zip file]的解决
- Java中的新生代、老年代和永久代
- TiDB集群大规模删除实践
- Google BBR拥塞控制算法模型初探
- spring随笔(三)DataBase