C程序课件第3章数据类型运算符与表达式幻灯片.pptVIP

C程序课件第3章数据类型运算符与表达式幻灯片.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 例: int a=5; float b=3.5; !a 0 !b 0 ab 1 a||b 1 !a!b 0 逻辑表达式中的运算对象可以是任意类型的数据 运算对象的值为0,就是0(“假”) 运算对象的值为非0,视作1(“真”) * (1)a b c 求解方法:只有a为真(非0),才需要判断b的值,只有a和b都为真,才需要判断c的值。只要a为假,就不必判断b和c,运算立即中止。 (2)a || b || c 求解方法:只要a为真(非0),就不必判断b和c;只有a 为假,才判断b;a和b都为假,才判断c。 注意 在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,要能得到确定的结果,逻辑运算就会自动终止。 * 例1:a=32,b=-8 逻辑表达式:a0(b=12)的值为 b的值为 例2:a=b=c=1 逻辑表达式:++b++c||++a的值为 a的值为 b的值为 c的值为 例3:a=0, b=1,c=2 逻辑表达式:a++||b++||- -c的值为 a的值为 b的值为 c的值为 0 -8 1 1 2 2 1 1 2 2 b=12不被执行! ++a不被执行! - -c不被执行! * 逻辑表达式 a 表示 a ? 0 逻辑表达式 !a 表示 a ? 0 != == * 七、条件运算符 条件运算符(三目):表达式1?表达式2:表达式3 条件运算符的执行:先计算表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个表达式的值。 优先级:优先级很低,仅高于赋值运算符和逗号运算符。 结合性:自右向左 例:ab?a:cd?c:d 应解为:ab?a:(cd?c:d) * 例:输两个数a、b,输出最大的数。 #include stdio.h main() { int a=3,b=4,c; printf(“max=%d\n”,c); } c=ab?a:b; 等价于 if(ab) c=a; else c=b; 八、逗号运算符和逗号表达式 形式: 逗号表达式1,逗号表达式2,…,逗号表达式n 功能: 从左至右依次计算各表达式的值,逗号表达式的值是最后一个表达式的值。 优先级: 最低 结合性: 自左至右 例1:d=(a=3,b=5,c=a+b,c+2,a++) 依次进行逗号表达式中各表达式的运算,整个表达式的值为 计算结束后,a、b、c、d的值分别为 d=(a=3,b=5,c=a+b,c+2,a++) 3 a=3 5 b=5 8 c=8 10 3 a=4 3 3 d=3 3 4,5,8,3 例2:(a=3*5,a*4),a+5的值为 a的值为 20 15 (a=3*5,a*4),a+5 15 a=15 60 20 20 九、位运算符 为了节省内存空间,在系统软件中常将多个标志状态简单地组合在一起,存储到一个字节(或字)中。C语言提供了实现将标志状态从标志字节中分离出来的位运算功能。 所谓位运算是指,按二进制补码位进行的运算。 1、按位与运算符 (优先级8,左结合性) 只有对应的两个二进制位均为1时,结果位才为1,否则为0。 (9的二进制补码) (5的二进制补码) (1的二进制补码) 例如:95可写算式如下: 2、按位或运算符| (优先级10,左结合性) 只要对应的二个二进位有一个为1时,结果位就为1。 例如:9|5可写算式如下: 0 0 0 0 1 0 0 1 | 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 (十进制为13) 3、按位异或运算符 ^ (优先级9 ,左结合性) 当两对应的二进位相异时,结果为1。 例如9^5可写成算式如下: 0 0 0 0 1 0 0 1 ^ 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 (十进制为12) 4、按位取反~(单目运算符,优先级2,右结合性) 例如~9的运算为: ~(0 0 0 0 0

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档