七、算术复合赋值表达式八、自增与自减运算符表达式九、.pptVIP

七、算术复合赋值表达式八、自增与自减运算符表达式九、.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文档。上传文档
查看更多
七、算术复合赋值表达式 八、自增与自减运算符表达式 九、逗号运算符表达式 十、表达式的副作用 十一、位操作运算符 七、算术复合赋值表达式 算术复合赋值运算是算术运算与赋值运算的结合,操作 数与相应算术运算符的操作数类似,但复合赋值要求左操作 数是左值,其运算的结果为左值表达式,结果类型为左操作 数的数据类型。 结果为左值的含义是指整个表达式可以作为一个操作数 出现在需要左值的地方。 赋值运算是右结合的, 算术复合赋值运算的语法形式 为: 左值 运算符 表达式 lvalue@=expre 复合赋值表达式: lvalue @=expre 一般可理解为: lvalue = lvalue @ expre 例如: lvalue- =expre 一般可理解为: lvalue= lvalue - expre 但复合赋值运算简洁优美,运算直截了当。复合赋值 运算求出右操作数的值,然后将结果直接作用到左操作数 上,左操作数lvalue仅计算一次,有特别快的运行效率; 而lvalue=lvalue- expre中lvalue被求值两次。 两者并不完全等价。在程序设计中优先使用 lvalue-=expre,少用lvalue = lvalue-expre形式。 下面具体予以介绍 ?直接加赋值:左值 += 表达式 lvalue+=expre 将右操作数的值直接加到左操作数上。例如: int x=3, y=4; x+=y; //在x既有的基础上加上y,结果x=7就在x中 [例] (x+=2)+=1中的(x+=2)仅求值一次,(x+=2)=(x+=2)+1中 的(x+=2)被求值2次。 #include stdio.h void main (void) { int x=0; (x+=2)+=1; printf (%d\n,x); x=0; (x+=2)= (x+=2)+1; printf (%d,x); } ?直接减赋值:左值 - = 表达式 lvalue-=expre 将左操作数直接减去右操作数的值,差直接存入左操作 数中。 例如:int x=3,y=4; y-=x; 对于同类型数据x,y和相同的初始值,表达式y-x和y-=x 具有相同的值。但表达式y-x是右值,y值不变,而表达式y- =x是左值,运算后y值发生变化。加减赋值运算的两个操作 数可为算术类型。但如果lvalue为指针,则expre是整型。 ?直接乘赋值: 左值*=算术表达式 lvalue*=arithmetic 两个操作数为算术类型,将右操作数直接乘左操作数, 积立即送入左操作数中。如:x*=y+z ?直接除赋值: 左值 /=算术表达式 lvalue/=arithmetic 两个操作数为算术类型,将右操作数直接除左操作数, 商立即送入左操作数中。如: z/=x*y ?直接取模赋值: 整型左值 %=整型表达式 intLvalue%=integer 两个操作数都是整型,将右操作数直接除左操作数,两 者的余数立即送入左操作数中。 复合赋值x+=e与简单赋值x=e的共同点是运算都是右结 合的,但复合赋值要求预先给定左值的初始值,运算具有累 积的性质。简单赋值适宜于变量的初始化且变量具有新的开 始。 右值表达式 x*e 和左值复合赋值表达式x*=e执行相同的 运算,表达式 x*e 不改变x,e的值,表达式x*=e改变x的值。 表达式x-=e的类型是左操作数x的类型,表达式x-e的类 型是x和e中保值精度更强的类型。 例如:x是long类型, e是double类型, x-e的类型是 double类型,而x-=e的类型是long类型。

文档评论(0)

ld1594069 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档