- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 选择结构程序设计 4.1 if语句 4.2 if语句的嵌套 4.3 switch多分支开关语句 4.4 goto及语句标号 4.5 综合实训 选择结构是一种常用的程序结构。在自然界和社会生活中,选择是最为常见的,经常会出现两种或多种选择需要选择其一的情况,并且在任何情况下都有“无论分支多少,必择其一;纵使分支众多,仅择其一”的固定特征。选择结构在执行的时候,需要先进行选择条件的判断,根据所判定的条件决定执行哪个分支,选择判定条件的结果往往是一个逻辑值(如if选择结构),为真(非0)或为假(0),根据此结果执行为真的分支或为假的分支;有的时候判断条件是一个整型值或字符型的值,在执行时可与数值相等的分支进行匹配,如果匹配成功,就去执行相应的分支(如switch分支结构)。 4.1 if语句 在数学计算中,经常会求一个数x的绝对值。该问题的求解方法很简单,即如果这个数x为正数,那么它的绝对值就是它本身;如果x为负数,那么x的绝对值就是-x,即如下公式所示: x (x=0) y = -x (x0) 4.1 if语句 #include stdio.h main() { int x,y; printf(请输入x的值:); scanf(%d,x); /*根据x的值求出y的值。*/ if(x=0){ y=x; } else{y= -x;} printf(x的绝对值y=%d\n,y); } 4.1 if语句 if语句属于分支结构,它的作用是根据所判断的条件是否满足来决定执行哪个语句块。 if语句的一般结构为: if(表达式) { 语句块1; } else { 语句块2; } 4.1 if语句 If语句的执行流程 4.1 if语句 C语言中表达式结果的真假与非0和0相对应,即 如果表达式的求解结果为非0就认为是真,如果是0就认为是 假。 在if语句的一般结构中,语句块1和语句块2可以是一条或 多条合法的C语言语句。如果是一条语句,则包含语句块的 一对花括号可以省略,如果是多条语句则必须用花括号括起 来。在程序的编写中推荐的做法是:无论语句块是一条或多 条语句,都使用花括号,这样既增强程序的可读性又能够减 小出错的机率。 在if语句的基本应用中,有时候会出现else分支中的语句 块2为空的情况。此时可以省略else及else后面的语句而只有 if语句,也就是说只有条件为真的分支。 4.1 if语句 【实训项目一】 从键盘输入两个整数x、y,并按照从大到小 的顺序分别输出x、y的值。 【实训项目二】 从键盘输入三个整数x、y、z,并按照从大到 小的顺序分别输出。 【实训项目三】 从键盘输入两个整数a和k,判断a能否被k整除。 4.2 if语句的嵌套 4.2 if语句的嵌套 在if…else语句中,可以在为真的分支中或者在 为假的分支中或者两个分支中同时存在一个if…else 语句,嵌套可以发生在条件为真的分支中,也可发 生条件为假的分支中,也可以两个分支同时嵌套, 也就是说,在前面的if语句的基本结构中,所对应的 语句块又可以是if语句,当然也可以是其他语句。这 种情况称为if…else语句嵌套,在C语言中嵌套可以 发生255层。 在知识导例中可以看到,在外层的else语句又包含一个 if…else语句,功能是判断x是否等于0和大于零。 4.2 if语句的嵌套 If语句嵌套的基本格式 If(表达式1) If(表达式2) 语句块1; else 语句块2; else If(表达式2) 语句块3; else 语句块4; 4.2 if语句的嵌套 【实训项目一】 根据考试成绩输出相应的成绩等级。100~90 输出“优秀”,89~80输出“良好”, 79~70输 出“中等”, 69~60输出“及格”, 59~0输出 “不及格”,否则输出“不是合法分数”。 【实训项目二】 用户任意输入一个年份,判断是不是闰年。 4.3 switch多分支开关语句 在记录成绩时,有时会用到五等级制记录成绩,根据百分制成绩分别将成绩登记为“优秀(100分-90分)”、“良好(89分-80分)”、“中等(79分-70分)”、“及格(69分-60分)”、“不及格(59分-0分)”,请将百分制成绩记录为五等级制成绩。 4.3 switch多分支开关语句 程序名:ex4_3_1.c #include stdio.h #include stdlib.h main() { int score;
文档评论(0)