ImageVerifierCode 换一换
格式:PPT , 页数:31 ,大小:904.50KB ,
文档编号:3368833      下载积分:25 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-3368833.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文([工学]第五章选择结构程序设计课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

[工学]第五章选择结构程序设计课件.ppt

1、第五章第五章 选择结构程序设计选择结构程序设计本章重点、难点本章重点、难点:1、运算符的优先级运算符的优先级 2.2.逻辑运算符逻辑运算符 3.3.If If else else 的应用的应用 4、switch 结构的应用结构的应用5.1 关系运算符和关系表达式关系运算符和关系表达式关系运算即比较运算,将两个值进行比较。关系运算即比较运算,将两个值进行比较。运算符运算符运算关系运算关系实例实例 大于大于abab=大于等于大于等于a=ba=b 小于小于2121=小于等于小于等于c=dcb;/*c的值为的值为0*/d=a+22&a3|逻辑或逻辑或s6!逻辑非逻辑非!a其中,!运算是单目运算其中,!

2、运算是单目运算,其它为双目运算符,其它为双目运算符.优先级(从高到低):优先级(从高到低):!(非)!(非)-&(与)(与)-|(或)(或)5.2 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式ab!a!ba&ba|b非非0非非00011非非0001010非非01001001100逻辑运算真值表:逻辑运算真值表:5.2 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式2.复杂逻辑关系的表示复杂逻辑关系的表示 在实际应用中,经常会遇到描述复杂的关系。如:判断在实际应用中,经常会遇到描述复杂的关系。如:判断 x是否是否大于等于大于等于5或小于或小于3。此类关系的描述在程序设计中会大量使用。此类关系的描述

3、在程序设计中会大量使用。035x=50-23-2x&x=a&ch=A&chc+d&a=b*34注意:在无法确定优先注意:在无法确定优先级时,加()区分。简级时,加()区分。简化表达式。化表达式。5.2 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式4.在逻辑运算中,如果逻辑值能确定,则不需再进行运算。在逻辑运算中,如果逻辑值能确定,则不需再进行运算。1)1)(表达式(表达式1 1)|(表达式(表达式2 2)|。表达式表达式1 1为真,则不再进行其他表达式的求值为真,则不再进行其他表达式的求值2)2)(表达式(表达式1 1)&(表达式(表达式2 2)&。表达式表达式1 1为假,则不再进行其他表达式

4、的求值为假,则不再进行其他表达式的求值例:例:main()int a=0,b=0,k;k=+a|b+;printf(nk=%d,b=%d,k,b);a=0;k=a&+b;printf(nk=%d,b=%d,k,b);实例运行实例运行 5.3 if 语句语句1.if 1.if(表达式)(表达式)语句语句 格式:格式:if(expression)stat1;语句或复合语句。语句或复合语句。流程图:流程图:e?yesstat1;no入口入口出口出口 5.3.1 If语句的三种格式语句的三种格式例:输入两个实数例:输入两个实数a,b,使,使ab)t=a;a=b;b=t;printf(%f,%f,a,b

5、);例:输入三个数例:输入三个数a,b,c,按由小到大的顺序输出这三个,按由小到大的顺序输出这三个数(即使数(即使abb)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(%f,%f,%f,a,b,c);5.3 if 语句语句2.if else 结构结构格式:格式:if(expression)stat1;else stat2;流程图:流程图:e?yesstat1;stat2;no入口入口出口出口举例:输出举例:输出|x|。#include /*q3.c*/main()int x;scanf(“%d”,&x);if(x=0)printf

6、(“%d”,x);else printf(“%d”,-x);实例运行实例运行 5.3 if 语句语句3.if else if结构结构(多分支)(多分支)格式:格式:if(e1)stat1;else if(e2)stat2;else if(e3)stat3;else if(en-1)statn-1;else statn;框图:框图:e1?ystat1;ne2?ystat2;出口出口nen-1?ystatn-1;nstatn;n-1个条件,满足某个条件,执行对应的语句,然个条件,满足某个条件,执行对应的语句,然后到出口。后到出口。5.3 if 语句语句征税问题:征税问题:1000以下税率为以下税率

7、为3%10002000税率为税率为4%20003000税率为税率为5%3000以上税率以上税率6%输入收入求应缴税款。输入收入求应缴税款。#include /*q4.c*/void main(void)float x,rate;scanf(“%f”,&x);if(x1000)rate=0.03;else if(x2000)rate=0.04;else if(x3000)rate=0.05;else rate=0.06;printf(“%f”,x*rate);实例运行实例运行 5.3 if 语句语句练习:输入一个分数,将百分制转化为五分制。练习:输入一个分数,将百分制转化为五分制。90分以下分以

8、下 打印打印 A80-90 打印打印 B70-80 打印打印 C60-70 打印打印 D60 以下以下 打印打印 E#include /*q5.c */void main(void)int a;scanf(“%d”,&a);if (a=90)printf(“The score is A”);else if(a=80)printf(“The score is B”);else if(a=70)printf(“The score is C”);else if(a=60)printf(“The score is D”);else printf(“The score is E”);实例运行实例运行 5

9、.3 if 语句语句4.4.if语句的嵌套语句的嵌套对于如下的结构:对于如下的结构:if(e1)stat1;else stat2;在在stat1或或stat2中又含有中又含有if结构:结构:if(e2)stat3;else stat4;称为称为if结构的嵌套。各种结构的嵌套。各种if结构都结构都可以嵌套。可以嵌套。说明:说明:书写采取缩进形式,书写采取缩进形式,便于便于区分。区分。else与最近的与最近的if 相匹相匹配,从内到外。配,从内到外。x=-1;if (x!=0)if (x0)y=1;else y=0;结果?结果?5.3 if 语句语句 如求符号函数:如求符号函数:-1 (x0)#i

10、nclude void main(void)int x,y;scanf(“%d”,&x);if(x0)y=-1;else if (x=0)y=0;else y=1;printf(“x=%d,y=%dn”,x,y);外层外层内层内层在外层在外层else语句中,语句中,含有一个含有一个if结构结构。自学:自学:P1015.3 if 语句语句举例:求一元二次方程举例:求一元二次方程ax2+bx+c=0的根。的根。P108#include /*q6.c */#include void main(void)float a,b,c,d,e,x1,x2;scanf(“%f,%f,%f”,&a,&b,&c);

11、d=b*b-4.0*a*c;if(abs(d)0)printf(“nx1=%f”,(-b+sqrt(d)/(2.0*a);printf(“nx2=%f”,(-b-sqrt(d)/(2.0*a);else printf(“nx1=%f+i%f”,-b/(2.0*a),sqrt(-d)/(2.0*a);printf(“nx2=%f-i%f”,-b/(2.0*a),-sqrt(-d)/(2.0*a);外层外层内内 层层求相等实根。求相等实根。求不等实根。求不等实根。求共扼复根。求共扼复根。实例运行实例运行运行时运行时,如何来输入如何来输入变量的值吗?变量的值吗?为何不写为何不写abs(d)=0?5.

12、3 if 语句语句(5)(5)条件运算符条件运算符 若若ifif语句中,当表达式为语句中,当表达式为“真真”和和“假假”时,都只执行一个赋时,都只执行一个赋值语句且向同一个变量赋值时,可以用简单的条件运算符来处理。值语句且向同一个变量赋值时,可以用简单的条件运算符来处理。例如,若有以下例如,若有以下ifif语句:语句:if if (a ab b)max=a;max=a;else max else maxb;b;可以用下面的条件运算符可以用下面的条件运算符(?:)(?:)来处理:来处理:maxmax(a ab b)?)?a:b;a:b;条件运算符要求有三个操作对象条件运算符要求有三个操作对象,称

13、三目称三目(元元)运算符。运算符。条件表达式的一般形式为:条件表达式的一般形式为:表达式表达式1 1?表达式表达式2 2:表达式表达式3 3 5.3 if 语句语句(5)(5)条件运算符条件运算符几点说明几点说明:v条件运算符的执行顺序:先求解表达式条件运算符的执行顺序:先求解表达式1 1,若为非,若为非0 0(真)则求解(真)则求解表达式表达式2 2,此时表达式,此时表达式2 2的值就作为整个条件表达式的值。若表达式的值就作为整个条件表达式的值。若表达式1 1的值为的值为0(0(假),则求解表达式假),则求解表达式3 3,表达式,表达式3 3的值就是整个条件表达的值就是整个条件表达式的值。式

14、的值。maxmax(a ab b)?)?a a:b bv条件运算符优先于赋值运算符,条件运算符的优先级别比关系运条件运算符优先于赋值运算符,条件运算符的优先级别比关系运算符和算术运算符都低,算符和算术运算符都低,因此因此 max=max=(a ab b)?)?a a:b b 括号可以不要,可写成括号可以不要,可写成 max=amax=ab b?a a:b b 如果有如果有 abab?a a:b+1b+1 相当于相当于a ab b?a a:(:(b b十十1 1),而不相当于(),而不相当于(a ab b?a a:b b)1 1。!算术运算符算术运算符关系运算符关系运算符&|&|条件运算条件运算

15、赋值运算符赋值运算符5.3 if 语句语句(5)(5)条件运算符条件运算符v条件运算符的结合方向为条件运算符的结合方向为“自右至左自右至左”。例:例:abab?a a:cdcd?c c:d d a ab b?a a:(:(c cdd?c c:d d)如如 a=1a=1,b=2b=2,c=3c=3,d d4 4结果?结果?v条件表达式中条件表达式中,表达式表达式1 1的类型可以与表达式的类型可以与表达式2 2和表达式和表达式3 3的类型不同的类型不同.如如:x?a:bx?a:b x x是整型变量是整型变量 表达式表达式2 2和表达式和表达式3 3的类型也可以不同,此时条件表的类型也可以不同,此时

16、条件表达式的值的类型为二者中较高的类型。如达式的值的类型为二者中较高的类型。如xyxy?1 1:1.5 1.5 1 1转换成实型值转换成实型值1 10 0。5.3 5.3 if if 语句语句(5)(5)条件运算符条件运算符例:例:输入一个字符,判别它是否大写字母,如果是,将输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。到的字符。实例运行实例运行main()main()char char chch;scanf(%c,&chscanf(%c,&ch););chch=(=(chch=A&=A

17、&chch=Z)?(ch+32):ch;=Z)?(ch+32):ch;printf(%c,chprintf(%c,ch););5.4 switch 语句语句(重点重点)switch语句(多分支结构)语句(多分支结构)格式:格式:switch (expression)case 常量表达式常量表达式1:statement 1;case 常量表达式常量表达式2:statement 2;case 常量表达式常量表达式n-1:statement n-1;default:statement n;流程:流程:1)、先求先求expression的值。的值。2)、依次比较依次比较expression和各常量表达

18、式的值。和各常量表达式的值。3)、如果和第如果和第i个常量表达式相等,个常量表达式相等,则执行第则执行第i条以后的语句条以后的语句。4)、如果不相等,则执行如果不相等,则执行default以后的语句。以后的语句。5)、各个、各个case和和default的出现次序可以任意的出现次序可以任意.default也可以不要也可以不要5.4 switch 语句语句语句标号的概念语句标号的概念:#include void main(void)char grade;grade=getchar();switch(grade)case A:printf(“90100n”);case B:printf(“8089

19、n);case C:printf(“7079n”);case D:printf(“60 69n”);case E:printf(“60n”);default:printf(“errorn”);语句标号。语句标号。break语句:语句:格式:格式:break;作用:中断作用:中断switch流程。流程。break;break;break;break;break;5.4 switch 语句语句例:输出五分制对应的百分制范围。例:输出五分制对应的百分制范围。#include /*q8.c*/void main(void)char chGrad;chGrad=getchar();switch(chGr

20、ad)case a:case A:printf(“90100n”);break;case b:case B:printf(“8089n”);break;case c:case C:printf(“7079n”);break;case d:case D:printf(“6069n”);break;case e:case E:printf(“实例运行实例运行2”*/default :printf(“Data Error!n”);多个标号可以共用相同的语句。多个标号可以共用相同的语句。default语句可以省略。语句可以省略。实例运行实例运行15.4 switch 语句语句#include main

21、()int v1=0,v2=0;char ch;while(ch=getchar()!=#)switch(ch)case a:case A:case e:case E:case o:case O:case i:case I:case u:case U:v2+;default:v1+;printf(v1=%d,v2=%d,v1,v2);输入:输入:asdOyptUe#结果:结果:v1=9(总个数)总个数),v2=4(元音个数)元音个数)5.4 switch 语句语句#include main()int v1=0,v2=0;char ch;while(ch=getchar()!=#)switch(

22、ch)case a:case A:default:v1+;case e:case E:case o:case O:case i:case I:case u:case U:v2+;printf(v1=%d,v2=%d,v1,v2);输入输入:asdOyptUe#结果:结果:v1=6(非元音个数除非元音个数除a和和A),v2=9(总个数)总个数)5.4 switch 语句语句#include 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;ca

23、se 3:a+;b+;printf(a=%d,b=%d,a,b);运行结果?运行结果?break语句没语句没有,结果?有,结果?运行结果为:运行结果为:a=2,b=1a=2,b=1分支结构小结分支结构小结if构成的三种分支结构构成的三种分支结构单分支:如果单分支:如果ab,则交换则交换a、b的值。的值。if(ab)temp=a;a=b;b=temp;标准二分支:求标准二分支:求a和和b的最大值。的最大值。if(a=b)iMax=a;else iMax=b;两种多分支两种多分支 if-else if结构适用于连续不结构适用于连续不同区间的分支。同区间的分支。if (a=90)printf(“A”);else if(a=80)printf(“B”);else if(a=70)printf(“C”);else if(a=60)printf(“D”);else printf(“E”);switch 结构适用于离散值结构适用于离散值产生的分支产生的分支

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|