- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 选择语句 结构化编码: 设计好一个结构化的算法之后,还要善于进行结构化编码。 结构化编码是指用结构化的语言(3种基本结构:顺序、条件、循环)的相对语句表示出来。 结构化程序设计方法举例 (二) if语句的嵌套 if语句中的子语句1或子语句2还可以是if语句,这称为if语句的嵌套。 注意:else总是与前面最近的if配对。 一般形式如下: if(表达式1) if(表达式11) 语句11; else 语句12; else if(表达式2) 语句21; else 语句22; 注意区别以下两种if语句结构: (1) if(表达式1) (2) if(表达式1) if(表达式11) {if(表达式11) 语句11; 语句11;} else 语句12; else 语句12; 关键是弄清楚else与if的配对情况 问:第(1)种情况else与哪个if配对? 第(2)种情况else与哪个if配对? 答:第(1)种情况else与第2个if配对 第(2)种情况else与第1个if配对 4.3 多分支选择语句(switch语句) switch语句的一般形式: switch(表达式) { case 常量表达式1: 语句组1;break; case 常量表达式2:?? 语句组2;break; ┇ ┇ case 常量表达式n: 语句组n; break; [default: 语句组n+1;] } 七、 多分支选择语句(switch语句) 执行过程:先求解表达式的值,然后与与后面各常量表达式比较,若与表达式i的值相同,则执行相应语句组i(i为1……n)。[若与常量表达式的值都不相同时,执行default后的语句组n+1]。动画演示如下: 七、 多分支选择语句(switch语句) 【例16】 根据输入的成绩等级A,B,C,D来对应输出相应的说明:“superexcellence(优秀)”,“excellence(良好)”,“middling(中等)”和“pass(及格)”,其它输入都为“failure(不及格)”。 七、多分支选择语句(switch语句) 相关说明: (1) case后面所有的常量表达式与switch后面表达式的值类型相同。 (2) 语句组可以是多个语句组成的,但不需要用大括号括起来。 (3) 如果case后面没有break语句,程序会继续执行后面case后语句组。 (4) 注意case和常量表达式之间要有空格。 (5) Default子句可以省略,case和default子句的出现次序是任意的。 【例17】 对于输入的成绩等级A和B,相应输出为“良好”,C和D 对应着“及格”,其它输入都为“不及格”。 程序代码如下: #include “stdio.h” void main() { char grade; printf(“Please input the grade of score:\n”); scanf(“%c”,grade); printf(“The information of %c is :”,grade); switch(grade) { case ‘A’: case ‘B’: printf(“excellence \n”);break; /*A,B对应“良好”*/ case ‘C’: case ‘D’: printf(“pass \n”);break; /*C,D对应“及格”*/ default: printf(“failure \n”); /*其它为“不及格”*/ } } 【例18】 将下列程序与17对比分析,什么情况下会出现相同与不同的情况。 程序代码如下: #include “stdio.h” void main() { char grade; printf(“Please input the grade of score:\n”); scanf(“%c”,grade); printf(“The information of %c is :”,grade); switch(g
文档评论(0)