- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]chap4选择结构程序设计
注意if-else 配对原则: else 总是与最近的if匹配; else不能单独出现,总是与if配对使用 switch 语句的流程图 switch 语句的N-S图 作 业 作 业 说明: 各case和default子句的先后顺序可以变动,不会影响程序执行结果(前提是每个case语句中都存在break语句) break终止后续case语句序列的执行。(break语句还可以在循环语句中使用) case和常量表达式之间必须有空格; default子句可省略不用 多个case可共用一组执行语句 switch与break语句结合才能实现程序的分支 在case后的各常量表达式值必须互不相同 switch可嵌套 ,但同一个switch语句中,任意两个case的常量表达式值不能相同。 …… case ‘A’: case ‘B’: case ‘C’: printf(“score60\n”); break; …… main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++;b++; break; case 3: a++;b++; } printf(“a=%d,b=%d\n”,a,b); } 4.6 多路分支——switch语句 switch语句的嵌套 注意: break只能跳出其所在的switch语句. 程序运行结果 a=2,b=1 如果x=2? a=1,b=1 如果x=3? a=1,b=1 main( ) { int a=1,b=0; switch(a) { case 1: switch(b) { case 0:printf(“**0**”);break; case 1:printf(“**1**”);break; } case 2:printf(“”**2**);break; } } 4.6 多路分支——switch语句 switch语句的嵌套 结果: **0****2** 例: 从键盘输入分数等级成绩, 输出相应的百分制 规则为: 输出成绩 60 ‘E’ grade ‘A’ ‘B’ ‘D’ 输出成绩 100~90 ‘C’ 输入成绩级别 grade 输出成绩 80~89 输出成绩 70~79 输出成绩 60~69 default 输出“错误的成绩级别” 60以下 E 60~69 D 70~79 C 80~89 B 90~100 A 例:从键盘输入分数等级成绩, 输出相应的百分制 #include stdio.h main() { char grade; printf(“Please input the grade of the score:”); grade=getchar(); switch( grade ) { case ‘A’: printf(“\n Score: 90 ~ 100.\n”); break; case ‘B’: printf(“\n Score: 80 ~ 89.\n”); break; case ‘C’: printf(“\n Score: 70 ~ 79.\n”); break; case ‘D’: printf(“\n Score: 60 ~ 69.\n”); break; case ‘E’: printf(“\n Score: 60 .\n”); break; defaut : printf(“\’%c\’ is not a valid grade[A-E].\n”); break; } } 例: 从键盘输入百分制成绩, 输出相应的分数等级 规则为: E 60以下 D 60~69 C 70~79
文档评论(0)