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

优惠套餐
 

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

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

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

版权提示 | 免责声明

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

C语言程序设计第4章-选择结构程序设计.ppt

1、 第4章 选择结构程序设计4.1 条件判断和选择结构4.2 选择结构中的运算符4.3 用于选择结构的if语句4.4 用于多分支选择结构的switch语句4.5 选择结构程序设计举例2022-8-82 在现实生活中有许多问题需要先进行判断和选择,再执行。判断条件是否满足,并根据这个条件做出指定的操作,或者从给定的两种或多种操作中选择执行其中一种,正是选择结构要解决的问题。本章最重要的内容如下。(1)关系运算符、逻辑运算符和条件运算符。(2)if语句。(3)switch语句。2022-8-834.1 条件判断和选择结构 在现实生活中,需要进行条件判断和选择的场景是很常见的,例如:(1)如果今天预报

2、有雨,我就带雨伞;(2)下学后我们一起去打篮球;(3)身高1.2米以下儿童,免费入园参观;2022-8-84【例4-1】输入两个整数,输出其中的大数。2022-8-85#includeint main()int a,b,max;scanf(%d,%d,&a,&b);if(a=b)max=a;else max=b;printf(max=%dn,max);return 0;程序运行结果:程序运行结果:5,3max=53,5max=54.2 选择结构中的运算符4.2.1 关系运算符与关系表达式 C语言中,“关系运算”实际上就是“比较运算”,将两个数值进行大小比较,根据两个值和所使用的关系运算符,得到

3、一个逻辑值:“真”(值为1)或“假”(值为0)。例如:20 这个关系表达式,它是成立的,逻辑值为“真”,即为1;6=9 这个关系表达式,它是不成立的,逻辑值为“假”,即为0。2022-8-861.关系运算符及其优先级2022-8-87 关系运算符的优先次序为:(1)关系运算符的优先级低于算术运算符,高于赋值运算符。(2)在6个关系运算符中,、=的优先级相同,=和!=的优先级相同;并且前4种高于后2种。例如:x+yz等同于 (x+y)zx=y=z等同于 x=(yz等同于 x=(yz)2022-8-882.关系表达式 用关系运算符将两个数值或表达式(包括算术表达式、关系表达式、逻辑表达式、赋值表达

4、式等)连接起来的式子,称为关系表达式。例如,下面都是合法的关系表达式:x=zxy!=z x(y=5)x(y=z)(x!=y)z2022-8-89 C语言中,关系表达式的值是一个逻辑值,即“真”或“假”,当表示关系运算结果时,以数值1代表“真”,以数值0代表“假”。设a=1,b=2,c=3,d=4,e=5,关系表达式c a+b=1.2米;身高y&y=z等价于(!x)y)&(y=z)x+y|x-zy等价于(x+y)|(x-z)6&5b)?a:b首先计算关系表达式“ab”的值;若“ab”的值为1,则条件表达式的值为“a”;若“ab”的值为0,则条件表达式的值为“b”。【例4-2】输入两个整数,输出其

5、中的大数(使用条件运算符)。2022-8-820#includeint main()int a,b,max;scanf(%d,%d,&a,&b);max=ab?a:b;printf(max=%dn,max);return 0;程序运行结果:程序运行结果:5,3max=53,5max=54.3 用于选择结构的if语句4.3.1 if语句的一般形式 if(表达式)语句1 else 语句22022-8-821【例4-3】输入一个整数,输出其绝对值。2022-8-822#includeint main()int x,y;scanf(%d,&x);if(x=0)y=x;else y=-x;printf(

6、x的绝对值为:%dn,y);return 0;程序运行结果:程序运行结果:5x的绝对值为:5-12x的绝对值为:12【例4-4】输入一个年份,判断是否为闰年。2022-8-823【例4-4】输入一个年份,判断是否为闰年。2022-8-824#includeint main()int year;scanf(%d,&year);if(year%4=0&year%100!=0|year%400=0)printf(%d是闰年n,year);elseprintf(%d不是闰年n,year);return 0;程序运行结果:程序运行结果:20122012是闰年20002000是闰年20182018不是闰年

