【摘要】:在赋值符“=”之前加上其他运算符,可以构成复合的运算符。例3.6:复合赋值运算符的使用运行结果如图3.6所示。C语言规定可以使用5种复合赋值运算符。
在赋值符“=”之前加上其他运算符,可以构成复合的运算符。如果在“=”前加一个“+”运算符就成了复合运算符“+=”。例如,可以有:
以“a+=3”为例来说明,它相当于让a进行一次自加(3)的操作。即先让a加3,再赋给变量a。同样,“x*=y+8”的作用是使x乘以(y+8)的和,再赋给变量x。
例3.6:复合赋值运算符的使用
运行结果如图3.6所示。
图3.6 例3.6的执行结果
例3.6中简单演示了一些赋值运算符,可能m+=m+=n+=n%=4;语句有点难以理解,其实很简单,从右至左计算,执行此语句时,n=20,m=20,现在先执行n%=4,此时n=0,然后执行n%=4这段代码,结果为0,即现在整个表达式已经为m+=m+=n+=0了,依此类推,可以计算出整个表达式的值为40(就是m的值)。
为便于记忆,a+=b可以这样理解:
①a+=b(其中a为变量,b代表变量或表达式)
②(将有下划线的“a+”移到“=”右侧)
③a=a+b(在“=”左侧补上变量名a)(www.xing528.com)
注意,如果b是包含若干项的表达式,则相当于它有括号。如:
凡是二元(二目)运算符,都可以与赋值符一起组合成复合赋值运算符。C语言规定可以使用5种复合赋值运算符。即:
C语言采用这种复合运算符,一是为了简化程序,使程序精练,二是为了提高编译效率(这样写法与“逆波兰”式一致,有利于编译,能产生质量较高的目标代码),但是可读性稍差。
在编写复合表达式时,应注意:
(1)不要编写太复杂的复合表达式。例如:
i=a>=b&&c<d&&c+f<=g+h;//复合表达式过于复杂
(2)不要有多用途的复合表达式。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。