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

    第四章.选择结构程序设计.ppt

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

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

    第四章.选择结构程序设计.ppt

    第4章 选择结构程序设计,本章内容:1.关系运算符和关系表达式2.逻辑运算符和逻辑表达式3.if语句的使用4.条件运算符和条件表达式5.switch语句的使用,选择结构-根据某些条件决定执行或不执行某组操作,关系运算符和表达式,1.关系运算符及优先次序 比较两个量的运算符称为关系运算符。在语言中有以下关系运算符:大于=大于或等于=等于!=不等于 关系运算符的优先级别:(1)、=、=优先级相等,=、!=优先级相等,前者高于后者。(2)关系运算符的优先级低于算术运算符。(3)关系运算符的优先级高于赋值运算符。,关系表达式的一般形式为:表达式1 关系运算符 表达式2 例如:a+bc-d x3/2 a+10的值为“真”,即为1。(a=3)(b=5)由于35不成立,其值为0。关系表达式是表达式,因此也允许出现嵌套的情况。如:a(bc),a!=(c=d)等。,2.关系表达式,1.逻辑运算符 语言中提供了三种逻辑运算符!非运算&与运算|或运算 运算符&、运算符|均为双目运算符,具有左结合性。非运算符!为单目运算符,具有右结合性。1)逻辑运算符优先级如下:(1)!高于&高于|(2)&,|低于关系运算符,!高于算术运算符(*,/),逻辑运算符和表达式,按照运算符的优先顺序可以得出:ab&cd 等价于(ab)&(cd)!b=c|dc&x+yc)&(x+y)b),逻辑运算符,2)逻辑运算的值:逻辑运算的值也为“真”和“假”两种,用“1”和“0”来表示。反过来在判断一个量是为“真”还是为“假”时,以“0”的数值代表“假”,以非“0”的数值代表“真”。,(1)与运算&参与运算的两个量都为真时(非0),结果才为真(值为1),否则为假(值为0)。例如:50&42,由于50为真,42也为真,其结果也为“真”,表达式的值为1。,3)逻辑运算的规则:,(2)或运算|参与运算的两个量只要有一个为真(非0),结果就为真(值为1)。两个量都为假(值为0)时,结果为假(值为0)。例如:50|58,结果也就为真(值为1)。,(3)非运算!参与运算量为真(非0)时,结果为假(值为0);参与运算量为假(值为0)时,结果为真(值为1)。例如:!(50)的结果为假,即为0。,2.逻辑表达式 逻辑表达式的一般形式为:表达式&表达式 表达式|表达式!表达式 逻辑表达式的值:各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。,3)逻辑运算的规则:,在逻辑表达式的求解中,并不是所有的逻辑运算符都执行,只有在必须执行下一个逻辑运算符才能求出表达式的值时,才执行下一个运算符。(1)表达式1&表达式2&a+b0&b+(a=1,b=-2)如果:表达式1的值是0,无论表达式2的值是什么,整个表达式的值都为0,因此表达式2就不计算了。(2)表达式1|表达式2|a+b0|b+(a=1,b=2)如果:表达式1的值是1,无论表达式2的值是什么,整个表达式的值都为1,因此表达式2就不计算了。,说 明:,(3)若a1,b2,c3,d=4,m和n原值为1(m=ab)&(n=cd)则m0,而n仍保持原值,说 明:,1.if语句有三种基本形式 1)第一种形式,基本形式:if(表达式)语句;如果表达式的值为真,则执行其后语句,否则不执行该语句。,if 语句,void main()int a,b,max;scanf(%d,%d,if(表达式)语句1;else 语句2;如果表达式的值为真,则执行语句1,否则执行语句2。,void main()int a,b;scanf(%d,%d,例:,2)第二种形式,if-else形式,前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:if(表达式1)语句1;else if(表达式2)语句2;else if(表达式m)语句m;else 语句n;,3)第三种形式,if-else-if形式,void main()int result;printf(input your result:);scanf(“%d”,例 如:,在三种形式的if语句中,在if关键字之后均为表达式。该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。,注 意:,例如:if(a=5)语句;if(b)语句;只要表达式的值为非0,即为“真”。但是在 if(a=5);中表达式的值永远为非0,所以其后的语句总是要执行的,但在语法上是合法的。,又如,问下面程序段的输出结果?:int b,a=10;scanf(%d,注 意:,(2)在if 语句中,条件判断表达式必须用括号括起来,即使是一个变量的最简单表达式,也要用括号括起来;在语句之后必须加分号。,(3)在if 语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用 括起来组成一个复合语句。,注意:,例如:交换两个变量 if(ab)t=a;a=b;b=t;,当if语句中包含if语句时,则构成了if 语句嵌套的情形。其一般形式可表示如下:,if(表达式1)if(表达式2)语句1;else 语句2;,2.if 语句的嵌套,if(表达式1)if(表达式2)语句;,在嵌套内的if语句可能又是if-else型的,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配对问题。,if(x=1)if(x5)x+;else x-;其中的else究竟是与哪一个if配对呢?,应该理解为:还是应理解为:if(x=1)if(x=1)if(x5)if(x5)x+;x+;else elsex-;x-;,语言规定,else 总是与它前面最近的if配对,例 如:,例:,如果要使else与第一个if配对,则可加括号 来实现。,例5.3,main()int x,y;scanf(%d,条件运算符为?:三目运算符,即有三个参与运算的量。由条件运算符组成条件表达式的一般形式为:表达式1?表达式2:表达式3 其求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。,条件运算符和条件表达式,条件表达式通常用于赋值语句之中。例如条件语句:if(ab)max=a;else max=b;可用条件表达式写为 max=(ab)?a:b;执行该语句的语义是:如ab为真,则把a 赋予max,否则把b 赋予max。,条件运算符和条件表达式,条件运算符的运算优先级 低于关系运算符和算术运算符,高于赋值符。因此 max=(ab)?a:b可以去掉括号而写为 max=ab?a:b 条件运算符?:是一对运算符,不能分开单独使用。条件运算符的结合方向是自右至左。例如:ab?a:cd?c:d 应理解为 ab?a:(cd?c:d)条件表达式常常用在只执行单个的赋值语句时,不但使程序简洁,也提高了运行效率。,注意以下几点:,例.输入一个字符,若为大写字母,是则转换成小写,否则不转换,main()char ch;scanf(%c,1.switch语句使用的一般形式为:,switch(表达式)case 常量表达式1:语句1;case 常量表达式2:语句2;case 常量表达式n:语句n;default:语句n+1;,switch语句,先计算表达式的值,并逐个与其后的常量表达式值相比较;当表达式的值与某个常量表达式的值相等时,即执行其后的语句;然后不再进行判断,继续执行后面所有case后的语句;如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。,语句的执行过程:,void main()char grade;printf(input your mark:);scanf(%c,程序运行时输入 A,其输出结果是什么?,例 如,在switch语句中,“case 常量表达式”只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,将继续执行所有后面case语句的情况。为了避免上述情况,语言还提供了一种break语句,专用于跳出switch语句。break 语句使用形式为:break;在每一case语句之后增加break 语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。,说 明,switch(表达式)case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;case 常量表达式n:语句n;break;default:语句n+1;,使用switch语句的通常形式为:,void main()char grade;printf(input your mark:);scanf(%c,例题修改如下:,1.在case后的各常量表达式的值不能相同,否则会出现错误。2.在case后,允许有多个语句,可以不用 括起来。3.各case和default子句的先后顺序可以变动,而不会影响程序执行结果。4.default子句可以省略不用。,注意以下几点:,void main()float a,b,s;char c;printf(input expression:a+(-,*,/)b n);scanf(%f%c%f,计 算 器 程 序,用户输入运算数和四则运算符,输出计算结果,1.关系表达式和逻辑表达式是两种重要的表达式,主要用于条件执行的判断。2.语言提供了多种形式的条件语句以构成分支结构。(1)if语句主要用于单向选择。(2)if-else语句主要用于双向选择。(3)if-else-if语句和switch语句用于多向选择。这几种形式的条件语句一般来说可以互相替代。,本章小结,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开