7、4.3.2 单分支if语句 if(表达式)语句2022-8-825【例4-5】输入一个整数,根据分段函数 输出相应的函数值。2022-8-8262022-8-827#includeint main()int x,y;scanf(%d,&x);if(x0&x5)y=x*x+3;printf(y=%dn,y);return 0;程序运行结果:程序运行结果:-1y=-10y=02y=36y=39【例4-6】输入3个实数,按从大到小的顺序输出。2022-8-828#includeint main()float a,b,c,t;scanf(%f,%f,%f,&a,&b,&c);if(ab)t=a;a=b

8、;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(%5.2f,%5.2f,%5.2fn,a,b,c);return 0;程序运行结果:程序运行结果:1.5,2.3,3.7 3.70,2.30,1.504.3.3 嵌套的if语句其一般形式为:if(表达式1)if(表达式2)语句1 else 语句2 else if(表达式3)语句3 else 语句42022-8-829内嵌的if语句内嵌的if语句另一种形式为:if(表达式1)语句1 else if(表达式2)语句2 else if(表达式n)语句n else 语句n+12022-8-830else总是

9、与它上面最近的未配对的if相配对【例4-7】使用嵌套的if语句实现例4-5中的分段函数。2022-8-831算法1:2022-8-832#includeint main()int x,y;scanf(%d,&x);if(x=0)if(x0)y=3*x+2;else y=0;else if(x=5)y=2*x-1;else y=x*x+3;printf(y=%dn,y);return 0;程序运行结果:程序运行结果:-1y=-10y=02y=36y=39程序1:2022-8-833算法2:2022-8-834#includeint main()int x,y;scanf(%d,&x);if(x0

10、)y=3*x+2;else if(x=0)y=0;else if(x=5)y=2*x-1;else y=x*x+3;printf(y=%dn,y);return 0;程序运行结果:程序运行结果:-1y=-10y=02y=36y=39程序2:4.4 用于多分支选择结构的switch语句switch(表达式)case常量表达式1:语句1 case常量表达式2:语句2 case常量表达式n:语句n default:语句n+1 2022-8-835【例4-8】输入06中的一个数字,输出对应的“星期几”。2022-8-8362022-8-837#includeint main()int day;prin

11、tf(请输入星期的数字编号(06):);scanf(%d,&day);switch(day)case 0:printf(星期日n);case 1:printf(星期一n);case 2:printf(星期二n);case 3:printf(星期三n);case 4:printf(星期四n);case 5:printf(星期五n);case 6:printf(星期六n);default:printf(Error!应该输入06之 间的数字!n);return 0;程序运行结果:程序运行结果:请输入星期的数字编号(06):4星期四星期五星期六Error!应该输入06之间的数字!4.4.2 break

12、语句2022-8-838switch(表达式)case常量表达式1:语句1 break;case常量表达式2:语句2 break;case常量表达式n:语句n break;default:语句n+1 【例4-8】输入06中的一个数字,输出对应的“星期几”。2022-8-8392022-8-840#includeint main()int day;printf(请输入星期的数字编号(06):);scanf(%d,&day);switch(day)case 0:printf(星期日n);break;case 1:printf(星期一n);break;case 2:printf(星期二n);brea

13、k;case 3:printf(星期三n);break;case 4:printf(星期四n);break;case 5:printf(星期五n);break;case 6:printf(星期六n);default:printf(Error!应该输入06之 间的数字!n);return 0;程序运行结果:程序运行结果:请输入星期的数字编号(06):4星期四请输入星期的数字编号(06):9Error!应该输入06之间的数字!4.5 选择结构程序设计举例【例4-9】输入3个数,判断这3个数是否可以构成一个三角形,若可以,则输出三角形的面积,若不可以,则输出“Error!输入的3个数不能构成三角形。

