欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > PPT文档下载  

    c5选择结构程序设计.ppt

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

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

    c5选择结构程序设计.ppt

    第5章选择结构程序设计,Page2,第5章 选择结构程序设计,主要内容:5.1 关系运算符和关系表达式5.2 逻辑运算符和逻辑表达式【重点】5.3 if语句【重点】5.4 switch语句5.5 程序举例,Page3,5.1 关系运算符和关系表达式,所谓“关系运算符”实际上是“比较运算”。5.1.1 关系运算符及其优先次序(大于)=(大于或等于)=(等于)!=(不等于),附录C,Page4,5.1 关系运算符和关系表达式,5.1.2 关系表达式 用关系运算符将两个表达式(算术表达式或关系表达式,逻辑表达式,赋值表达式,字符表达式)接起来的式子,称关系表达式。例:ab,a+bb+c,(a=3)(b=5),ab)(bc)注:关系表达式的值是一个逻辑值,即“真”或“假”。,C语言中1代表真,0代表假。即关系表达式的值为真,其值为1;关系表达式的值为假,其值为0。,例:若a=3,b=2,c=1,则:“ab”的值为“真”,表达式的值为1;“(ab)=c”的值为“真”,表达式的值为1;“b+ca”的值为“假”,表达式的值为0。,Page5,5.2 逻辑运算符和逻辑表达式,用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。5.2.1 逻辑运算符及其优先次序(1)&(逻辑与)(2)|(逻辑或)(3)!(逻辑非),逻辑运算真值表,Page6,5.2 逻辑运算符和逻辑表达式,5.2.2 逻辑表达式逻辑表达式的值应该是一个逻辑量“真”或“假”。C语言中,在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”,在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。,任何非零的数值都被认作“真”,逻辑运算真值表,例:设a=4,b=5:!a的值为0 a&b的值为1a|b的值为1!a|b的值为14&0|2的值为1,Page7,5.2 逻辑运算符和逻辑表达式,例:53&84-!0,53逻辑值为1,得:表达式值为0,注意:在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。,如:(1)a&b&c 只有a为真时,才需要判断b的值,只有a和b都为真时,才需要判断c的值。(2)a|b|c 只要a为真,就不必判断b和c的值,只有a为假,才判断b。a和b都为假才判断c。,自左向右运算,注意运算符优先级别,Page8,5.2 逻辑运算符和逻辑表达式,例:用逻辑表达式来表示闰年的条件,?,(year%4=0&year%100!=0)|year%400=0,表达式值为真(1)是闰年,否则为非闰年。,!(year%4=0&year%100!=0)|year%400=0),表达式值为真(1)是非闰年,否则为闰年。,答:,(1)能被4整除,但不能被100整除。(2)能被4整除,又能被400整除。,Page9,5.3 if语句,5.3.1 if语句的三种基本形式(1)if(表达式)语句例:if(xy)printf(“%d”,x);,(2)if(表达式)语句1 else 语句2例:if(xy)printf(“%d”,x);else printf(“%d”,y);,Page10,5.3 if语句,(3)if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 else if(表达式m)语句m else 语句n,if(number500)cost=0.15;else if(number300)cost=0.10;else if(number100)cost=0.075;else if(number50)cost=0.05;else cost=0;,例:,Page11,5.3 if语句,说明:(1)3种形式的if语句中在if后面都有表达式,一般为逻辑表达式或关系表达式。(2)第二,第三种形式的if语句中,在每个else前面有一个分号,整个语句结束处有一个分号。else子句不能作为语句单独使用,它必须是if语句的一部分,与if语句配对使用。(3)在if和else后面可以只含有一个内嵌的操作语句,也可以由多个操作语句,此时用花括号将几个语句括起来成为一个复合语句。,Page12,5.3 if语句,例5.1 输入两个实数按代数值由小到大的顺序输出这两个数。,#includevoid main()float a,b,t;scanf(“%f,%f”,运行结果:,Page13,5.3 if语句,例5.2 输入三个数a,b,c,要求按由小到大的顺序输出。,if ab 将a和b对换if ac 将a和c对换if bc 将b和c对换,运行结果:,Page14,5.3 if语句,5.3.2 if语句的嵌套在if语句中又包含一个或多个if语句称为if语句的嵌套。形式:,if()if()语句1 else 语句2else if()语句3 else 语句4,匹配规则:else总是与它上面的最近的统一复合语句中的未配对的if语句配对。,if()if()语句1else if()语句2else 语句3,注:当if和else数目不同时,可以加花括号来确定配对关系。,如:,Page15,5.3 if语句,例5.3 有一个函数:,编一程序,输入一个x值,输出y值。,算法:输入x若x0,则y=1输出y,Page16,5.3 if语句,#includevoid main()int x,y;scanf(“%d”,#includevoid main()int x,y;scanf(“%d”,#includevoid main()int x,y;scanf(“%d”,程序1,程序2,程序3,程序4,#includevoid main()int x,y;scanf(“%d”,Page17,5.3 if语句,题5.1 下面程序的输出是:,#include void main()int x=1;if(x=2)printf(“OK”);else if(x2)printf(“%dn”,x);else printf(“Quit”);,OK,#include void main()int a=5,b=8,c=3,max;max=a;if(cb)if(ca)max=c;else if(ba)max=b;printf(“%dn”,max);,5,else与if语句的匹配,表达式的值,Page18,5.3 if语句,5.3.3 条件运算符格式:表达式1?表达式2:表达式3 功能:判断表达式1的值,如果成立就执行表达式2,否则就执行表达式3使用场合:若在if语句中,当被判别的表达式的值为“真”或“假”时,都执行一个赋值语句且向同一个变量赋值时,可以用一个条件运算符来处理。,if(ab)max=a;else max=b;,例:,Page19,5.3 if语句,说明:(1)条件运算符的执行顺序:先求解表达式,若为非(真)则求解表达式,此时表达式的值就作为整个条件表达式的值。若表达式的值为0(假),则求解表达式,表达式的值就是整个条件表达式的值。(2)条件运算符优先级高于赋值运算符,低于关系运算符和算术运算符。(3)条件运算符的结合方向为“自右至左”。(4)“表达式2”和“表达式3”不仅可以是数值表达式,还可以是赋值表达式或函数表达式。(5)条件表达式中,表达式的类型可以与表达式和表达式的类型不同。,表达式1?表达式2:表达式3,Page20,5.3 if语句,例5.4 输入一个字符,判别它是否大写字母,如果是将它转换成小写字母;如果不是不转换。然后输出最后得到的字符。,如果字符变量ch的值为大写字母,则条件表达式的值为(ch+32),即相应的小写字母。如果ch的值不是大写字母,则条件表达式的值为ch,即不进行转换。,#include void main()char ch;scanf(%c,运行结果:,Page21,5.3 if语句,题5.2 下面程序运行的结果是:,#include void main()int k=4,a=3,b=2,c=1;printf(“%dn”,ka?k:cb?c:a);,#include void main()int x=12,y;y=x12?x+10:x-12;printf(“%dn”,y);,0,自右向左运算:先求表达式cb?c:a的值为1;再求ka?1的值,1,Page22,5.4 switch语句,switch语句的格式:,switch(表达式)case 常量表达式1:语句1 case 常量表达式2:语句2 case 常量表达式n:语句n default:语句n+1,千万不能接(;)号!,注:(1)default语句可以省略不用;(2)case和default与其后面的常量表达式间至少有一个空格;(3)switch语句可以嵌套,break语句只跳出它所在的switch语句。,Page23,5.4 switch语句,switch语句执行流程:,简单语句或复合语句,指语句的最后一条是否为break,case语句出现的次序并不影响执行结果。,执行完一个case后面的语句后,流程控制转移到下一个case继续执行。,Page24,5.4 switch语句,例:要求按照考试成绩的等级输出百分制分数段,用switch语句实现。,switch(grade)case A:printf(“85100n”);case B:printf(“7084n”);case C:printf(“6069n”);case D:printf(“60n”);default:printf(“errorn”);,把百分制成绩分为A、B、C、D四等。,Page25,5.5 程序举例,例5.5 写程序,判断某一年是否闰年。,if(year%4!=0)leap=0;else if(year%100!=0)leap=1;else if(year%400!=0)leap=0;else leap=1;,Page26,5.5 程序举例,例5.7 运输公司对用户计算运费。路程(s)越远,每公里运费越低。标准如下:s250km 没有折扣 250s500 2%折扣 500s1000 5%折扣 1000s2000 8%折扣 2000s3000 10%折扣 3000s 15%折扣设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费f的计算公式为:f=p*w*s*(1-d),Page27,5.5 程序举例,分析折扣变化的规律性:折扣的“变化点”都是250的倍数,在横轴上加一种坐标c,c的值为s/250。,#include void main()int c,s;float p,w,d,f;scanf(%f,%f,%d,多个可以共用一组执行语句,c代表250的倍数。则:c1,无折扣;1c2,折扣d=2%;2c4,d=5%;4c8,d=8%;8c12,d=10%;c12,d=15%。,Page28,小 结,逻辑运算符和逻辑表达式if语句选择结构程序设计,Page29,思 考 题,1.什么是算术运算?什么是关系运算?什么是逻辑运算?2.C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?,Page30,作 业,习题:1.习题5.32.习题5.53.习题5.64.习题5.8,

    注意事项

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

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




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开