- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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类型。
您可能关注的文档
最近下载
- 韦氏记忆量表中国修订版 (WMS-RC).docx VIP
- 外语课程思政优秀教学案例.docx VIP
- 心率变异在新生儿健康监测中的作用.docx VIP
- 顾客满意度调查表-模板.doc VIP
- 2025年大学试题(大学选修课)-《上帝掷骰子吗:量子物理史话》导读考试近5年真题集锦(频考类试题)带答案.docx
- 2025《汽车油气悬架油气弹簧的结构计算设计》9000字.doc
- 2022年土地登记代理人题库700道精品【达标题】.docx
- 经典古文《辅行诀》全文注释.docx VIP
- T_LSAASS 001-2024 乐山黄连生产技术规程.docx VIP
- 心率变异在心血管疾病预测中的价值.docx VIP
原创力文档


文档评论(0)