第四章选择结构程序设计.ppt

上传人:王** 文档编号:185278 上传时间:2023-04-02 格式:PPT 页数:55 大小:414KB
下载 相关 举报
第四章选择结构程序设计.ppt_第1页
第1页 / 共55页
第四章选择结构程序设计.ppt_第2页
第2页 / 共55页
第四章选择结构程序设计.ppt_第3页
第3页 / 共55页
第四章选择结构程序设计.ppt_第4页
第4页 / 共55页
第四章选择结构程序设计.ppt_第5页
第5页 / 共55页
第四章选择结构程序设计.ppt_第6页
第6页 / 共55页
第四章选择结构程序设计.ppt_第7页
第7页 / 共55页
第四章选择结构程序设计.ppt_第8页
第8页 / 共55页
第四章选择结构程序设计.ppt_第9页
第9页 / 共55页
第四章选择结构程序设计.ppt_第10页
第10页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第四章选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《第四章选择结构程序设计.ppt(55页珍藏版)》请在优知文库上搜索。

1、第四章第四章 选择结构程序设计选择结构程序设计2023年4月2日12时04分选择结构程序概述选择结构程序概述n选择结构程序,又称为分支结构程序。它是三大基本结构之一。选择结构程序,又称为分支结构程序。它是三大基本结构之一。n在这种结构程序中,一定会包含在这种结构程序中,一定会包含条件语句条件语句。计算机根据所指定条件是。计算机根据所指定条件是否满足,决定从给定的两组或多组操作中选择执行。否满足,决定从给定的两组或多组操作中选择执行。2023年4月2日12时04分条件选择控制语句条件选择控制语句nif语句语句 (else 语句语句)nswitch语句语句ngoto语句语句2023年4月2日12时

2、04分条件表达式条件表达式 关系与逻辑运算操作符关系与逻辑运算操作符 关系运算符关系运算符 = = ! = = 逻辑运算符逻辑运算符 ! & |2023年4月2日12时04分条件选择控制语句条件选择控制语句1、if 语句语句(单分支语句单分支语句)条件条件选择体选择体NY if (条件表达式条件表达式) 语句语句; if (条件表达式条件表达式) 语句块语句块 或或 2023年4月2日12时04分例如例如: : (1)(1) 如果如果x0, x0, 输出输出x x。 (2)(2) ifif(x0 x0) printf printf(x=%f, xx=%f, x); ; (3)(3) (2) (

3、2) 如果如果a a等于等于b, b, 输出输出a=ba=b。 ifif(a= =ba= =b) printf printf(%s, a=b%s, a=b); ;2023年4月2日12时04分例如例如: : 如果如果x0, x0, 求求x x的平方根。的平方根。 (1) (1) 将结果放入变量将结果放入变量y y 中中; ; (2) (2) 输出输出x x的平方根的平方根y y。 不管选择体多么复杂不管选择体多么复杂, , 包含多少条语句包含多少条语句, , ifif语句逻辑上是一语句逻辑上是一条语句条语句, , 后面的双分支后面的双分支ifif语句、语句、 多分支多分支ifif语句、语句、

4、switchswitch语句、语句、 循环语句均是逻辑上的一条语句。循环语句均是逻辑上的一条语句。if (x0) y=sqrt(x); printf(平方根平方根=%f, y); 2023年4月2日12时04分计算计算y, y, ( 提示提示: : x x等于等于1 1时,函数无定义。)时,函数无定义。)11xxy#includevoid main( ) float x, y; printf(请输入请输入x: ); scanf(%f, &x); if (x!=1) y=(x+1)/(x -1); printf(x=%6.2f, y=%6.2fn, x, y); 例例1:1:请输入请输入x: 1

5、.2 运行结果为运行结果为: x= 1.20, y= 11.00 2023年4月2日12时04分2、 if - else 语句语句(Two-way selection statement)例:例: #include void main( ) int x; scanf(“%d”,&x); if (x=0) printf(“x 0”); 条件条件语句语句1NY语句语句2if(条件表达式条件表达式) 语句语句1; (语句块(语句块1) else 语句语句2;(语句块;(语句块2)2023年4月2日12时04分例:例: 求两个数求两个数x、 y的最大值的最大值max。用条件表达式表示为:用条件表达式表

6、示为:(xy)?(max=x) : (max=y);用条件表达式表示为:用条件表达式表示为: (i%2= =0)? Printf(“偶数偶数n”) : printf(“奇数奇数n”);if (xy) max=x; else max=y; 例:例: 判断整数判断整数i 的奇偶性。的奇偶性。 if (i%2= =0) printf(偶数偶数n); else printf(奇数奇数n);2023年4月2日12时04分说明:说明: (1) 双分支双分支if语句形式上相当于单分支语句形式上相当于单分支if语句扩展语句扩展else分支而来分支而来, else分支称为分支称为else子句子句, else子句

7、不能单独存在子句不能单独存在。 (2) 在其它高级语言中特别强调在其它高级语言中特别强调else子句前不能有分号子句前不能有分号, C语言中语言中else子句前必有分号。子句前必有分号。 (3) 选择体如为多条语句同样必须采用选择体如为多条语句同样必须采用复合语句复合语句。 2023年4月2日12时04分例例2 2 :n#includenvoid main( ) float x, y; printf(请输入请输入x: ); scanf(%f, &x); if (x=1) y=x+1; else y=x- 1; printf(x=%6.2f, y=%6.2fn, x, y); (x=1)?)?(

