switch语句最新最全课件.ppt

switch语句最新最全课件.ppt

ID:57402024

大小:302.00 KB

页数:40页

时间:2020-08-18

switch语句最新最全课件.ppt_第1页
switch语句最新最全课件.ppt_第2页
switch语句最新最全课件.ppt_第3页
switch语句最新最全课件.ppt_第4页
switch语句最新最全课件.ppt_第5页
资源描述:

《switch语句最新最全课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、switch语句2021/7/307.1switch语句:switch语句是一条多分支选择语句.在实际应用中,要在多种情况中选择一种情况,执行某一部分语句。当然可以使用嵌套的if,ifelseif语句来处理,但其分支过多,程序冗长,难读,不够灵巧。2021/7/30switch语句是C语言中处理多路选择问题的一种更直观和有效的手段.在测试某个表达式是否与一组常量表达式中的某一值相配时,switch语句显得更为方便.一般形式如下:2021/7/30switch(表达式){case常量表达式1:语句1[break];case常量表达式2:语句2[break];…case常量表

2、达式n:语句n[break];[default:语句n+1]}说明:(1).关于表达式:表达式可以是整型、字符型等表达式。有一个确定的值(不是逻辑值).(2).关于常量表达式1~n:只起到一个标号的作用,根据表达式的值来判断,找到一个相匹配的入口处,程序往下执行。各个case后的常量表达式的值必须互不相同.(3).每个case分支可有多条语句,可不用花括号{}。2021/7/30switch(表达式){case常量表达式1:语句1[break];case常量表达式2:语句2[break];…case常量表达式n:语句n[break];[default:语句n+1]}(4).各个

3、case语句只是一个入口标号,并不确定执行的终止点.(5).一般在各个case语句最后应该加一break语句,可使程序流程跳出Switch结构.否则会从入口处一直向下执行.(6).各个case和default出现的先后次序,并不影响执行结果.default可以没有.2021/7/30(7).多个case可共用一组执行语句.例如为了统计一段文字中的数字,字母及分隔符的个数, 可用下列程序段实现:switch(ch){case‘0’: case‘1’:…. case‘8’:case‘9’:digit++;break;case‘’:case‘’:case‘t’:white

4、++;break;default:character++;break;}这里有一个空格.表达式后都有一冒号”:”.2021/7/30无break语句表达式==常量表达式1?语句序列1真(非0)break假(0)有break语句无break语句表达式=常量表达式2?语句序列2break有break语句真(非0)假(0)表达式=常量表达式n?语句序列nbreak真(非0)假(0)无break语句语句序列n+1有break语句switch(表达式)2021/7/30说明:switch语句不等同于if语句:1.switch只能进行值的相等性的检查.2.if语句不但可以进行相等性的检查,

5、还可以计算关系表达式或逻辑表达式,进行逻辑判断的真假.只进行值的相等性的检查,不是逻辑判断!2021/7/30例7.1键盘输入0-6之间的整数,分别代表每周的星期日、星期一、…、星期六#includeintmain(){intday;printf("请输入星期的数字编号(0-6):");scanf("%d",&day);….Ch7_7_1.c2021/7/30….switch(day){case0:printf("星期日");break;case1:printf("星期一");break;case2:printf("星期二");break;case

6、3:printf("星期三");break;case4:printf("星期四");break;case5:printf("星期五");break;case6:printf("星期六");break;default:printf("输入有误,请输入0-6之间的数字!");}return0;}每个case分支可有多条语句,可不用花括号{},也可以用。表达式有一个确定的值(不是逻辑值).2021/7/30例7.2求执行下列程序段后k的值#includeintmain(){charc=‘2’;intk=1;switch(c+1-'0'){case

7、2:k+=1;case2+1:k+=2;case4:k+=3;}printf("k=%d",k);return0;}一般在各个case语句最后应该加一break语句,可使程序流程跳出Switch结构.否则会从入口处一直向下执行.‘0‘的ASCII值为48.Ch7_7_2.c2021/7/30例7.3执行下列程序,当分别输入A、B、C、E时,求K的值.charc;intk=2;scanf(“%c”,&c);switch(c-’A’){case0:k++;case1:K+=2;break;d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。