
免费预览已结束,剩余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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 待产包课件教学课件
- 模拟电路考试题库及答案
- 2025年衢州龙游县卫健系统“智汇衢州”市县联动引进高层次紧缺卫生人才36人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025贵州省凯里学院第十三届贵州人才博览会引才28人模拟试卷完整参考答案详解
- 2025年台州温岭市卫生事业单位公开招聘工作人员48人模拟试卷及1套参考答案详解
- 2025黑龙江黑河市逊克县乡村医生公开招聘19人考前自测高频考点模拟试题及1套参考答案详解
- 2025年上海越剧院公开招聘考前自测高频考点模拟试题及一套完整答案详解
- 硬笔书法课件偏旁
- 2025广东江门市蓬江区教师招聘23人(编制)考前自测高频考点模拟试题及答案详解(名师系列)
- 彩虹面条课件
- 《文献检索课程》课件
- 低介电常数材料应用
- 水平三(五年级)体育《篮球:单手肩上投篮》说课稿课件
- 2023发电机自动准同期装置整定计算技术导则
- GB/T 3672.1-2002橡胶制品的公差第1部分:尺寸公差
- 月度工作总结
- 箱涵高支模方案
- 第十章我国的环境保护政策和法规课件
- 绿化养护检查记录表
- 学生视力档案表
- 《饲料学》粗饲料
评论
0/150
提交评论