书签 分享 收藏 举报 版权申诉 / 55
上传文档赚钱

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

  • 上传人(卖家):三亚风情
  • 文档编号:3377061
  • 上传时间:2022-08-25
  • 格式:PPT
  • 页数:55
  • 大小:1.36MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《C语言程序设计-第4章-选择结构程序设计.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语言程序设计 选择 结构 程序设计
    资源描述:

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

    2、生活中,需要进行条件判断和选择的场景是很常见的,例如:(1)如果今天预报有雨,我就带雨伞;(2)下学后我们一起去打篮球;(3)身高1.2米以下儿童,免费入园参观;2022-8-84程序设计技术基础-C语言【例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=5程序设计技术基础-C语言4.2 选择结构中的运算符4.2.1 关系运算符

    3、与关系表达式 C语言中,“关系运算”实际上就是“比较运算”,将两个数值进行大小比较,根据两个值和所使用的关系运算符,得到一个逻辑值:“真”(值为1)或“假”(值为0)。例如:20 这个关系表达式,它是成立的,逻辑值为“真”,即为1;6=9 这个关系表达式,它是不成立的,逻辑值为“假”,即为0。2022-8-86程序设计技术基础-C语言1.关系运算符及其优先级2022-8-87程序设计技术基础-C语言 关系运算符的优先次序为:(1)关系运算符的优先级低于算术运算符,高于赋值运算符。(2)在6个关系运算符中,、=的优先级相同,=和!=的优先级相同;并且前4种高于后2种。例如:x+yz等同于 (x+

    4、y)zx=y=z等同于 x=(yz等同于 x=(yz)2022-8-88程序设计技术基础-C语言2.关系表达式 用关系运算符将两个数值或表达式(包括算术表达式、关系表达式、逻辑表达式、赋值表达式等)连接起来的式子,称为关系表达式。例如,下面都是合法的关系表达式:x=zxy!=z x(y=5)x(y=z)(x!=y)z2022-8-89程序设计技术基础-C语言 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

    5、+y|x-zy等价于(x+y)|(x-z)6&5b)?a:b首先计算关系表达式“ab”的值;若“ab”的值为1,则条件表达式的值为“a”;若“ab”的值为0,则条件表达式的值为“b”。程序设计技术基础-C语言【例4-2】输入两个整数,输出其中的大数(使用条件运算符)。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=5程序设计技术基础-C语言4.3 用于选择结构的if语句4.3.1 if语句

    6、的一般形式 if(表达式)语句1 else 语句22022-8-821程序设计技术基础-C语言【例4-3】输入一个整数,输出其绝对值。2022-8-822#includeint main()int x,y;scanf(%d,&x);if(x=0)y=x;else y=-x;printf(x的绝对值为:%dn,y);return 0;程序运行结果:程序运行结果:5x的绝对值为:5-12x的绝对值为:12程序设计技术基础-C语言【例4-4】输入一个年份,判断是否为闰年。2022-8-823程序设计技术基础-C语言【例4-4】输入一个年份,判断是否为闰年。2022-8-824#includeint

    7、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不是闰年程序设计技术基础-C语言4.3.2 单分支if语句 if(表达式)语句2022-8-825程序设计技术基础-C语言【例4-5】输入一个整数,根据分段函数 输出相应的函数值。2022-8-826程序设计技术基础-C语言2022-8-827#includeint ma

    8、in()int x,y;scanf(%d,&x);if(x0&x5)y=x*x+3;printf(y=%dn,y);return 0;程序运行结果:程序运行结果:-1y=-10y=02y=36y=39程序设计技术基础-C语言【例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;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;程

    9、序运行结果:程序运行结果:1.5,2.3,3.7 3.70,2.30,1.50程序设计技术基础-C语言4.3.3 嵌套的if语句其一般形式为:if(表达式1)if(表达式2)语句1 else 语句2 else if(表达式3)语句3 else 语句42022-8-829内嵌的if语句内嵌的if语句程序设计技术基础-C语言另一种形式为:if(表达式1)语句1 else if(表达式2)语句2 else if(表达式n)语句n else 语句n+12022-8-830else总是与它上面最近的未配对的if相配对程序设计技术基础-C语言【例4-7】使用嵌套的if语句实现例4-5中的分段函数。2022

    10、-8-831算法1:程序设计技术基础-C语言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:程序设计技术基础-C语言2022-8-833算法2:程序设计技术基础-C语言2022-8-834#includeint main()int x,y;scanf(%d,&x);if(x0)y=3*x+2;els

    11、e 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:程序设计技术基础-C语言4.4 用于多分支选择结构的switch语句switch(表达式)case常量表达式1:语句1 case常量表达式2:语句2 case常量表达式n:语句n default:语句n+1 2022-8-835程序设计技术基础-C语言【例4-8】输入06中的一个数字,输出对应的“星期几”。2022-8-836程序设计技术基础-C语言2022-8-837#inclu

    12、deint main()int day;printf(请输入星期的数字编号(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

    13、!应该输入06之间的数字!程序设计技术基础-C语言4.4.2 break语句2022-8-838switch(表达式)case常量表达式1:语句1 break;case常量表达式2:语句2 break;case常量表达式n:语句n break;default:语句n+1 程序设计技术基础-C语言【例4-8】输入06中的一个数字,输出对应的“星期几”。2022-8-839程序设计技术基础-C语言2022-8-840#includeint main()int day;printf(请输入星期的数字编号(06):);scanf(%d,&day);switch(day)case 0:printf(星期

    14、日n);break;case 1:printf(星期一n);break;case 2:printf(星期二n);break;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之间的数字!程序设计技术基础-C语言4.5 选择结构程序设计举例【

    15、例4-9】输入3个数,判断这3个数是否可以构成一个三角形,若可以,则输出三角形的面积,若不可以,则输出“Error!输入的3个数不能构成三角形。”l构成三角形的条件:三边长都为正数;任意两边之和大于第三边。l海伦公式求面积:l预处理命令“#include”2022-8-841 =-areass as bs c程序设计技术基础-C语言2022-8-842程序设计技术基础-C语言2022-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)

    16、s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(area=%5.2fn,area);else printf(Error!输入的3个数不能构成三角形。n);return 0;程序运行结果:程序运行结果:3.0,4.0,5.0area=6.002.0,4.0,1.0Error!输入的3个数不能构成三角形。程序设计技术基础-C语言【例4-10】求一元二次方程 的解。2022-8-844程序设计技术基础-C语言2022-8-845程序设计技术基础-C语言2022-8-846#include#includeint main()double a,b,c,s

    17、,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+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);re

    18、turn 0;程序设计技术基础-C语言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方程有两个不相等的实根: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程序设计技术基础-C语言【例4-11】将某课程考试的百分制成绩转化为等级制成绩。转换规则为:60分以下为“不合格”,6069分为“合格”,7

    19、079分为“中等”,8089分为“良好”,90分以上为“优秀”。本例是一个多分支选择问题,下面分别用两种算法解决。算法1:使用嵌套的if语句结构。算法2:使用switch语句结构。2022-8-849程序设计技术基础-C语言2022-8-850算法1:程序设计技术基础-C语言2022-8-851#includeint main()int score;scanf(%d,&score);if(score100)printf(成绩输入有误!n);else if(score60)printf(不合格n);else if(score70)printf(合格n);else if(score80)print

    20、f(中等n);else if(score90)printf(良好n);else printf(优秀n);return 0;程序1:程序运行结果:程序运行结果:程序设计技术基础-C语言2022-8-852算法2:程序设计技术基础-C语言2022-8-853#includeint main()int score,grade;scanf(%d,&score);if(score=0&score=100)grade=score/10;switch(grade)case 6:printf(合格n);break;case 7:printf(中等n);break;case 8:printf(良好n);brea

    21、k;case 9:case 10:printf(优秀n);break;default:printf(不合格n);else printf(成绩输入有误!n);return 0;程序2:程序运行结果:程序运行结果:程序设计技术基础-C语言2022-8-854 选择结构要解决的主要问题是根据条件是否成立来选择执行指定选择结构要解决的主要问题是根据条件是否成立来选择执行指定的操作,或者从给定的多种操作中选择其一执行。的操作,或者从给定的多种操作中选择其一执行。关系运算符和逻辑运算符及由它们所形成的表达式是构成判断条关系运算符和逻辑运算符及由它们所形成的表达式是构成判断条件的主要形式,使用时需要注意各运算符的优先级和结合方向。件的主要形式,使用时需要注意各运算符的优先级和结合方向。本章小结注意本章节知识点!程序设计技术基础-C语言2022-8-855 if语句是构成选择结构的重要语句,包括语句是构成选择结构的重要语句,包括3种主要的形式:单分支种主要的形式:单分支if语句、双分支语句、双分支if语句和嵌套的语句和嵌套的if语句。语句。实现多分支选择结构时,可以采用嵌套的实现多分支选择结构时,可以采用嵌套的if语句,语句,也也可以选用可以选用switch语句语句。本章小结注意本章节知识点!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C语言程序设计-第4章-选择结构程序设计.ppt
    链接地址:https://www.163wenku.com/p-3377061.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库