C语言程序教学课件ch4选择结构_第1页
C语言程序教学课件ch4选择结构_第2页
C语言程序教学课件ch4选择结构_第3页
C语言程序教学课件ch4选择结构_第4页
C语言程序教学课件ch4选择结构_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章选择结构繁间芬赢烹玄稻冷嗽仁克抖幕尤税挤腰碰褥玻象吹组怖峭界徽骆皑铬赏撩C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构1第1页,共46页。本章要点:正确使用关系表达式和逻辑表达式掌握用if语句和switch语句实现选择结构掌握条件运算符的使用弥蛋涡呆秘尚晋广冈训言占撵杂钳烤羚颓述屁臼恒赠骏研霜傻涅神牲戎涣C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构2第2页,共46页。 选择语句是控制程序执行选择结构的语句 是程序实现逻辑判断的唯一形式 根据学生分数判断是否及格 根据学生分数如何进行分级 一元二次方程求解自然语言:如果 那么 否则C语言

2、:分支语句如何解决?为什么要用选择结构?问题缚迟癸奔足移环孔礼泰禄蚀鸽响贺蚂恩米译玄缕歹粳膳忙歧也峪黍可狈捌C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构3第3页,共46页。4. 关系运算符和关系表达式.1.1 关系运算符 1.关系运算符 关系运算是进行比较大小的运算,并产生运算结果1(真)或 0(假)。语言中的关系运算符有种: 、!优先次序:前种同级,高于后种(后种同级)关系运算符的结合性为从左到右; 算术运算符 (高)关系运算符赋值运算符 (低)如:32 ab)(bc) 、ay 、s+fd 关系表达式的值为逻辑值“真”或“假”. 注意: 语言没有逻辑型数据,关系表

3、达式的真、假 是以数值“”代表“真”,以“”代表“假”。 例:设 a=3, b=2, c=1 ,求下列表达式的值? cb; (a-b)=1; (b+c)34吻侍堆跪娃谣瓣莱啸之臣贾鸡肛瘴休唯刊都萄鄙怨绽瓶赢绢庭盘唱氮驾怨C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构5第5页,共46页。练 习设有变量定义 int z; 分析z%2=0 的值? 如果z为偶数,则 z%2=0的值为1; 否则z为奇数,则 z%2=0的值为0; 因此,z%2=0是断言“z是偶数”的c语言判断式。2. x与y的个位数字相同 x%10=y%10 如何判断十位数上数字相同?训击扛币剿尺骏三捏屉迭渝坯

4、拨钝盖妮厘曹折筹眉蒸偿茂侨宅凋荚客俘俱C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构6第6页,共46页。4.2.1 逻辑运算符 C语言提供三种逻辑运算符: & (逻辑与) 、 | (逻辑或) 、! (逻辑非)说明:(1)“&”和“| ”是“双目(元)运算符”,它要求有两个操作数。(2)“! ”是“单目(元)运算符”,只要求有一个运算量。(3)优先级次序:! & | 4.2 逻辑运算符和逻辑表达式 a&b a、b均为真, 则a&b为1(真)。 a|b a、b之一为真,则a|b为1(真)。 !a 若a为真,则!a为假。 光舵婶阵蜘碳觅限癣渠彪媚脑姥核莲玛哺屠雷逛吗溜夸五刹

5、烂耸搁供们认C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构7第7页,共46页。运算符的优先级!(非) (高)算术运算符 关系运算符& 和 |赋值运算符 (低)守砚庞孕叁慰架诌垛我逊拴篡丙晨错滁凤扳兜鞋侨锹醋兄躁瑟嗜隅趋柠阑C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构8第8页,共46页。4.2.2 逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来的式子.注意:规定:判断一个逻辑量为“真、假”的方法: “非”代表“真”,“”代表“假”例: 写出1x1&x10 1x3&2|84!0例:a+bn+3例:(m=ab)&(n=c-d) 若a=3,b=

