欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言程序设计选择结构程序设计.pptx

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

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

    C语言程序设计选择结构程序设计.pptx

    关系运算符 小于 大于 优先级高(6)=大于或等于=等于 优先级低(7)!=不等于第1页/共34页关系表达式比较两个运算数,表达式成立则值为1(true),否则值为 0(false):x y /未知 x+5 x/1(true)x+5=x /1(true)第2页/共34页关系运算符与算术运算符算术运算符的优先级是3(乘除余)和4(加减)以下两个表达式的值是多少?10+(20 10)*100以下四个表达式,如果要加括号,并且不能改变原来的优先次序,应该怎么加?10+20 z z=x y,z!=x y z 的值是多少?如果它们的值分别是 1、3、5 呢?数学书上 x y z 的意思是 x大于y,y大于z,这个意思用C语言来表达,应该是:x y&y z第4页/共34页关系运算符和赋值运算符重温:赋值运算符的优先级低(14)x=y z 等价于下面哪个表达式?(x=y)z x=(y z)若 x,y,z 的初值分别是 5,3,1,下面表达式的值是多少?x=y z 第5页/共34页逻辑值表第一行是标题。以第二行为例,读法是:若a真b真,则非a和非b均假,a&b 为真,a|b 亦为真。逻辑表达式求值是自左至右的,一旦发现已经可以根据一个运算数求值,就不会再对第二个运算数求值。例如,在 a&b 中,如果已知a假,则整个逻辑表达式为假,不必再考虑b的值第6页/共34页逻辑运算符的优先级和结合方向逻辑反的结合方向是自右至左,其他逻辑运算符的结合方向均为自左至右逻辑非!,优先级2算术运算符,优先级3和4关系运算符,优先级6和7逻辑与&,优先级11逻辑或|,优先级12赋值运算符,优先级14第7页/共34页表达式求值假定以下变量 a,b,c,d 的值分别是 0,1,2,3,变量 x 和 y 的值未知,请对下列表达式求值:x=y&10=y&x!=xa b|3 1 a x-1 a&b|c&d a&(b|c)&d第8页/共34页表达式求值假定 a,b,c 的值分别是 3,4,5 a+b c&b=c(a+b)c)&(b=c)a|b+c&b c!(a b)&!c|1!(x=a)&(y=b)&0!(a+b)+c 1&b+c/2第9页/共34页练习写一些表达式判断是否“及格”(60分及格)判断是否“英文字母”判断是否“小写英文字母或阿拉伯数字”判断是否“能被4整除”判断是否“能被4整除但不能被100整除”判断是否“闰年”第10页/共34页形式1:if(e)s;是否执行s,取决于e的值 sample:输入g,0,两个printf语句的执行情况如何?#include if(isletter(ch)/*判断ch是否字母*/printf(“%c is a letter n”,ch);printf(“thank you.n”);第11页/共34页形式2:if(e)s1;else s2;e的值非 0,执行 s1,否则执行 s2sample:输入g,0,两个printf 语句的执行情况如何?if(isletter(ch)printf(“%c is a letter n”,ch);else printf(“%c is not a letter n”,ch);第12页/共34页s 可以是一个复合语句sample:三个变量的排序(升序)if(ab)tmp=a;a=b;b=tmp;if(ac)tmp=a;a=c;c=tmp;if(bc)tmp=b;b=c;c=tmp;第13页/共34页形式3:多分枝的if语句注意下面语句的逻辑关系:if(n500)cost=0.15;else if(n300)cost=0.10;else if(n100)cost=0.075;else if(n50)cost=0.05;else const=0.0;例如,第二行相当于说:if(n300)cost=0.10;如果按n值从小到大的顺序来写多分枝的if语句,应该怎么写?第14页/共34页形式4:嵌套的if语句if(e)s1;else s2 中,s1或s2本身又是一个if语句形式3也是嵌套的if语句,但它总是在s2中嵌套if(e)if(e1)s1;else s2;elseif(e2)s3;else s4;第15页/共34页写法1if(x0)y=1;语法、逻辑都没有错,运行也正确,但效率低第16页/共34页写法2和写法3if(x=0)if(x0)y=1;else y=0;else y=-1;第17页/共34页if与else的匹配原则就近匹配:嵌套的if语句中,else总是跟离它最近的上一个尚无匹配的if匹配,不管缩进形式是怎样的:if(e)if(e1)s1;else s2;/*跟匹配*/else /*跟匹配*/if(e2)s3;else s4;/*跟匹配*/第18页/共34页写法4和写法5y=-1;if(x!=0)if(x0)y=1;else y=0;y=0;y=0;if(x=0)if(x=0)if(x0)y=1;if(x0)y=1;else y=-1;else y=-1;第19页/共34页条件表达式e1?e2:e3其中,?:是一个条件运算符,三目的,优先级为13(高于赋值运算符),结合方向是自右至左条件表达式的值是这样计算的:先对e1求值如果e1的值非0,则条件表达式的值为e2否则,条件表达式的值为e3第20页/共34页条件表达式的应用用于二分枝的选择结构,例如:if(ch 128)return 0;else return 1;可写成以条件表达式为宾语的返回语句:return ch=60)grade=Y;else grade=N;第21页/共34页条件表达式的应用条件运算符是自右至左结合的,例如:y=x=0?0:x 0?1:-1相当于y=x=0?0:(x 0?1:-1)因此,条件表达式也可以用于多分枝选择不过,为了容易理解,一般应该用if语句来表达第22页/共34页switch 语句多分枝选择:switch(grade)case A:printf(“85100”n”);break;case B:printf(“7084n”);break;case C:printf(“6069”n”);break;case D:printf(“60 n”);break;default :printf(“error n”);第23页/共34页switch语句与多分枝if语句的关系一般来说,能用switch语句的也能用多分枝if语句来表达,例如:if(grade=A)printf(“85100”n”);else if(grade=B)printf(“7084n”);else if(grade=C)printf(“6069”n”);else if(grade=D)printf(“b)if(ac)return a;else return c;else if(bc)return b;else return c;int m=a;if(bm)m=b;if(cm)m=c;return m;你喜欢哪种写法?第28页/共34页例5.6 求一元二次方程的根输入:系数a,b,c过程和输出:a=0:不是一元二次方程disc=b*b 4*a*c;if(disc绝对值近乎0)打印两个相等实根if(disc绝对值大于0)打印两个不等实根else 打印两个共轭复根第29页/共34页例5.6 教材分析程序的主体是一个嵌套的if语句,共有3层,层数多了,理解起来比较困难第一层的if只带一个语句,而else却带了多层多个语句,不太般配第二层的if也只带一个语句,而else却带了多层多个语句,不太般配第三层的if和else,在层次和语句数量上比较均衡第30页/共34页例5.6 程序修改基本思路:减少层次,尽量不用嵌套的if语句void函数中可以有多个return语句,因此,如果已经处理了某种情况,就可以及时返回,程序其余部分再处理其他情况例如,第一种情况,打印了“不是一元二次方程”之后,即可return,这样就省掉了一个层次请自行修改这个程序第31页/共34页例5.7 运费计算可以有多种写法:如教材所示,用switch语句来写用多分枝if语句来写请比较两种写法,哪一种更好?(用简洁性、可读性等标准来衡量)第32页/共34页本章小结关系运算和逻辑运算是理解选择结构和循环结构的基础四种if语句由简到繁:单分枝、二分枝、多分枝、嵌套,应尽量使用简单的形式switch语句用于多分枝选择,case和default都是入口标号,一旦进入则顺流而下,除非遇到return语句和break语句条件表达式在许多情况下可替代if语句第33页/共34页感谢您的欣赏!第34页/共34页

    注意事项

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

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开