8、y=x+1) : (y=x-1);计算计算y y的值:的值: =1111,xxxxyy y, max=x, min=y 如果如果xy, max=y, min=x 输出最大值输出最大值max、 最小值最小值min 例例3 3 :2023年4月2日12时04分n#includenvoid main( ) float x, y; float max, min; printf(请输入两个数请输入两个数x, y: ); scanf(%f, %f, &x, &y); if (xy) max=x; min=y; else max=y; min=x; printf(max=%6.2f, min=%6.2fn,

9、 max, min); 请输入两个数请输入两个数x, y: 1.2, 2.54运行结果运行结果: max= 2.54, min= 1.20 2023年4月2日12时04分n#includenvoid main( ) float x, y; printf(请输入两个数请输入两个数x, y: ); scanf(%f, %f, &x, &y); if (xy) printf(max=%6.2f, min=%6.2fn, x,y); else printf(max=%6.2f, min=%6.2fn, y, x); 请输入两个数请输入两个数x, y: : 1.2, 2.54 运行结果运行结果: max

10、= 2.54, min= 1.20 2023年4月2日12时04分If语句的嵌套语句的嵌套格式:格式: 在在if语句中又包含一个或多个语句中又包含一个或多个if语句称为语句称为if语句的嵌套。语句的嵌套。 if( ) if( ) 语句语句1 else 语句语句2 else 语句语句3 if( ) 语句语句1else if( ) 语句语句2 else 语句语句3 if( ) if( ) 语句语句1 else 语句语句2 else if( ) 语句语句3 else 语句语句42023年4月2日12时04分注意:注意:if与与else的配对关系的配对关系if () if ( ) 语句语句1 else

11、 if( ) 语句语句2 else 语句语句3这种表达与原意不符:这种表达与原意不符: else总是与上边最近的总是与上边最近的if配对配对,因此,把,因此,把“if ()语句语句1”加加上上“ ”才能实现原意,即才能实现原意,即 if () 语句语句1 。2023年4月2日12时04分程序段程序段1: int x = 20; if ( x = 0) if ( x =0 且且 x=0 且且 x=50*/分析下面两个程序段的输出结果分析下面两个程序段的输出结果程序段程序段2: int x = 20; if ( x = 0) if ( x 50) /*该该 if 不可见不可见*/ printf(“

12、 x is okn”); else printf(“ x is not okn”);2023年4月2日12时04分n#includenvoid main( ) float x; float y; printf(请输入请输入x: ); scanf(%f, &x); if (x0) y=-1; else if (x=0) y=0; else y=1; printf(x=%8.4f, y=%5.2fn, x, y); 011y000 xxx例例4 4 :计算计算y y的值:的值: 2023年4月2日12时04分例例5 5 将百分制成绩转成五级记分(将百分制成绩转成五级记分(A A、 B B、 C C

13、、 D D、E E)。)。if (cj=90) ch=A; else if (cj=80) ch=B; else if (cj=70) ch=C; else if (cj=60) ch=D; else ch=E; 表达式表达式1语句语句1NY语句语句2表达式表达式2表达式表达式3语句语句3语句语句4NNYY2023年4月2日12时04分多分支多分支ifif语句可用多条单分支、语句可用多条单分支、 双分支双分支if if 语句等价实现。语句等价实现。例如例如: 例例 4 用单分支用单分支if语句处理:语句处理: if (x0) y=1; 例例 5 用单分支用单分支if语句处理语句处理: if (

14、cj=90) ch=A; if (cj=80&cj=70&cj=60&cj70) ch=D; if (cj=90&grade=80&grade=70&grade=60&grade70)n printf(“Dn ”); n else n printf(“En ”);2023年4月2日12时04分#include void main() char grade; int score; printf(“please input a score:”); scanf(“%d”,&score) ; switch(score/10) case 10: case 9: grade=A;break; case 8

15、: grade=B;break ; case 7: grade=C;break ; case 6: grade=D;break; default: grade=E ; printf(成绩=%d,等级=%cn,score, grade) ;例例6: 根据分数给出考试成绩的等级根据分数给出考试成绩的等级2023年4月2日12时04分例例7:根据考试成绩的等级输出百分制分数段。:根据考试成绩的等级输出百分制分数段。 #includevoid main( ) char grade; scanf(“%c”,&grade); switch (grade) case A:printf(“90-100n”);

16、 break; case B: printf(“75-89n”); break; case C: printf(“60-74n”); break; case D: printf(“60n”); break; default: printf(“errorn”); /最后可省略最后可省略break 2023年4月2日12时04分 t-Turbo C b-Borland C m-Microsoft C v-Visual C 例例 8 根据输入的字符根据输入的字符, 输出相应的字符串。输出相应的字符串。 #includevoid main( ) char ch; scanf(%c, &ch); switch (ch) case t: printf(Turbo Cn); break; case b: printf(Borland Cn); break; casem: printf(Microsoft Cn); break; case v: printf(Visual Cn); break; default: printf(error Cn); 2023年4月2日12时04分本节作业本节作业 1、

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

当前位置:首页 > IT计算机 > C/C++资料

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!