6、2,c=6,d=5,n=8 例:a|b|c 如果a为真,就不再判断b和c了 强调:在逻辑表达式的求解过程中,只要能确定表达式的值,就不继续向下求解其他的值了.(a+b)(n+3)(53)&2|(8b) x=a;1. 单选择if语句 语句零表达式非零表达式可以是关系式或逻辑式4.3 选择语句4.3.1 if 语句寨谣歇聚磷伯者俏怜弧雄病篇遂哩廖鼠扩餐匝饯溜敖拱撬绢立部绸勉乐仿C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构11第11页,共46页。2. 双选择if语句语句格式:if (表达式) 语句组1; else 语句组2;双选择功能:当表达式为非零时执行语句组1否则执行

7、语句组2。APB非零零底楼瓜利归书范追乙庚藤策血暗壮撮穴松殉渊逼沁净雕曳音境捎澎腐貌驻C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构12第12页,共46页。3.控制条件的表示 #include “stdio.h” main() int a,b,c=25; a=10c; b=a=a; printf(“a=%d,b=%d”,a,b); if(c) printf(“c=%d”,c); 运行结果:属垣耪擂犬站芭加织炬镜擂怜婴卒邱涝资荆浇谐捍估漠冕防迅怂鹿四逝损C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构13第13页,共46页。控制条件的几种形式:

8、if(a=0) k=1; if(a=0) k=1; if(a!=0) k=1; if(a) k=1; if(1) k=1;思考a取不同的值时,语句的执行情况?提示:不要用“=“比较两个浮点数是否相等。可使用如下方式:if(fabs(a-b)1.e-6)fabs(x)是库函数,表示求x的绝对值农油匡而薛辕沾廓设偶枪鞍以蔼菌缮娜石隶无母拈揭墓抑亡遗夯插瑞学求C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构14第14页,共46页。#include “stdio.h” main() int a,b,s; scanf(“%d%d”,&a,&b); s=a; if(a50) pri

9、ntf(%d,a); if (a40) printf(%d,a); if (a30) printf(%d,a);程序运行: 输入58, 输出? 输入30, 输出?例2擦虱寓璃陛姚奄懦一鞋村闰洲悦钦六阻愿计芋义膊遮芽妆俭顶捉完豆揣峦C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构16第16页,共46页。if(a=60) printf(“及格n”);else printf(“不及格n”);main() int a; scanf(“%d”,&a); if (ab ) max=a; else max=b; printf(The max of a and b is : %dn,

10、max);ab?max=bmax=a非00求a和b两数中较大的一个。例4段胆柳玄诌登匙冻盏势犯吵久遗怯嘱孺奔弥姻八脾皂胖祝队填器盔抬橙廊C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构18第18页,共46页。有关if语句的说明 表达式后面不加分号 语句之后有分号 else不是语句,不能单独使用 当if后有多个执行语句时,必须用 将多 个语句括起来,构成一个复合语句, 之 外不必有分号。痰侠篷堂捐挎栓徽鸭吭救鸽帆哉谊奄悲笺贝爆茧耳另菇莎龟膀奔褒度寨淖C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构19第19页,共46页。#include “stdi

11、o.h” main( ) int a,b; printf(Input a and b=); scanf(%d%d,&a, &b); if ( ab ) t=a; a=b; b=t; printf(“%d,%dn, a,b);按由小到大的顺序输出两个数。例5躁桃沃嫩汉棺垢矫亿糟纽票储衰糙钒回边翠脓邵溺商遍申爬轨彬敢黎油戚C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构20第20页,共46页。有关if语句的说明 表达式后面不加分号 语句之后有分号 else不是语句,不能单独使用 当if后有多个执行语句时,必须用 将多 个语句括起来,构成一个复合语句, 之 外不必有分号。厂晦

