免费预览已结束,剩余2页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言还提供了另一种用于多分支选择的switch语句, 其一般形式为:switch(表达式) case 常量表达式1: 语句1;case 常量表达式2: 语句2; case 常量表达式n: 语句n;default: 语句n+1;其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。【例4-9】 复制纯文本复制1. #include 2. int main(void) 3. int a; 4. printf(input integer number: ); 5. scanf(%d,&a); 6. switch (a) 7. case 1:printf(Mondayn); 8. case 2:printf(Tuesdayn); 9. case 3:printf(Wednesdayn); 10. case 4:printf(Thursdayn); 11. case 5:printf(Fridayn); 12. case 6:printf(Saturdayn); 13. case 7:printf(Sundayn); 14. default:printf(errorn); 15. 16. return 0; 17. #include int main(void) int a; printf(input integer number: ); scanf(%d,&a); switch (a) case 1:printf(Mondayn); case 2:printf(Tuesdayn); case 3:printf(Wednesdayn); case 4:printf(Thursdayn); case 5:printf(Fridayn); case 6:printf(Saturdayn); case 7:printf(Sundayn); default:printf(errorn); return 0;本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。 这是与前面介绍的if语句完全不同的,应特别注意。为了避免上述情况,C语言还提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。在后面还将详细介绍。修改例题的程序,在每一case语句之后增加break 语句, 使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。【例4-10】 复制纯文本复制1. #include 2. int main(void) 3. int a; 4. printf(input integer number: ); 5. scanf(%d,&a); 6. switch (a) 7. case 1:printf(Mondayn); break; 8. case 2:printf(Tuesdayn); break; 9. case 3:printf(Wednesdayn); break; 10. case 4:printf(Thursdayn); break; 11. case 5:printf(Fridayn); break; 12. case 6:printf(Saturdayn); break; 13. case 7:printf(Sundayn); break; 14. default:printf(errorn); 15. 16. return 0; 17. #include int main(void) int a; printf(input integer number: ); scanf(%d,&a); switch (a) case 1:printf(Mondayn); break; case 2:printf(Tuesdayn); break; case 3:printf(Wednesdayn); break; case 4:printf(Thursdayn); break; case 5:printf(Fridayn); break; case 6:printf(Saturdayn); break; case 7:printf(Sundayn); break; default:printf(errorn); return 0;在使用switch语句时还应注意以下几点: 1. 在case后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生课外阅读存在的问题及原因分析
- 临床试验脱落数据的动态监测与预警系统
- 临床试验远程监查中的受试者依从性远程评估方法
- 三级价格歧视的经济学分析-以航空公司为例
- 临床试验远程监查与药物安全信号早期识别系统
- 当前机构编制管理工作存在的问题、成因及对策
- 北大中文核心期刊论文格式样板
- 汉语言文学毕业论文任务书
- 基于OBE-理念的《西方经济学》翻转课堂教学模式研究
- 【毕业论文】专科毕业论文实习报告
- 垃圾清运应急预案
- 2025年非处方药试题及答案详解
- 【投资安徽】2025年安徽省重点产业投资全景分析报告
- 2024年河南省体育彩票管理中心招聘真题
- 2025年个人述责述廉报告
- 2025浙江杭州市北京航空航天大学国际创新研究院(北京航空航天大学国际创新学院)第三批行政人员(聘用制)招聘22人考试笔试备考试题及答案解析
- 2025年广东学法考试考场(三)试题及答案
- 计算机整机装配调试员岗前岗位环保责任制考核试卷含答案
- 钾改性生物炭的凝聚及迁移特性研究
- 劳动争议维权课件
- 供货合同范本附件模板
评论
0/150
提交评论