网站大量收购独家精品文档,联系QQ:2885784924

C语言选择结构的.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言选择结构的

第五章 选择结构程序设计 ;5.1 关系运算及其表达式;3.结合性:自左至右; 二、 关系表达式 1.关系表达式的概念 所谓关系表达式是指,用关系运算符将两个表达式连接起来,进行关系运算的式子。 例如,下面的关系表达式都是合法的: ab,a+bc-d,(a=3)=(b=5),a=b,(ab)= =(bc) 2.关系表达式的值:条件成立为真,整数“1”表示“逻辑真; 条件不成立为假,用整数“0”表示“逻辑假”。 例如: int a=2,b=3,c=1; abc 先计算ab,值是1 , 再计算 1c,值是0 632 先计算63 ,值是1 , 再计算 12,值为 1; 练习,假设num1=3,num2=4,num3=5,则: (1)num1num2的值=?。 (2)(num1num2)!=num3的值=?。 (3)num1num2num3的值=?。 思考题:任意改变num1或num2的值,会影响整个表达式的值吗?为什么? (4)(num1num2)+num3的值=? 再次强调:C语言用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。所以,关系表达式的值,还可以参与其它种类的运算,例如算术运算等。;三、条件运算符 ?和: ,它们与三个操作数组组成三元运算。 ? 形式为: 表达式1 ? 表达式2:表达式3 ? 求值规则和表达式的值: 真(非0),求解表达式2 求解表达式1 条件表达式的值 假(0),求解表达式3 例如: int max,a=5,b=3; max=ab?a:b max及赋值表达式的值均为5; ab?a:b+1 条件表达式的值为4。;5.2 逻辑运算及其表达式;(2)运算规则 1):全真为真。当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。 2) || :全假为假。当且仅当两个运算量的值都为“假”时,运算结果为“假”,否则为“真”。 3) ! :非真即假,非假即真。当运算量的值为“真”时,运算结果为“假”;当运算量的值为“假”时,运算结果为“真”。 例如,假定x=5,则(x=0) (x10)的值为“真”,(x-1) || (x5)的值为“假”,!(x5)的值为“真”。 ;2.逻辑运算符的运算优先级 (1)逻辑非的优先级最高,逻辑与次之,逻辑或最低,即: !(非) → (与) → ||(或) (2)与其它种类运算符的优先关系 !→ 算术运算 → 关系运算 → → || → 赋值运算 3.逻辑运算符的结合律 C语言逻辑运算符采用左结合律。表达式中出现优先级别为同一级别的运算符时, 按从左到右的结合方向处理。例如: a b c   计算顺序为:(a b) c。 ;二、逻辑表达式 1.逻辑表达式的概念 所谓逻辑表达式是指,用逻辑运算符将1个或多个表达式连接起来,进行逻辑运算的式子。在C语言中,用逻辑表达式表示多个条件的组合。 例如,a=’a’ a=‘z’ 就是一个判断一个字符是否是小写字母的逻辑表达式。 逻辑表达式的值也是一个逻辑值(非“真”即“假”)。 2.逻辑量的真假判定──0和非0 只有数值0才是逻辑“0”,只要是非零的数值均是逻辑“1”。 逻辑运算值的表示:逻辑真,值为1, 逻辑假,值为0。 例如,假设num=12,则: !num的值=0 , num=1 &&num=31的值=1 ,num || num31的值=1。 ; 3.说明 在计算逻辑表达式时,只有在必须执行下一个表达式才能求解时,才求解该表达式(即并不是所有的表达式都被求解)。换句话说: 1)对于逻辑与运算,如果第一个操作数被判定为“假”,系统不再判定或求解第二操作数。 例:a = 0; b = 1; c = a++ ( b = 3 ); 结果: a为1,b为1,c为0。 2)对于逻辑或运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数。 例:a = 1; b = 1; c=0; d = --a || b-- ||(c = b+3 ); 结果: a为0,b为

文档评论(0)

ayangjiayu3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档