![switchcase例子[共5页]_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-10/25/1c2a3da5-0b14-425a-8b8d-dabc8c7b416d/1c2a3da5-0b14-425a-8b8d-dabc8c7b416d1.gif)
![switchcase例子[共5页]_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-10/25/1c2a3da5-0b14-425a-8b8d-dabc8c7b416d/1c2a3da5-0b14-425a-8b8d-dabc8c7b416d2.gif)
![switchcase例子[共5页]_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-10/25/1c2a3da5-0b14-425a-8b8d-dabc8c7b416d/1c2a3da5-0b14-425a-8b8d-dabc8c7b416d3.gif)
![switchcase例子[共5页]_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-10/25/1c2a3da5-0b14-425a-8b8d-dabc8c7b416d/1c2a3da5-0b14-425a-8b8d-dabc8c7b416d4.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、switchcase 例子 【篇一: switchcase 例子】switch(sum)case 1:a = 1;b = 0;c = 0;break;case 2:a = 1;b = 1;c = 0;break;case 3:a = 1;b = 1;c = 1;break;default:a = 0;b = 0;c = 0; break;【篇二: switchcase 例子】switch-case 语句:if 语句处理两个分支 ,处理多个分支时需使用 if-else-if 结构,但如果分支较多,则嵌套的 if 语句层就越多 ,程序不但庞大而且理解也比较困难 .因此,c 语言又提供了一个专门用于
2、处理多分支结构的条件选择语句 ,称为 switch 语句,又称开关语句 .使用 switch 语句直接处理多个分支(当然包括两个分支 ).其一般形式为 :switch( 表达式 ) case 常量表达式 1:语句 1;break;case 常量表达式 2:语句 2; break; case 常量表达式 n:语句 n;break;default:语句 n+1;break; 注意:switch 和 case 后面只能是整型或字符型的常量或常量表达式,不能是实型。因为实型数据在内存中储存的时候会有一定的误差 ,如果比较将两个实型数据相比较,基本不会出现=的情况 ,一般要比较两个实型数据是否相等 ,会
3、采用两者之差小于一个很小的数 (比如 10-6), 所以 switch里面不要用实型数据 ,一般只能用整型数据 (当然也包括 char) 。(1) switch语句的执行流程是 :首先计算 switch 后面圆括号中表达式的值,然后用此值依次与各个 case 的常量表达式比较,若圆括号中表达式的值与某个 case 后面的常量表达式的值相等 ,就执行此 case 后面的语句 ,执行后遇 break语句就退出 switch语句 ;若圆括号中表达式的值与所有 case 后面的常量表达式都不等 ,则执行 default 后面的语句 n+1, 然后退出 switch语句 ,程序流程转向开关语句的下一个语
4、句.如下程序 ,可以根据输入的考试成绩的等级,输出百分制分数段 :switch(grade)casea:/ 注意 ,这里是冒号 :并不是分号 ; printf(85-100);break;/ 每一个 case语句后都要跟一个 break 用来退出 switch 语句caseb:/ 每一个 case 后的常量表达式必须是不同的值以保证分支的唯/一性printf(70-84);break; casec:printf(60-69);break; cased: printf( 60);break; default: printf(error!);(2)如果在 case 后面包含多条执行语句时,也不需要
5、像 if语句那样加大括号 ,进入某个 case 后,会自动顺序执行本 case 后面的所有执行语 句.如: casea: if(grade =100) printf(85-100);else printf(error); break; (3)default 后不需要 break语句(仅适用于 default 在最后) .并且,default 部分也不是必须的 ,如果没有这一部分 ,当 switch 后面圆括号中表达式的值与所有 case 后面的常量表达式的值都不相等时,则不执行任何一个分支直接退出 switch语句 .此时,switch语句相当于一个空语句 .例如 ,将上面例子中 switch
6、语句中的 default 部分去掉 ,则当输入的字符不是 a,b,c 或 d时,此 switch语句中的任何一条语句也不被执行 .(4)在 switch-case语句中 ,多个 case 可以共用一条执行语句 .如: casea: caseb: casec: printf( 60); break; 在 a,b,c3 种情况下 ,均执行相同的语句 ,即输出 60(只输出一次 ).(5)最开始那个例子中 ,如果把每个 case 后的 break删除掉 ,则当greak=a时,程序从 printf(85-100) 开始执行 ,输出结果为:85-10070-8460-6960 error这是因为 ca
7、se 后面的常量表达式实际上只起语句标号作用 ,而不起条件判断作用 ,即只是开始执行处的入口标号 .因此,一旦与 switch 后面圆括号中表达式的值匹配 ,就从此标号处开始执行 ,而且执行完一个case 后面的语句后 ,若没遇到 break 语句,就自动进入下一个 case 继续执行,而不在判断是否与之匹配 ,直到遇到 break 语句才停止执行 ,退出 break 语句.因此,若想执行一个 case 分支之后立即跳出 switch语句,就必须在此分支的最后添加一个 break 语句.引用- intmain()floata,b; charc1;printf(pleaseentera,bandop:); scanf(%f%c%f, a, c1, switch(c1) case+:printf(%f+%f=%f,a,b,a+b); break; case-:printf(%f-%f=%f,a,b,a-b); break; case*:printf(%f*%f=%f,a,b,a*b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黑龙江绥化市庆安县招聘教师36人模拟试卷及答案详解参考
- 2025年谷胱甘肽及酵母提取物项目发展计划
- 小学劳动安全培训课件
- 2025辽宁鞍山市铁东区教育局面向毕业生(第二轮)校园招聘笔试考前自测高频考点模拟试题完整答案详解
- 公司员工请假管理操作手册
- 保险行业技术规范与市场分析
- 2025贵州省凯里学院第十三届贵州人才博览会引才28人考前自测高频考点模拟试题及答案详解一套
- 2025贵州兴仁市马马崖镇村级卫生室医生岗位招聘考前自测高频考点模拟试题及答案详解(新)
- 2025内蒙古第七批高层次人才需求目录(2025年4月29日发布)模拟试卷及答案详解(名校卷)
- 2025河南信阳市潢川县退役军人事务局招聘3名全日制公益性岗位模拟试卷带答案详解
- 急性淋巴细胞白血病
- 围墙装饰墙帽施工方案
- 2025-2026学年粤教粤科版(2024)小学科学二年级上册(全册)教学设计(附目录)
- 企业安全生产费用预算表模板
- 小学生班干部竞选
- 机场消防安全管理培训课件
- 妇科外阴解剖学课件
- (正式版)DB44∕T 2697-2025 《岩土工程勘察安全技术标准》
- 2025年生态环境综合行政执法考试参考题库(附答案)
- QC/T 262-2025汽车渗碳齿轮金相检验
- 畜牧兽医专业毕业论文豆
评论
0/150
提交评论