- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
主讲人:谢宇C程序设计精品在线开放课程
单元六分支和跳转6.2switch语句
C语言虽然没有限制ifelse能够处理的分支数量,但当分支过多时,用ifelse处理会不太方便,而且容易出现ifelse配对出错的情况。switch语句介绍例如,输入一个整数,输出该整数对应的星期几的英文表示: 代码如下所示:
If……else实例对于这种情况,实际开发中一般使用switch语句代替,请看下面的代码:
switch实例
switch基本格式
switch是另外一种选择结构的语句,用来代替简单的、拥有多个分支的ifelse语句switch基本格式switch(表达式){case整型数值1:语句1;case整型数值2:语句2;......case整型数值n:语句n;default:语句n+1;}
1首先计算“表达式”的值,假设为m。2从第一个case开始,比较“整型数值1”和m,如果它们相等,就执行冒号后面的所有语句,也就是从“语句1”一直执行到“语句n+1”,而不管后面的case是否匹配成功。3如果“整型数值1”和m不相等,就跳过冒号后面的“语句1”,继续比较第二个case、第三个case……一旦发现和某个整型数值相等了,就会执行后面所有的语句。假设m和“整型数值5”相等,那么就会从“语句5”一直执行到“语句n+1”。4如果直到最后一个“整型数值n”都没有找到相等的值,那么就执行default后的“语句n+1”。switch执行过程
当和某个整型数值匹配成功后,会执行该分支以及后面所有分支的语句。switch重点强调
switch重点强调输入4,发现和第四个分支匹配成功,于是就执行第四个分支以及后面的所有分支。这显然不是我们想要的结果,我们希望只执行第四个分支,而跳过后面的其他分支。为了达到这个目标,必须要在每个分支最后添加break;语句
break关键字break是C语言中的一个关键字,专门用于跳出switch语句。所谓“跳出”,是指一旦遇到break,就不再执行switch中的任何语句,包括当前分支中的语句和其他分支中的语句;也就是说,整个switch执行结束了,接着会执行整个switch后面的代码。
case后面必须是一个整数,或者是结果为整数的表达式,但不能包含任何变量。请看下面的例子:case10:printf(...); break; //正确case8+9:printf(...);break; //正确caseA:printf(...);break; //正确,字符和整数可以相互转换caseA+19:printf(...);break; //正确,字符和整数可以相互转换case9.5:printf(...);break; //错误,不能为小数casea:printf(...);break; //错误,不能包含变量casea+10:printf(...);break; //错误,不能包含变量(2)default不是必须的。当没有default时,如果所有case都匹配失败,那么就什么都不执行。
谢谢THANKYOU
您可能关注的文档
- C语言实例教程(第3版)课件 1.3C语言编程步骤.pptx
- C语言实例教程(第3版)课件 2.2C语言程序结构.pptx
- C语言实例教程(第3版)课件 3.2标识符.pptx
- C语言实例教程(第3版)课件 C语言实例教程(第3版)课件 4.2 格式化输出.pptx
- C语言实例教程(第3版)课件 8.1函数定义-张俊晖.pptx
- C语言实例教程(第3版)课件 5.4 逻辑运算符.pptx
- C语言实例教程(第3版)课件 6.1 if语句.pptx
- C语言实例教程(第3版)课件 7.1 while语句.pptx
- C语言实例教程(第3版)课件 7.2 do-while语句.pptx
- C语言实例教程(第3版)课件 5.2 算术运算符.pptx
- 福建省漳州市诏安片区2024-2025学年八年级上学期期中考试物理试题.pdf
- 河北省承德县2024-2025学年高三年级下学期3月月考英语试题.pdf
- 河北省邯郸市涉县第一中学2024-2025学年高一上学期期末考试化学试题(含答案).pdf
- 2025届浙江省天域名校协作体高三下学期一模考试语文试题.pdf
- 河北省保定市博野县部分学校2024-2025学年高三下学期3月月考思想政治试题(含解析).pdf
- Unit 2 No Rules No Order 单元测试题(含答案) 2024-2025学年人教版英语七年级下册.pdf
- 广东省梅州市兴宁市2024-2025学年七年级下学期三月份核心素养测试英语试卷(含答案,无听力音频及原文).pdf
- 河南省南阳市部分学校高三下学期3月联考思想政治试题(含答案).pdf
- 2025届陕西省宝鸡市高三下学期模拟测试(二)历史试题(含答案).pdf
- 河南省三门峡市灵宝市2024-2025学年九年级上学期1月期末历史试题(含答案).pdf
文档评论(0)