14、”l构成三角形的条件:三边长都为正数;任意两边之和大于第三边。l海伦公式求面积:l预处理命令“#include”2022-8-841 =-areass as bs c2022-8-8422022-8-843#include#includeint main()double a,b,c,s,area;scanf(%lf,%lf,%lf,&a,&b,&c);if(a0&b0&c0&a+bc&b+ca&a+cb)s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(area=%5.2fn,area);else printf(Error!输入的3个数不能构成三

15、角形。n);return 0;程序运行结果:程序运行结果:3.0,4.0,5.0area=6.002.0,4.0,1.0Error!输入的3个数不能构成三角形。【例4-10】求一元二次方程 的解。2022-8-8442022-8-8452022-8-846#include#includeint main()double a,b,c,s,x1,x2,p,q;printf(请输入a,b,c的值:);scanf(%lf,%lf,%lf,&a,&b,&c);s=b*b-4*a*c;if(fabs(a)=1e-6)printf(此方程不是二次方程n);else if(fabs(s)1e-6)x1=-b+

16、sqrt(s)/(2*a);x2=-b-sqrt(s)/(2*a);printf(方程有两个不相等的实根:x1=%.2f,x2=%.2fn,x1,x2);else p=-b/(2*a);q=sqrt(-s)/(2*a);printf(方程有两个共轭复根:x1=%.2f+%.2fi,x2=%.2f-%.2fi n,p,q,p,q);return 0;2022-8-848程序运行结果:程序运行结果:请输入a,b,c的值:0.0,2.0,3.0此方程不是二次方程请输入a,b,c的值:1.0,2.0,1.0方程有两个相等的实根:x1=x2=-1.00请输入a,b,c的值:2.0,3.0,1.0方程有两

17、个不相等的实根:x1=-2.75,x2=-3.25请输入a,b,c的值:2.0,2.0,1.0方程有两个共轭复根:x1=-0.50+0.50i,x2=-0.50-0.50i【例4-11】将某课程考试的百分制成绩转化为等级制成绩。转换规则为:60分以下为“不合格”,6069分为“合格”,7079分为“中等”,8089分为“良好”,90分以上为“优秀”。本例是一个多分支选择问题,下面分别用两种算法解决。算法1:使用嵌套的if语句结构。算法2:使用switch语句结构。2022-8-8492022-8-850算法1:2022-8-851#includeint main()int score;scan

18、f(%d,&score);if(score100)printf(成绩输入有误!n);else if(score60)printf(不合格n);else if(score70)printf(合格n);else if(score80)printf(中等n);else if(score90)printf(良好n);else printf(优秀n);return 0;程序1:程序运行结果:程序运行结果:2022-8-852算法2:2022-8-853#includeint main()int score,grade;scanf(%d,&score);if(score=0&score=100)grade

19、=score/10;switch(grade)case 6:printf(合格n);break;case 7:printf(中等n);break;case 8:printf(良好n);break;case 9:case 10:printf(优秀n);break;default:printf(不合格n);else printf(成绩输入有误!n);return 0;程序2:程序运行结果:程序运行结果:2022-8-854 选择结构要解决的主要问题是根据条件是否成立来选择执行指定选择结构要解决的主要问题是根据条件是否成立来选择执行指定的操作,或者从给定的多种操作中选择其一执行。的操作,或者从给定的

20、多种操作中选择其一执行。关系运算符和逻辑运算符及由它们所形成的表达式是构成判断条关系运算符和逻辑运算符及由它们所形成的表达式是构成判断条件的主要形式,使用时需要注意各运算符的优先级和结合方向。件的主要形式,使用时需要注意各运算符的优先级和结合方向。本章小结注意本章节知识点!2022-8-855 if语句是构成选择结构的重要语句,包括语句是构成选择结构的重要语句,包括3种主要的形式:单分支种主要的形式:单分支if语句、双分支语句、双分支if语句和嵌套的语句和嵌套的if语句。语句。实现多分支选择结构时,可以采用嵌套的实现多分支选择结构时,可以采用嵌套的if语句,语句,也也可以选用可以选用switch语句语句。本章小结注意本章节知识点!

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

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


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