




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计,第九课switch-case多分支开路语句,9.1switch-case语句,在编写应用程序时,在必须从很多可以的选项中选择一组指令的地方,可以使用if-else链。在将一个整数表达式的值与特定的值进行比较时,可以使用switch-case语句来替代if-else链。switch-case语句的常规格式如下:switch(整型表达式)case常量1:语句系列1;break;case常量2:语句系列2;break;.case常量n:语句系列n;break;default:语句n+1;,9.2switch-case常规书写格式,switch(整型表达式)case常量1:语句系列1;break;case常量2:语句系列2;break;.case常量n:语句系列n;break;default:语句n+1;,复合语句开始,switch和复合语句结束,以冒号结束,以冒号结束,以冒号结束,以冒号结束,缩进,再次缩进,缩进,9.3switch-case执行流程图,在switch-case语句中有4个新的关键字:switch、case、default和break,下面分别给予介绍。关键字switch标识swithc-case语句的开始。该关键字后的圆括号内的整型表达式将得到赋值,然后将该表达式的结果与复合语句内包含的各种可以的值依次进行比较。swith语句中的表达式必须被指定为整数结果值,否则将会出现编译错误。在switch-case语句内,关键字case被用来标识或标记与switch表达式的值进行比较的每个值。switch表达式的值与这些case值依次进行比较,直到找到匹配的值。当找到匹配值时,执行将从紧跟着该匹配值的语句开始,因此,如下所示,表达式的值决定了在switch语句中执行实际开始的位置:,9.4switch和case关键字,在一个switch语句中可以采用任意顺序来包含任意数目的case标签。但是,如果表达式的值与所有case值都不匹配,那么将不执行任何语句,除非遇到关键字default。关键字default是可选的,并且它与if-else链中的最后一个else的作用相同。,9.5default关键字,switch(整型表达式)case常量1:.break;case常量2:.break;.case常量n:.break;default:./switch语句结束,若表达式等于常量1,则从这里开始,若表达式等于常量2,则从这里开始,若表达式等于常量n,则从这里开始,若所有常量都不匹配,则从这里开始,/模拟ATM机菜单系统程序片段(完整程序请参考ex09_01.c)/执行各个分支switch(key)case1:printf(您执行的是修改密码操作!n);case2:printf(您执行的是转帐操作!n);case3:printf(您执行的是存款操作!n);case4:printf(您执行的是取款操作!n);case5:printf(您执行的查询余额操作!n);case6:printf(系统退出!n);default:printf(您选择了一个错误的操作!n);,一旦通过switch语句确定了入口点,所有进一步的case赋值都会被忽略,并且,除非遇到关键字break,否则执行将一直持续到复合语句结束,这就是采用break语句的原因,它将标识特定case的结束,并使得立即退出switch语句,因此,就像关键字case标识复合语句中可以存在的起始点一样,break语句将确定终止点。如果省略了break语句,那么匹配的case值后的所有情况(包括default情况)都会被执行。,10.6break关键字,switch(整型表达式)case常量表达式1:.break;case常量表达式2:.break;.case常量表达式n:.break;default:./switch语句结束,若表达式等于常量1,则从这里开始,若表达式等于常量2,则从这里开始,若表达式等于常量n,则从这里开始,若所有常量都不匹配,则从这里开始,跳出,跳出,跳出,/模拟ATM机菜单系统程序片段(完整程序请参考ex09_02.c)/执行各个分支switch(key)case1:printf(您执行的是修改密码操作!n);break;/跳出switch语句case2:printf(您执行的是转帐操作!n);break;/跳出switch语句case3:printf(您执行的是存款操作!n);break;/跳出switch语句case4:printf(您执行的是取款操作!n);break;/跳出switch语句case5:printf(您执行的查询余额操作!n);break;/跳出switch语句case6:printf(系统退出!n);break;/跳出switch语句default:printf(您选择了一个错误的操作!n);,/*执行下列程序(ts09_01.c,输入为1时运行结果是_,输入为2时运行结果是_。*/#includevoidmain()intk;scanf(%d,在编写switch语句时,可以使用多个case值来引用同一组语句;default标签是可选的。,9.7多个case值引用同一组语句,/程序片段:输入月份,输出相应的天数(if-else链)/完整程序请参考ex09_03.c/求相应月份的天数if(month=1|month=3|month=5|month=7|month=8|month=10|month=12)days=31;elseif(month=2)days=28;elseif(month=4|month=6|month=9|month=11)days=30;elsedays=0;,/程序片段:输入月份,输出相应的天数(switch结构)/完整程序请参考ex09_04.c/求相应月份的天数switch(month)case1:case3:case5:case7:case8:case10:case12:days=31;break;case2:days=28;break;case4:case6:case9:case11:days=31;break;default:days=0;,例子:如表所示是学生的等级成绩情况。表学生的等级成绩编写一个C程序,接受学生的分数,将分数成绩转换成相应的等级成绩,并显示等级成绩。,9.8switch的应用,/*程序片段:将学生分数成绩转换成相应的等级成绩完全程序请参考:ex09_05.c*/switch(score/10)/score/10对百分制成绩进行折算case10:case9:printf(A等n);break;case8:printf(B等n);break;case7:printf(C等n);break;case6:printf(D等n);break;default:printf(“E等n);,/*程序片段:将学生分数成绩转换成相应的等级成绩完全程序请参考:ex09_06.c*/if(score100|score0)printf(输入成绩错误!n);elseswitch(score/10)/score/10对百分制成绩进行折算case10:case9:printf(A等n)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 路运产业链整合-洞察阐释
- 鹅羊山社区生态运动广场建设工程项目可行性研究报告
- 第三节教学设计
- 2025至2030年中国特种尼龙滑轮行业投资前景及策略咨询报告
- 2025至2030年中国热轧角铁行业投资前景及策略咨询报告
- 高中文科数学跨学科教学资源共享与利用路径
- 2025至2030年中国清耳器行业投资前景及策略咨询报告
- 2025至2030年中国测绘图纸行业投资前景及策略咨询报告
- 2025至2030年中国汽车指示泡行业投资前景及策略咨询报告
- 2025至2030年中国欧洲锅行业投资前景及策略咨询报告
- 2025年江苏省建筑安全员A证考试题库及答案
- 对外投资合作国别(地区)指南 -科威特-20250106-00615
- 丝绸产业品牌建设-洞察分析
- 【机器人】2021年全球外骨骼机器人产业研究报告-CBInsights
- 智慧燃气系统建设方案
- 2024年浙江绍兴诸暨市交通运输局下属事业单位招聘编外用工6人历年管理单位遴选500模拟题附带答案详解
- 学校保安保洁及宿管服务投标方案(技术方案)
- 临床成人失禁相关性皮炎的预防与护理团体标准解读
- 医疗器械公司组织机构图和部门设置说明
- 个人开车与单位免责协议书
- JGJT46-2024《建筑与市政工程施工现场临时用电安全技术标准》知识培训
评论
0/150
提交评论