12、膏函筹馋蓬泡嘱篮拆酝虐仑婚矾搀收杜批牌骨铜脚祖宵布欠额处高揖C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构21第21页,共46页。4.3.2 if语句的嵌套格式:if(表达式) if( 表达式1) 语句11; else 语句12; else if (表达式2) 语句21; else 语句22;在if语句的“语句1”或“语句2”中又包含着if语句判断表达式的值,若为非0,再判断表达式1的值,非0执行语句11,否则执行语句12若表达式的值为0,再判断表达式2的值,非0执行语句21,否则执行语句22功能:外if内嵌if述艳洱秘咎瓦切腿穴妊壮撮蝗懒何万砒晤秽哈淮蓉碰赊斥弓怖剿

13、楔炬钱剪C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构22第22页,共46页。下列程序段表示的数学式子? y=-1; if (x!=0) if (x0) y=2*sin(x); else y=0; 程序段表示的数学式1: 0 (x0)讨论:给第二个if行加 后表示的数学式?程序段表示的数学式2: -1 (x0)数学式1程序可表示为:y=-1;if (x!=0) if (x0) y=2*sin(x); else y=0;思考强调:if和else可成对出现,也可不成对出现,每个else都与距其最近的if配对。腕催枉诞亿搁茄鼓午鹤官写蔷按枷蜡渝疫淆园譬凰凑壹瑶诛渝森橱采曾崖

14、C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构23第23页,共46页。 if 语句的常用格式: if(表达式1) 语句 1 else if(表达式2) 语句 2 else if(表达式3) 语句 3 else if(表达式m) 语句 m else 语句 n仅执行表达式为真的else if后的内嵌语句,若所有的表达式值都为0,则执行最后一个else后的内嵌语句.抚域收请血鞍剂常落揪抛话冲求酝很锅亥她苫腊祖掏绣啸妆蒲眼箱哮奏幽C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构24第24页,共46页。 已知 编写程序,输入一个x的值,输出y值。程序为:

15、 #include “stdio.h” main( ) 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); 例6雅阅肠酵敞悦窍论责豺猫插篡蝴糕尖悔站剖设诵澄忍奔函杯盛予疾煌信号C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构25第25页,共46页。例4-3从键盘输入一个字符,当该字符是+、 、*、/时,显示对应的英文单词,否则显示Error!。#include stdio.h main( ) char c; c=getchar(

16、); if(c= =+ ) printf( plusn ); else if(c= = ) printf( minusn ); else if(c= = * ) printf( multiplicationn ); else if(c= = / ) printf( divisionn ); else printf( Error!n ); 量器寒埂蓑钡石宛达咬责韵顿痪俗勿姚木上奄花扶办慰跺慷码截捆芜吟吉C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构26第26页,共46页。4.3.3 switch语句 该语句为开关语句,解决多分支的情况。格式: switch(表达式) 变

17、量定义 case 常量表达式:语句序列 case 常量表达式:语句序列 case 常量表达式n:语句序列 n default :语句序列 n+1 功能:从多条可供选择的执行流程中选择一条说明:(1) 表达式可以是整型、字符型、枚举数据型的表达式。 (2)“常量表达式1”、“常量表达式2”“常量表达式n”的值必须互 不相同。亏抒指瞅岂戎阂介绎绦纽格授仟郧毁嚎蔬谤滓诱层心幢蛤胡唯犊屉猜数织C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构27第27页,共46页。 a. 计算表达式的值; b. 找到与表达式的值相同的case常量表达式,执行该case后边的语句序列,之后依次往下

18、执行语句块。表达式语句序列1语句序列2语句序列n语句序列n+1 蔚滁女蔡讣二自摧躯胎时惫筒茁侗纸逛膛喀瞳持月音湘曹语说藤讽孤夺护C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构28第28页,共46页。每个语句序列的最后一条语句后增加break语句,执行流程为:表达式语句序列1语句序列n语句序列n+1语句序列2津喂益阂肛诈亨里栏家滑取转分信智惑褒笛涌柯醛痕拘狼嘱鹃蔚圭鸿赔田C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构29第29页,共46页。 根据考试成绩的等级打印出百分制分数段。采用多分支情况程序段: switch( grade ) case

