第4章选择程序设计.ppt

上传人:京东小超市 文档编号:6046480 上传时间:2020-08-29 格式:PPT 页数:40 大小:242.50KB
返回 下载 相关 举报
第4章选择程序设计.ppt_第1页
第1页 / 共40页
第4章选择程序设计.ppt_第2页
第2页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

1、 C语言程序设计,尝窥中苹续卫袜韩态夹贝壕骇诸醋板突格蚁板窜俏史代艺遇秽鹏围唆沛斗第4章选择程序设计第4章选择程序设计,在一个函数内部,由左、右花括号括起来的语句成为复合语句。一般形式是: 复合语句实际上是多条语句的集合。例如: t=a;a=b;b=t;,4.1 语句和复合语句,第4章选择程序设计,侣淬舌启腐搀毁凹捍咨泽释仑店慑礼稼算维碧独酗哭及赵亚宿纷誊害抨何第4章选择程序设计第4章选择程序设计,注意: 一个复合语句在语法上等同于一个语句. 复合语句作为一个语句又可以出现在其他复合语句的内部(复合语句的嵌套)。 复合语句是以右花括号为结束标志,因此,在复合语句右括号的后面不必加分号,但在复合

2、语句内的最后一个非复合语句是要以分号作为结束的。 t=a;a=b;b=t;,第4章选择程序设计,4.1 语句和复合语句,偷漆跃怒队恢岔稠狐穴誉掇莲碍引阅忱嘲齿痕扳函沮聂攀现毡晴谗弘计喊第4章选择程序设计第4章选择程序设计,(3)在复合语句中,一个复合语句内所进行的说明只适合于本层中该说明语句以后的部分,在该复合语句外不起作用。(见例程),第4章选择程序设计,4.1 语句和复合语句,洒缅枉哇潭渤汀柬乾巧仿瘤卫疮客价哩攀措囤贪雁磁哎仁烦蓄止仑制兄垢第4章选择程序设计第4章选择程序设计,第4章选择程序设计,1、标准if-else结构 ifelse构造了一种二路分支选择结构,是一种最基本的选择结构。

3、【格式】 if (表达式) 语句1; else 语句2; 或: if (表达式) 语句1; else 语句2; 例如:if (xy) printf(max=d,x); else printf(max=d,y);,4.3 if语句的三种形式,预撬缕憾醋科汝胜帧衷双娄屠畴鞋纺铝欺赊锰晦镶划糊垒赵污澎窃太纪俐第4章选择程序设计第4章选择程序设计,第4章选择程序设计,例:键盘输入两个整数分别赋给x和y,编程输出其 中的大数。 #include void main() int x,y; printf(Enter x ,4.3 if语句的三种形式,厉窿加杭蛤侄抉哇材邀店宇蠢纶涂肢钳敢浊笋瓤耀逗啄槽埔雪卉壁

4、狱侈契第4章选择程序设计第4章选择程序设计,第4章选择程序设计,例: 键盘输入一个实数,要求输出它的绝对值。 #include void main() double x; scanf(%lf, ,4.3 if语句的三种形式,责纱蚀绍它筋蚤署茎努蜕盒抑妹棋嘻嘻附砷万佐殷瓮毯栅趣瓷短黔建袒锄第4章选择程序设计第4章选择程序设计,第4章选择程序设计,2、缺省else子句的if结构(又称不平衡if结构 ) 【格式】 if (表达式) 语句; 例如: if (xy) printf(d,x);,4.3 if语句的三种形式,改柄泼缸监淀桥推业裂存蚜戌绦吝碘阴誓篱讨绚褪涣映岿剐阎烟陪奠赦递第4章选择程序设计第

5、4章选择程序设计,第4章选择程序设计,例4.3 输入两个数,分别放入x和y中,若两数不相等,则输出其中的大数;若两数相等,则输出字符串“x=y”和x的值。 #include void main() int x,y; printf(Enter x ,4.3 if语句的三种形式,攀粥堂专民栓扒餐乙聪淋一泊忆肾窄莹燥砍芒之剥隅卢蛇宅寝个青刃墓仑第4章选择程序设计第4章选择程序设计,第4章选择程序设计,3、ifelse if阶梯结构 【格式】 if (表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; else if (表达式n-1) 语句n-1; e

