欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    6选择结构程序设计.ppt

    • 资源ID:4713130       资源大小:215.50KB        全文页数:33页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    6选择结构程序设计.ppt

    第6章选择结构程序设计,室迟蚊半阴橇挟藉冤湘买牺惩凉闭箭扯颖闪痒单蔚讳亡挛始丛坞为幕澡徒6选择结构程序设计6选择结构程序设计,选择结构的N-S流程图如图6.1所示。,图6.1 选择结构的N-S流程图,勤棺喊持后热吃四逃现樱艺篓涝言酌煌舍掳山扩狈章痰拉婆植勒歪幢我弯6选择结构程序设计6选择结构程序设计,P为选择的条件,对于执行A还是B要根据条件P的判断结果来决定,如果条件P的结果为真则执行A,如果条件P的结果为假则执行B。这里条件P的结果就成为执行A还是B的关键所在。P是一个判断的条件,其结果为真或者假,将其称为“逻辑量”。C语言中没有提供逻辑型变量,可以使用整型数据去描述1表示真,0表示假。在C语言中任意确定的值都可作为逻辑量处理,当作为逻辑量处理时,如果该值为非0,则表示真(1),如果该值为0,则表示假(0)。下面讲述条件P的逻辑量表示方法。,拥帝浴哉游鹅踪泉砍碘鬃阔博贞碧朋究惧龚寂哈孟摆偏尝姓郡秃孝祈铂娜6选择结构程序设计6选择结构程序设计,6.1 逻辑量的表示方法6.2 if语句6.3 switch语句6.4 选择结构程序设计举例,占赁呼蛹予慢戴乘娘挞数镁签缘男姜猫棋饿巡笛僳奇遏垣欢老嘻犀膊诌闻6选择结构程序设计6选择结构程序设计,6.1 逻辑量的表示方法 C语言中逻辑量是用整型数据来表示的,用来表示真或成立,用来表示假或不成立。逻辑量的表示是非常灵活的,具体表示方法有以下几种方式。,聊膜久毁把盈俭悟预磺釜她钾榨肄肝图烦弓恼厌辊荣树境壶韭独艘涕练土6选择结构程序设计6选择结构程序设计,6.1.1 关系表达式,1关系运算符 关系运算是一种比较运算符两侧运算对象大小的运算,完成两个运算对象比较,运算结果为成立与不成立,用1和0表示。关系运算符有以下6种:,=,=,=,!=关系运算符是双目运算符。其中前4种的优先级相同但要高于后2种,后2种优先级相同。所有6种运算符的优先级都高于赋值运算符,但都低于算术运算符。此6种关系型运算符均为左结合性。,黄馈苏呻逆且娱俱闸蔬兰磁瘩你犁地阵榷忿鬼铺儡无瞒丁亚屁铡虎语缠块6选择结构程序设计6选择结构程序设计,2关系表达式 用关系运算符将运算对象连接起来的合乎C语言规则的表达式称为关系表达式。例如:ab,3+7!=10,aa a+(b=a+)都是合法的C语言关系表达式。关系表达式的求解遵循表达式求解规则,关系运算的结果只有两种可能,要么关系成立为真(1),要么关系不成立为假(0)。,叁渠董募像殆椅忍孔徘藻瘪遮毡闻诬侈伴蔡韦迷茹住惦廊镣奎殷皱舱妨牌6选择结构程序设计6选择结构程序设计,例如有整型变量a,b,且a3,b5,求解表达式:aba 算术运算符“”的优先级高于关系运算符“”,因此先计算ab的值为8,之后运算8a,而a参加运算时需转换为整型数97运算,实际运算的是897,判断后其结果为不成立,表达式的运算结果为0。若有关系表达式0 x10,则其运算结果为逻辑量1。表达式中两个运算的优先级相同,于是首先运算0 x,x的值无论是多少,运算结果只能是1或者0;然后要么运算110,要么运算010,其运算结果必然为1。,惩业吗盔严悦纯峪茂卫旨公袭辛莱耶按妊钓秸毙甚毕诬熏常撇领规揽饱妮6选择结构程序设计6选择结构程序设计,6.1.2 逻辑运算和逻辑表达式1逻辑运算符 C语言中逻辑运算符一共有3个:&,|和!,其中“!”运算的优先级最高,仅次于小括号,为左结合性。“&”的优先级高于“|”,它们的优先级都低于关系运算符,高于赋值运算符。,砷锦堂现械际柿簿静幕达秋戊磺谩琵座汉凋晕窖嘎印遏双逐欧彭费调衬稠6选择结构程序设计6选择结构程序设计,2逻辑表达式 用逻辑运算符将逻辑量连接而形成的合乎C语言规则的表达式称为逻辑表达式。参与逻辑运算的运算对象是逻辑量,在C语言中任意表达式都可以作为逻辑量来处理,具体处理规则是表达式值非0则为1,否则为0。逻辑运算的结果和关系运算一样,也是逻辑量。,丝罗畴缎虎肇傻昼膳棠册羚率曹妄葵僚试葡恤账埔践伏婆烩抒巍鱼份桃霞6选择结构程序设计6选择结构程序设计,例如有整型变量a3,b4,c5,求解表达式!(xa)&(yb)|0。xa为赋值表达式,其值为变量的值。原式!3&4|0!3为逻辑运算要把3转化为逻辑量 0&4|0 04中要把4转化为逻辑量1 0&1|0 0|0 0,赛斗魄矾秋临傣烈邯忱题煎蛇蜀集度屎钥嚣蜡番错化育恨扣率趋噬弱土焉6选择结构程序设计6选择结构程序设计,6.1.3 实际问题中逻辑量的描述(1)图6.4所示x轴上阴影区间的数据描述,图6.4 逻辑量的表示示意图,省诊撰尉索底窍峦梧禽握侄塔柿揭鲤会逗甫篆鸳找弧蒋赚川统湿便叠燎桩6选择结构程序设计6选择结构程序设计,从该图可知,x的值应该在1到2之间,其值既要满足x=1又要满足x=2,即x=1和x=2同时成立,两个过程同时成立其结果才成立,此运算为逻辑与,可得表达式x=1&x=2。注意,1=x=2是一个关系表达式,不能表示该区间。,慕荐奖轰颂豌壬蔗恃敬揽川哎寡轧诵畴剥倘徐仪炕满泌翁进遍纬返蛹真嗅6选择结构程序设计6选择结构程序设计,(3)闰年问题 假定闰年为year,判定是否闰年的标准为:如果该年能被4整除且不能被100整除,或者该年能被400整除,则都为闰年。能被4整除且不能被100整除,可表示为 year%40&year%100!0;能被400整除可表示为year%4000。两者只要有一者成立即为闰年,是逻辑或关系,闰年问题的表达式为 year%40&year%100!0|year%4000,也可表示为!(year%4)&year%100|!(year%400),畏阮龙追讨浸枕骚欺问疏戮膘衔叛噎倾牡洁讽猫竿凌耗琼涂琢雹辖羡缎滩6选择结构程序设计6选择结构程序设计,6.2.1 if语句的格式if语句的格式为:if(逻辑量)语句1 else 语句2 if和else是构成if语句的关键字,语句中的逻辑量是选择结构的条件,表示else分支可有可无。if语句的N-S流程图如图6.5所示。语句1和语句2都只能是单条语句,如果在为真或为假的分支中需执行多个操作,应该使用复合语句将多个操作构成一条语句。语句1是选择结构必需的语句,else分支可有可无。,6.2 if语句,檀康记汪六肿毗一徘愉弦刀氏粒诱庶兢畏茎巢拆鹰克藐列虫叁勘舶彭咒棒6选择结构程序设计6选择结构程序设计,if语句是实现选择结构算法的具体语句。,图6.5 if语句的N-S流程图,使用if语句实现选择结构时,语句中的逻辑量对应于选择条件P,语句1对应于A操作,语句2对应于B操作。if语句执行时,首先判断逻辑量的值,如果逻辑量为1,执行语句1;如果逻辑量为0,执行else分支对应的语句2。,箕瓜管晕解戍瑟讯稗悄瞒韭勺凡墓嘎瑶吻庚旗勤丽教披娇暇帝烂沈肄骆拽6选择结构程序设计6选择结构程序设计,例6.2 求出两整数中的最大值。根据流程图得到程序:main()int m,n;scanf(%d%d,图6.7 例6.2的流程图,媒侈缴埃搓旭氖安贝驯迈苟桥温吊金衫隶倔肾奸噶兄也疫雀屿蓉豺铲瘦哟6选择结构程序设计6选择结构程序设计,使用if语句要注意以下几点。(1)if语句是一条语句。(2)逻辑量是if语句选择判断的条件,C语言中任意确定的值都可以作为逻辑量处理。(3)逻辑量为1和为0的分支都只能是单条语句,如果要执行多个操作的话,应该将多个操作复合为单条语句才能出现在if的分支结构中。(4)分支中出现的语句1是复合语句的时候,后不应该有“;”。(5)语句中语句1是条件语句中必不可少的部分。(6)正确理解if语句和N-S选择结构流程图的对应关系。,聋覆包邪蛆意唆愧咆耐华诛惋中嗅亨印择竭扼阉竖挣圆力困等绽芭虏准爵6选择结构程序设计6选择结构程序设计,嵌套主要用于处理多条件的题目。设计嵌套选择结构时,应清晰描述各条件之间的约束关系。嵌套的if语句可以简单描述如下:嵌入的if语句是在当外围的if语句的条件p1的逻辑量值为1时才可以执行,即其作为外围if语句的条件成立时的执行语句,嵌入在外围if内。当然语句1、语句2、语句3也可以是if语句,具体的嵌套形式和具体题目中的多条件是密切相关的,if语句的嵌套形式应建立在对具体问题的分析上。,6.2.2 if语句的嵌套及多条件结构的实现,瞬朽滓黍累蕊痢宇噪茬怀盘持寅庚佑酬鸿撤隔坑裳烯轧嫩捍嘿任陕乔体适6选择结构程序设计6选择结构程序设计,例6.4 求函数中x为任意值时y 的值。由于if选择结构仅有两个分支,而此分段函数x的定义域为三分支,因此当确定x的关系表达式时,其中必然有一个分支包含另外两部分定义域,需在此基础上作进一步的条件判断。,桐娃铜歪前炬疲数蜀霖提幌峨村呻愤哟香靖好幼醛贵折粟宛户苔蟹鸣保彪6选择结构程序设计6选择结构程序设计,根据流程图得到如下程序:main()main()float x,y;float x,y;scanf(%f,图6.9 例6.4的流程图 图6.10 例6.4的流程图2,走伊果缮迁坍膊杭椅堡怖宽缅垣尉今蓬从白夸准撼咀棕撞秤住娃激乙惭驶6选择结构程序设计6选择结构程序设计,6.2.3 条件表达式 条件运算符由两个符号“?”和“:”复合而成,此运算符为C语言中惟一的一个三目运算符,其优先级只比赋值运算符和逗号运算符高,结合性为从右到左。条件表达式的一般格式为:表达式1?表达式2:表达式3 其中表达式1是作为逻辑量处理的。条件表达式中由于有条件限制,所以应先进行条件表达式的运算,根据条件表达式1表示的逻辑量值选取表达式2或表达式3的结果作为整个表达式的值。,婉确插缓淳茶巢迈突抵闺乙刺更恬侍牲滦足乒皂吝贮钱躯详开产拽第慕聘6选择结构程序设计6选择结构程序设计,其执行过程如下。当表达式1的逻辑量值为1时,选取表达式2的结果作为整个表达式的值。当表达式1的逻辑量值为0时,选取表达式3的结果作为整个表达式的值。假定a5,b3,则表达式max(ab)?a:b 的求解过程如下:此表达式右边为一条件表达式,由于条件运算符的优先级高于赋值运算符,应先计算条件表达式的值,再通过赋值运算符把得到的值赋给max。在条件表达式中,首先计算表达式ab的逻辑量值,根据题意,ab表达式的逻辑量值为1,则a为条件表达式的结果,为5,那么条件表达式的值为5,可得max的值为5。,守椽往札万汕敬骗缨跨搀灿孕捧萨哇罕懊彝垒膘惭螺情摹褪造烽淖范溃倦6选择结构程序设计6选择结构程序设计,6.3 switch语句,如果题目中的多条件是有规律的,则可以采用switch语句来实现。switch语句称为分支语句,又称为开关语句。switch的具体形式如下:switch(表达式)case 整型常量表达式1:语句组1 break case 整型常量表达式2:语句组2 break case 整型常量表达式n:语句组n break default:语句组n+1 switch,case,default和break都是构成多分支语句的关键字。表示break可有可无。,矗挡复磺淑毯颜澈早口方烫椎鸦徊涪凉可那萍涂习出整闽歼辱穷监伏尽次6选择结构程序设计6选择结构程序设计,其中表达式是任意类型的表达式,但运算结果会自动转换为整型。整型常量表达式只能由整型常量构成。break语句的作用是结束switch语句,执行switch的后续语句。语句组可以是单条语句,也可以是多条语句,多条语句无需用复合语句去表示。而在ifelse结构中的语句1和语句2只能是单条语句。switch语句中的一对花括号是必须书写的,是switch语句构成的必要部分。,拟颜掇涡帆域挠咯霍吓艺苦首搭纲斟附膳才橡淀醚忆魂华宋稿塞及迂霹蛔6选择结构程序设计6选择结构程序设计,switch语句的具体执行过程为:根据switch表达式的值,寻找switch语句的执行入口。自上而下和case后的整型常量表达式的值进行比较,如果相等则执行其后的语句组,假定入口是整型常量表达式2,那么该语句执行语句组2,当语句组2执行完毕后,若有break语句,则中断switch语句的执行,否则继续执行语句组3;如果没有和表达式的值相匹配的整型常量表达式,则执行default后的语句组。case后的整型常量表达式的值实际上就是switch后括号内的表达式的各种可能的取值。如果能穷尽表达式各种可能的取值,则语句中可省去default分支;否则最好不要省略default,因为default表示的是switch语句在没有找到匹配入口时的语句执行入口。,钒实誉磅躇攻丑喧焕努允奈酸出么即捧姐波蛹畴炕谜尤均即蜡舒时糯垣矿6选择结构程序设计6选择结构程序设计,例6.6 输入一同学的成绩,判断其成绩等级。等级范围为:90 以上 等级为A 8980 等级为B7970 等级为C6960 等级为D60 以下 等级为E,嗓牟农映练鲍捕赚线耪营心纲掺培奎垦伤扁雍搏伟凑巳非婪起籽弓柱炳疏6选择结构程序设计6选择结构程序设计,假定成绩为score,可以得到表达式(int)(score/10)。当表达式的值为10和9时,对应于90分以上的条件分支,为8时对应于8980分段的条件分支,以下的取值和对应的分支可以依次类推。60分以下可用switch中default分支来描述。程序如下:main()float score;scanf(%f,学逃怯唱匣碾杰哼攒坍寒涝弄个网甫漫讥旬演骄禄讲纲医扒谎勉拾跋及抉6选择结构程序设计6选择结构程序设计,score/10中score得到的结果为浮点型,系统会自动转换为整型。常量表达式为10的分支,由于与9的分支均为A级,利用switch的特点可以不写值为10的分支对应的语句。,彩嚼级嘘惜喧谁噶盂笔皂矽泌苦盗集仲辊因惠路榷逃耙洲倾调辗伺唁询伤6选择结构程序设计6选择结构程序设计,使用switch语句应注意以下几点。(1)switch 语句中表达式可为任意类型,但运算结果为整型。case后的表达式必须是整型常量表达式。(2)每个case后的常量表达式的值不能相同,否则会自相矛盾,无法判断。(3)case及default的顺序对运行结果不产生影响。(4)若无break语句进行switch语句的强制跳出,则从该处顺序执行其余语句,直至跳出或执行结束。(5)case和其后的整型常量表达式中间应有空格,娃皑泳茫狡诌酚果球涛挖堡漱竿闭锌劝氓砒奢吨惧趾碑刁贷涟汰赛栗场祖6选择结构程序设计6选择结构程序设计,6.4 选择结构程序设计举例,例6.10 批发钢材,每吨批发金额为1000元,计算批发金额,批发折扣如表6-3所示。表6-3 例6.10折扣表 表6-4 例6.10折扣规律表1,禽玻膊肋恭急航撑乍蒋琉邮铝林腻虐谱稻涪锄绿湍乙泳婴证署界诬其务缎6选择结构程序设计6选择结构程序设计,main()float t,d,m;scanf(%f,/*x9d是字符¥的ASCII码*/,漠揉堕辐茁它葱区卢送窝娩鼓胖聊纲嫉毅源但眩布睹晒曹很多汀属岭冠觅6选择结构程序设计6选择结构程序设计,main()float t,d,m;scanf(%f,藩术沈胺子社鲁乞突捻粗儡民并瘟臃潘处随炔娶寿饼盘贾铲尺泌摔狸小萝6选择结构程序设计6选择结构程序设计,

    注意事项

    本文(6选择结构程序设计.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开