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

C语言程序设计2--李2012.ppt

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

* 2.4.2 赋值运算(双目、右结合、倒第二)    变量=表达式 功能:把其右侧表达式的值赋给左侧的变量。 赋值运算中,两端数据类型如不一致,系统自动将右边的类型转换成左边变量的数据类型后再赋值。(赋值的类型转换规则 教材P30) 赋值表达式的值是左端变量的值。 赋值语句: 赋值表达式加上分号。 * 复合赋值运算 复合赋值运算符:  +=  -=  *=   /=   %= 优先级别结合性与赋值运算符相同 赋值运算符和复合赋值运算符左端只能 是变量。不能是常量和表达式。 1=a a+b=c * 复合赋值运算 已知x=3,y=2,则表达式x*=y+8的值 为几? int i=3,执行完i+=i-=i*i后,i的值是多少? int x=20,求x+=x-=x*=x的值 1) 30 2) -12 3) 0 * [例2.7]复合赋值运算符举例。 main() {int a=3,b=9,c=-7; a+=b; c+=b; b+=(a+c); printf(a=%d,b=%d,c=%d\n,a,b,c); a+=b=c; printf(a=%d,b=%d,c=%d\n,a,b,c); a=b=c; printf(a=%d,b=%d,c=%d\n,a,b,c);} * 2.4.4逗号运算 逗号运算符: , --优先级别最低。 逗号表达式:用逗号运算符把两个或多个算术表达式连接起来构成逗号表达式。 表达式1,表达式2,…… 求值过程:从左到右,逐个求表达式的值,最后整个表达式的值取最右侧的表达式的值。 * 【 例2.9 】逗号表达式举例 main() { int a,b; a=(b=2,++b,b+5); printf(The value of a is %d\n,a); } 运行结果: The value of a is 8 * 2.4.5 关系运算 关系运算符: = = == != 优先级:算术关系赋值运算符 = = = = != 关系表达式:用关系运算符将两个表达式连接起来的式子。 值是1或0。 * 2.4.6 逻辑运算 逻辑运算符:! || a b !a !b ab a||b 真 假 真 假 假 假 真 真 短路运算: 和||一旦能够确定表达式的值, 就不再继续运算下去。 * 注意: 逻辑运算符两侧的操作数,除可以是0和非0的整数外,也可以是其他任何类型的数据,如实型、字符型等。 在计算逻辑表达式时,并不是所有的逻辑运算符都被执行,只有在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。 int a=1,b=2,c=3,d=4,m=1,n=1; (m=ab)(n=cd) //m值为0, n=cd 不执行,n值为1 int n1=5,n2=2,n3=3,n4=4,x=1,y=1; (x=n1n2)||(y=n3n4) //m值为0, y=n3n4不执行,n值为1 * 2.4.7 条件表达式 条件运算符: ? : 条件表达式:含有条件运算符的表达式。三目运算符。 表达式1?表达式2:表达式3 执行过程:先计算表达式1,为真(非0),计算表达式2的值作为条件表达式的值;表达式1值为0,则计算表达式3的值作为条件表达式的值。 * 2.4.7 条件表达式 main() { int a,b; scanf(“a=%d,b=%d”,a,%b); printf(“The min is %d”,ab?a:b); } a=3,b=4 * 2.4.7 条件表达式 main() { int a=5,b=4,c=6,d; printf(“%d\n”,d=ac?(ac?a:c):(b)); } 4 * 2.4.8 运算符的结合律和优先级 优先级 运算符 结合规则 1 [ ] ( ) - . 从左至右 2 ! ~ ++ -- - * sizeof 从右至左 3 * / % 从左至右 4 + - 从左至右 5 从左至右 6 = = 从左至右 7 == != 从左至右 8 从左至右 9 ^ 从左至右 10 | 从左至右 11 从左至右 12 || 从左至右 13 ?: 从右至左 14 = += -= *= /= %= = ^= |= =

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档