收藏 分享(赏)

C语言-09switch-case 多分支开路语句.ppt

上传人:hyngb9260 文档编号:7269015 上传时间:2019-05-12 格式:PPT 页数:20 大小:547KB
下载 相关 举报
C语言-09switch-case 多分支开路语句.ppt_第1页
第1页 / 共20页
C语言-09switch-case 多分支开路语句.ppt_第2页
第2页 / 共20页
C语言-09switch-case 多分支开路语句.ppt_第3页
第3页 / 共20页
C语言-09switch-case 多分支开路语句.ppt_第4页
第4页 / 共20页
C语言-09switch-case 多分支开路语句.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、C语言程序设计,第九课 switch-case 多分支开路语句,9.1 switch-case 语句,在编写应用程序时,在必须从很多可以的选项中选择一组指令的地方,可以使用 if-else 链。在将一个整数表达式的值与特定的值进行比较时,可以使用 switch-case 语句来替代 if-else 链。switch-case 语句的常规格式如下: switch(整型表达式) case 常量1: 语句系列1; break;case 常量2: 语句系列2; break;. .case 常量n: 语句系列n; break;default: 语句 n+1; ,9.2 switch-case 常规书写格

2、式,switch(整型表达式) case 常量1: 语句系列1;break;case 常量2:语句系列2;break;.case 常量n:语句系列n;break;default: 语句 n+1; ,复合语句开始,switch和复合语句结束,以冒号结束,以冒号结束,以冒号结束,以冒号结束,缩进,再次缩进,缩进,9.3 switch-case 执行流程图,在 switch-case 语句中有4个新的关键字:switch、case、default 和 break,下面分别给予介绍。关键字 switch 标识 swithc-case 语句的开始。该关键字后的圆括号内的整型表达式将得到赋值,然后将该表达

3、式的结果与复合语句内包含的各种可以的值依次进行比较。 swith 语句中的表达式必须被指定为整数结果值,否则将会出现编译错误。在 switch-case 语句内,关键字 case 被用来标识或标记与 switch 表达式的值进行比较的每个值。switch 表达式的值与这些 case 值依次进行比较,直到找到匹配的值。当找到匹配值时,执行将从紧跟着该匹配值的语句开始,因此,如下所示,表达式的值决定了在 switch 语句中执行实际开始的位置:,9.4 switch 和 case 关键字,在一个 switch 语句中可以采用任意顺序来包含任意数目的 case 标签。但是,如果表达式的值与所有 ca

4、se 值都不匹配,那么将不执行任何语句,除非遇到关键字 default。关键字 default 是可选的,并且它与 if-else 链中的最后一个 else 的作用相同。,9.5 default 关键字,switch(整型表达式) case 常量1: .break;case 常量2:.break;.case 常量n:.break;default: . /switch 语句结束,若表达式等于常量1,则从这里开始,若表达式等于常量2,则从这里开始,若表达式等于常量n,则从这里开始,若所有常量都不匹配,则从这里开始,/模拟ATM机菜单系统程序片段(完整程序请参考 ex09_01.c)/执行各个分支

5、switch( key ) case 1:printf(“您执行的是修改密码操作!n“); case 2:printf(“您执行的是转帐操作!n“);case 3:printf(“您执行的是存款操作!n“);case 4: printf(“您执行的是取款操作!n“);case 5:printf(“您执行的查询余额操作!n“);case 6:printf(“系统退出!n“); default:printf(“您选择了一个错误的操作!n“); ,一旦通过 switch 语句确定了入口点,所有进一步的 case 赋值都会被忽略,并且,除非遇到关键字 break,否则执行将一直持续到复合语句结束,这就

6、是采用 break 语句的原因,它将标识特定 case 的结束,并使得立即退出 switch 语句,因此,就像关键字 case 标识复合语句中可以存在的起始点一样,break 语句将确定终止点。如果省略了 break 语句,那么匹配的 case 值后的所有情况(包括 default 情况)都会被执行。,10.6 break 关键字,switch(整型表达式) case 常量表达式1: .break;case 常量表达式2:.break;.case 常量表达式n:.break;default: . /switch 语句结束,若表达式等于常量1,则从这里开始,若表达式等于常量2,则从这里开始,若表

7、达式等于常量n,则从这里开始,若所有常量都不匹配,则从这里开始,跳出,跳出,跳出,/模拟ATM机菜单系统程序片段(完整程序请参考 ex09_02.c)/执行各个分支 switch( key ) case 1: printf(“您执行的是修改密码操作!n“);break; /跳出switch语句case 2: printf(“您执行的是转帐操作!n“);break; /跳出switch语句case 3: printf(“您执行的是存款操作!n“);break; /跳出switch语句case 4: printf(“您执行的是取款操作!n“);break; /跳出switch语句case 5: p

8、rintf(“您执行的查询余额操作!n“);break; /跳出switch语句case 6: printf(“系统退出!n“); break; /跳出switch语句default:printf(“您选择了一个错误的操作!n“); ,/*执行下列程序(ts09_01.c,输入为 1 时运行结果是_,输入为 2 时运行结果是_。*/#include void main() int k;scanf(“%d“, ,在编写 switch 语句时,可以使用多个 case 值来引用同一组语句;default标签是可选的。,9.7 多个 case 值引用同一组语句,/程序片段:输入月份,输出相应的天数(i

9、f-else链) /完整程序请参考 ex09_03.c/求相应月份的天数 if(month=1 | month=3 | month=5 | month=7 |month=8 | month=10 | month=12)days = 31; else if(month=2)days = 28; else if(month=4 | month=6 | month=9 |month=11)days = 30; elsedays = 0;,/程序片段:输入月份,输出相应的天数(switch 结构) /完整程序请参考 ex09_04.c/求相应月份的天数 switch(month) case 1: ca

10、se 3: case 5: case 7:case 8: case 10: case 12:days = 31;break;case 2:days = 28;break;case 4: case 6: case 9: case 11:days = 31;break;default:days= 0; ,例子:如表所示是学生的等级成绩情况。表 学生的等级成绩编写一个C程序,接受学生的分数,将分数成绩转换成相应的等级成绩,并显示等级成绩。,9.8 switch 的应用,/* 程序片段:将学生分数成绩转换成相应的等级成绩 完全程序请参考 :ex09_05.c */switch(score/10) /s

11、core/10对百分制成绩进行折算 case 10:case 9: printf(“A 等n“);break;case 8: printf(“B 等n“);break;case 7: printf(“C 等n“);break;case 6: printf(“D 等n“);break;default: printf(“E 等n“); ,/* 程序片段:将学生分数成绩转换成相应的等级成绩 完全程序请参考 :ex09_06.c */if( score100 | score0 )printf(“输入成绩错误!n“); elseswitch( score/10 ) /score/10对百分制成绩进行折算case 10:case 9: printf(“A 等n“);break;case 8: printf(“B 等n“);break;case 7: printf(“C 等n“);break;case 6: printf(“D 等n“);break;default: printf(“A 等n“);,例子:根据下表计算一下销售人员的月收入 表 销售人员的月收入编写一个C程序,接受销售人员的月销售额,计算其月收入,作业,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > C/C++资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报