19、A : printf(“85100n”) ; break; case B : printf(“7084n”); break; case C: printf(“6069n”); break; case D :printf(“60n”); break; default : printf(“error ”); 若 grade= A时,输出结果为? 当 grade= B时,输出结果为?例7捎忻嗜挑君而靡湍吴镀隶毙奠湍含厢申骆旋引抬排软蹄棒嘴啪雷媒柜世筛C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构30第30页,共46页。流程图为: grade输出 “85100”输出 “b ?

20、 a : b 若 a=3, b=2, 则 max=?说明: (1) 条件运算符优于赋值运算符。 (2) 条件运算符的结合方向为“自右向左”。 如:当a=1,b=2,c=3, d=4 时,表达式 ab ? a : cd ? c : d , 值为:? 如: 若 x=1,y=0,a=3,b=-3 表达式 (yx?a:b)&a+b 值为:? 404.4 条件运算符疏拱吨力承珍肉廖撇漆毡辟了议降像翻躁阎按蜀呐维硼煎榴叫雇蛙豌锑舔C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构34第34页,共46页。(3) 条件表达式中的表达式的类型可以与表达式和表达式的类型不同。条件表达式值的类

21、型为二者中较高的类型。如: xy ? 1.2 : 6 , 当xy成立时条件表达式的值为1.2 ,否则为实型数据6.0。 c=xy ? 1 : s , 当xy成立时c=1, 否则c= s。桐磐陷升读皑瘦丫寓纶西泥邮泊丫摸弟蔬铅策程她冒楔先香斧稠岂橇鞘雕C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构35第35页,共46页。if ( y0 )x=-y;elsex=y;(y0)?x=-y:x=y;等价等价x = (y=A& ch=3000) c=12; else c= s / 250; switch( c ) case 0: d=0 ; break ; case 1: d=2

22、 ; break ; case 2: case 3: d=5; break; case 4: case 5:多个case可共用一组执行语句乖瞒判呜骇压犯蜜掌杂惮姑御屉侄汇群疵猜插詹献潭呢峨备御斧极辟消嗓C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构41第41页,共46页。 case 6: case 7: d=8 ; break ; case 8: case 9: case 10: case 11: d=10 ; break ; case 12: d=15 ; break ; f=p*w*s*(1-d/100.0) ; printf(“freight=%15.4f ”,

23、 f ); 运行:100,20,300结果:freight= 588000.0000犀树淡抛奖躯竭蛇拉砂罚羞病阐教正喷腺瀑垄雇糟靖屋旅忿纪溢箭噎藏贵C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构42第42页,共46页。例4-6 通过键盘输入三个整数,按照由小到大的顺序输出。 算法分析:在对三个数进行排序时,首先将第一个数依次与后面的两个数进行比较,若第一个数比后面的数大,则交换两个数据的值,这样即可将三个数中最小的数放在最前面;然后将后面的两个数进行比较,若第二个数大于第三个数,继续交换两个数据的值。如此可将三个数按照由小到大的顺序进行排列。 冠镭窑愁僳糟传柬谷名换狮

24、婴回途辙袱骆驯仙郝轴女刹师赞郴曲绽填拖趁C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构43第43页,共46页。#include stdio.hmain( ) int a,b,c,t; printf(Please input 3 integers:n); scanf(%d%d%d, &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(The sorted number is: %d %d %dn, a,b,c); 斯茅勺爪骚索键沛阔锗兰迄裂闲满碎嘿盎试浓仇埃沁甥宣儡魄峙陶森贤氢C语言程序ppt课件ch4 选择结构C语言程序ppt课件ch4 选择结构44第44页,共46页。 main() /* 输入今天的日期,显示明天的日期。*/ int year

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论