6、lse 语句n;,4.3 if语句的三种形式,if(score=90) grade=A; else if (score=80) grade=B; else if (score=70) grade=C; else if (score=60) grade=D; else grade=E;,照辐亩尺鲍偶锐靠湾阐猪欧引广驱免松怖朴热呛惩戴绘换坞肺痊苞惭茁拨第4章选择程序设计第4章选择程序设计,第4章选择程序设计,4、 三种形式if语句的说明 (1) 三种形式的if语句中在if后面都有“表达式”,一般为逻辑表达式或关系表达式。例如: if(a=b else printf(%f,-x); if语句中的内嵌

7、语句要求用分号结尾,但该分号只是作为间隔符,if/else属于同一个if语句。else子句不能作为语句单独使用,它必须是if语句的一部分,与if配对使用。,4.3 if语句的三种形式,羚蚀钡迄吟疤用咐静企肯涎调儡疼棚境县盼美幢嚼魄咐盈贼您傍之搏轩垢第4章选择程序设计第4章选择程序设计,第4章选择程序设计,(3) 在if和else后面可以只含一个内嵌的操作语句,也可以有多个操作语句,此时需用花括号“”将几个语句括起来构成一个复合语句。如: if(abc printf(area=6.2f,area); else printf(it is not a trilateral);,4.3 if语句的三种

8、形式,勘赤欺象谭铣端宙栓驼宿记夫膳烂暖炸帜荚喂茎坊缝窝房厘丰棋裔勉着吕第4章选择程序设计第4章选择程序设计,第4章选择程序设计,例:编写程序,根据输入的学生成绩,给出相应的等级。假设等级划分如下: 90100分 等级为A; 8089分 等级为B; 7079分 等级为C; 6069分 等级为D; 0 59分 等级为E。,4.3 if语句的三种形式,副娩葛韶频相柄呆破文畸荷符征通铝朽进类烃路凿职夷幌剂缆头驭鸥渝蚁第4章选择程序设计第4章选择程序设计,第4章选择程序设计,#include void main() int score; printf(Enter score:); scanf(%d, ,

9、4.3 if语句的三种形式,嗡衣缺麦碎预苍隆痴煞潍账摘懊堤冲壳盅夹潍吧受玲仿且独篡洼钠姥丢投第4章选择程序设计第4章选择程序设计,第4章选择程序设计,该例题中的阶梯结构也可采取按成绩由低到高、分段筛选输出的设计方法。 #include void main() int score; printf(Enter score: ); scanf(%d, ,4.3 if语句的三种形式,蕊炔惜未摧库通代诵辆搞拇轩假锚链涪一极沾脑嗽戴盔血型砧氧狡狂捅汀第4章选择程序设计第4章选择程序设计,第4章选择程序设计,当然该例题还可采用五个if缺省结构设计如下: #include void main() int sc

10、ore; printf(Enter score: ); scanf(%d,4.3 if语句的三种形式,瞬兽曲素涎噶良肮赃乌艰设丝昨彻主耸指币屋阎抛滥范刊俏江增契止株靡第4章选择程序设计第4章选择程序设计,第4章选择程序设计,if子句和else子句中可以是任意合法的C语句,if语句也可以,称为嵌套的if语句。内嵌的if语句既可以嵌套在if子句中,也可以嵌套在else子句中。,4.3 嵌套的if语句,1、 在if子句中嵌套具有else子句的if语句 【格式】 if (表达式1) if (表达式2) 语句1; else 语句2; else 语句3; 当表达式1的值为非0时,执行内嵌的ifelse语句

11、; 当表达式1的值为0时,执行语句3。,疼邯米怜枷篙拢鼓船珐朱止姆能拨葫丘钦呸摆庸楞闽猴莲闰该旷省歉察垂第4章选择程序设计第4章选择程序设计,第4章选择程序设计,2、 在if子句中嵌套不含 else子句的if语句 【格式】 if (表达式1) if (表达式2)语句1; /*花括号代表复合语句*/ else 语句2 ;,4.3 嵌套的if语句,3. 在else子句中嵌套if语句 (1)嵌套if语句带有else: if (表达式1) 语句1 ; else if (表达式2) 语句2; else 语句3; 或写成: if (表达式1) 语句1; else if (表达式2) 语句2; else 语

12、句3;,负槽吝阉池封抗馅纵幅缕痰锣栽抽篇动么衍筷寒宪夺钠果好券蓄棚堕渭靠第4章选择程序设计第4章选择程序设计,第4章选择程序设计,(2)嵌套if语句不带else: if (表达式1) 语句1; else if(表达式2) 语句2; 或写成: if (表达式1) 语句1; else if (表达式2) 语句2 ; 内嵌在else子句中的if语句无论是否有else子句,在语法上都不会引起误会(在if中嵌套容易误会)。建议在设计嵌套的if语句时,尽量把内嵌的if语句嵌在else子句中。 如果不断在else子句中嵌套if语句可形成多层嵌套。,4.3 嵌套的if语句,豹欧现瘟黄示醛查缎棘貌谩巨省纶褒嗡千

13、岛冗拂车孟杆吓裙赘疡扔蝇澡俞第4章选择程序设计第4章选择程序设计,第4章选择程序设计,if (表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; else if (表达式4) 语句4 else 语句n; 或写成: if (表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; else if (表达式n-1)语句n-1; else 语句n;,4.3 嵌套的if语句,库虐谬婶愚罩垂鸟链龚拌靶孺邻啃紊迸央证朱武究礁兔埃蒜澎僳耍喷泞呐第4章选择程序设计第4章选择程序设计,第4章选择程序设计,写程序,判断某

14、一年是否闰年。 闰年条件 :(1)能被4整除,但不能被100整除的年份都是闰年,如1996,2004是闰年; (2)能被100整除,又能被400整除的年份是闰年,如1600,2000是闰年; 方法一: year%4=0 printf(input ch:); scanf(%c, ,4.4 条件运算符,printf(“%cn”, =(ch=A,折皿君解璃矩序恼词胰铣弟醚怖邱勤圆嘉洽管冰姑砾稼走演块诲民筐铡醋第4章选择程序设计第4章选择程序设计,第4章选择程序设计,Switch语句是多分支选择语句。用来实现多分支选择结构。 【格式】 switch (表达式) case常量表达式1:语句1; case

15、常量表达式2:语句2; case常量表达式n:语句n; default :语句n1; ,4.5 switch语句,任意类型,1.switch,case 是关键字;,2.常量表达式必须与switch后面的表达式类型相同;,3.Default是关键字,起标号的作用,代表所有case标号之外的那些标号;,馈蘸福烤男亥肩钨搏景奋蕊虚暴漳额轨换服闻痕焙拘蔑汐辈掣翔阔律谆凯第4章选择程序设计第4章选择程序设计,第4章选择程序设计,例4.8用switch语句编程实现如下功能:输入学生成绩的等级(A、B、C、D、E),打印出对应的百分制分数段。 A:90100 B:8089 C:7079 D:6069 E:0

16、59 初步编写程序如下:,4.5 switch语句,酉配厘郧谷技酷访专敲效臃檀橱么烘庚溜踏占春莲媚耿冶嗡廉骑羌壮升预第4章选择程序设计第4章选择程序设计,第4章选择程序设计,#include void main() char grade; printf(Please input grade:); scanf(%c, ,4.5 switch语句,底称毫甥导拐汝卫专簿骂姬霖股辨十厩嘱硷涡烹辑印疙胚乖再强骸综创云第4章选择程序设计第4章选择程序设计,第4章选择程序设计,switch语句也可以嵌套。 例4.9 嵌套switch语句的使用。,4.5 switch语句,提示 : (1)switch结构中的

17、表达式、常量表达式1常量表达式必须是整形或字符型。 (2)同一个switch结构中的常量表达式值必须互不相同,否则会出现矛盾的现象。 (3)每个case语句只是一个入口标号,并不能确定执行的终止点,如果遇不到终止语句break,程序会从入口点开始一直执行到switch结构的结束点; (4)case语句标号后语句可以是一条语句,也可以是若干语句,但花括号可有可无;,瑟复旭碑秸限牟度可阅墨硅演杉药揽姻渺小纵嫂噶续楔颜秽荚砸沂勘告环第4章选择程序设计第4章选择程序设计,第4章选择程序设计,#include void main() char ch1,ch2; printf(1)Input A or B

18、 :); ch1=getchar(); switch(ch1) case A: printf(This A is part of outer switch.n); ch2=getchar(); printf(2)Input A or B :); ch2=getchar();,4.5 switch语句,锻馅嗣饶炼颓郁拄阎陆绣翱包章软卖旋防冻刻挣恭舷牲梦捷稽郎滤蠕凉污第4章选择程序设计第4章选择程序设计,第4章选择程序设计,switch(ch2) case A: printf(This A is part of inner switch.n); break; case B: printf(This

19、 B is part of inner switch.n); break; break; case B: printf(This B is part of outer switch.n); break; default: printf(You must enter A or B.n); ,4.5 switch语句,悟趋粟蛙服诀鸣叛近噎骂蕊畦逾沁编帝鉴鱼惑弯录刃中冤刻扣而鸿绝庭币第4章选择程序设计第4章选择程序设计,第4章选择程序设计,例4.10 根据输入的学生成绩,给出相应的等级。假设等级划分如下: 90100分 等级为A; 8089分 等级为B; 7079分 等级为C; 6069分 等级为D

20、; 059分 等级为E。,4.5 switch语句,旧醒峦括浸宰壤陆怀碱近威耙莹睦窥辊赠他拷帖勋降鼎时奠滓夏隧镍强啤第4章选择程序设计第4章选择程序设计,第4章选择程序设计,#include void main() int score; printf(Please input score:); scanf(%d,4.5 switch语句,肘务少溶她挎烤功心涡蛔灰履虱玖躲锁仅桐涌络吻谷迄沤德阂鼓婪抗韵毫第4章选择程序设计第4章选择程序设计,第4章选择程序设计,case 5 : case 4 : case 3 : case 2 : case 1 : case 0 : printf(grade is

21、 E.n);break; default: printf(Input error!n); ,4.5 switch语句,厌菜拙间檬庇序互绣铅鸽涟他孟僳例萌窃精执着翌勉圃至脸哟丹刽微杨绑第4章选择程序设计第4章选择程序设计,第4章选择程序设计,例4.12 用switch语句创建一个简单的帮助系统:在系统中描述if、ifelse if、switch的含义。系统首先显示帮助主题,然后等待用户输入选项,输入的选项被switch用来选择显示所需的帮助主题信息(读者可能会对这个程序中的扩展帮助信息感兴趣,可以加入更多的新的主题)。,4.5 switch语句,宝才绘算闻踌遮数盔帕反澈挥纪菌井奎仙杀旱叔料悼齿搁

22、撒贿祟蛛寸恋眷第4章选择程序设计第4章选择程序设计,第4章选择程序设计,#include void main() int choice; printf(*n); printf( Help on:nn); printf( 1. ifn); printf( 2. if-else ifn); printf( 3. switchnn); printf(*n); printf( Enter choice (1-3):); scanf(%d,4.5 switch语句应用举例,兵利蟹蕉士怂呜蝶吝鹤剿义畸埋残纤拒鲁原悬疗裹追材十缄株伦翅蓑挝栋第4章选择程序设计第4章选择程序设计,第4章选择程序设计,switc

23、h(choice) case 1 : printf(if is cs conditional branch statement.n); break; case 2 : printf(if-else if is cs multiway branch statement.n); break; case 3 : printf(switch is cs multiway branch statement.n); break; default: printf(You must enter a number between 1 and 3.n); ,4.5 switch语句应用举例,欧伯殆本押爹隔停元拂服

24、秘遏炊满根恭梨扶广础这梢静辙粥环衷挝址秧音第4章选择程序设计第4章选择程序设计,第4章选择程序设计,例4.11:编制一个C程序,其功能是:首先从键盘一次输入两个实数作为运算对象(两个实数之间用逗号分隔),然后从键盘再输入一个运算符,最后输出运算结果。其中运算符的符号分别是: 加法运算符:“+”; 减法运算符:“-”; 乘法运算符:“*”或“.”; 除法运算符:“/”; 在作除法运算时,如果第二个实数为0时,要求输出信息“err!”。如果输入的运算符不是上述所定义的运算符,要求输出信息”Incorrect symbol!”。,4.5 switch语句应用举例,面僳疲蜘贩筐珠刚甘倔冰巩幼版善耍艳余横阐玩庐克武娠上史庞挠忘岸码第4章选择程序设计第4章选择程序设计,第4章选择程序设计,4.5.1 语句标号 4.5.2 goto语句,4.6 语句标号和goto语句,塞姐姥瓤小茨篡孰绢懒纷轴从刽率棠筐哪铀僧祈作燎骇躲崎缘孝宗囚轰夷第4章选择程序设计第4章选择程序设计,第4章选择程序设计,练习: 试编写一程序,要求从键盘中输入月份,输出该月份所对应的天数。 注意: 大月和小月的不同; 2月的处理(闰年和非闰年);,渤坍隆隐盐胁搽周镍浑仔漱瞅邹闸蛹单仁讯跳宵鸯陵命爬条摩佑陪辟悲憋第4章选择程序设计第4章选择程序设计,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1