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

C语言实例教程(第3版)课件 5.4 逻辑运算符.pptx

C语言实例教程(第3版)课件 5.4 逻辑运算符.pptx

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

主讲人:谢宇C程序设计精品在线开放课程

单元五运算符与表达式5.4逻辑运算符

!逻辑非||逻辑或010203CONTENT逻辑与

以上三种逻辑运算符中,逻辑非“!”的优先级最高,逻辑与“”次之,逻辑或“||”最低。即算术、逻辑、赋值运算符的优先级顺序为: 逻辑非!算术逻辑与、逻辑或||赋值=逻辑运算符的优先级:

逻辑表达式的值为逻辑值,即布尔型(bool),该类型为C99新增的,一些编译器可能还不支持该类型。 逻辑值分为逻辑真值和逻辑假值。一般情况下,在判断时,仅有零值被判断为逻辑假值(false),一切非零值均可被判断为逻辑真值(true);在存储和表示时,通常,使用1表示逻辑真值,0表示逻辑假值。逻辑表达式的类型与值:

逻辑与运算符的运算规则:只有两个操作数均为逻辑真时,结果才为真。其余情况,结果均为假。 逻辑或||运算符的运算规则:只有两个操作数均为逻辑假时,结果才为假。其余情况,结果均为真。逻辑运算符的运算规则:

例如,设有定义语句: inta=3,b=5; 则有: !a:由于a非零,为真,!a为假,其值为0。 a||b:由于a和b均非零,均为真,故逻辑或的结果为真,其值为1。 ab:由于a和b均非零,均为真,故逻辑与的结果为真,其值为1。 !a||b2:由于逻辑非!优先级最高,首先与a结合,而优先级高于||,相当于(!a)||(b2),即0||1为真,其值为1。

逻辑与、逻辑或||均有“短路”特性: 逻辑与“短路”:当逻辑与的左操作数为逻辑假时,就足以判断该逻辑运算的结果为假了,故右操作数就不再被执行。 逻辑或||“短路”:当逻辑或||的左操作数为逻辑真时,就足以判断该逻辑运算的结果为真了,故右操作数就不再被执行。逻辑运算符的特性:

inta=1,b=2,c; c=a||++b; printf(a=%d,b=%d,c=%d\n,a,b,c); 由于a为非零值,即为真,而当逻辑或||的左操作数为真时,就足以判断该逻辑操作的结果为真。故发生“短路”,即右操作数++b不被执行。输出结果为:a=1,b=2,c=1。例如:

#includestdio.hintmain(void){inta=0,b=2,c;c=!a||++ba--;printf(a=%d,b=%d,c=%d\n,a,b,c);return0;}分析以下程序,输出其运行结果:

混合表达式c=!a||++ba--中含有的运算符有逻辑非!、逻辑或||、逻辑与、算术前缀++、算术后缀--、赋值号=等6个运算符。逻辑运算符、算术运算符、赋值运算符的优先级的关系为:逻辑非!算术逻辑与、逻辑或||赋值= 由于该表达式中赋值运算符优先级最低,故最后赋值。代码分析:

根据优先级的高低,表达式!a||++ba--等价于(!a)||((++b)(a--)),而逻辑或||的左操作数!a为真,此时足以判断该表达式的值为真。故发生“短路”,即||的整个右操作数((++b)(a--))不再被执行。 运行结果为: a=0,b=2,c=1代码分析:

谢谢THANKYOU

文档评论(0)

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

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

1亿VIP精品文档

相关文档