复合赋值运算符_xuanying_china-ChinaUnix博客

网友投稿 810 2022-09-23

复合赋值运算符_xuanying_china-ChinaUnix博客

复合赋值运算符_xuanying_china-ChinaUnix博客

复合的赋值运算符,又称为带有运算的赋值运算符,也叫赋值缩写。

例如:i=i j;可表示为 i =j;这里 =是复合赋值运算符。

同样的共有10种这样的运算符,它们是:

= 加赋值

-= 减赋值

*= 乘赋值

/= 除赋值

%= 求余赋值

= 按位与赋值

| = 按位或赋值

^= 按位异或赋值

<<= 左移位赋值 >>= 右移位赋值

<> 当右操作数又是一个赋值表达式时,形成多重赋值表达式。例如:

i=j=0; //结果i、j的值都为0

构成复合赋值表达式的一般形式

变量 双目运算符=表达式

它等效于

变量=变量 运算符 表达式

例如:

a =5 等价于a=a 5

x*=y 7 等价于x=x*(y 7)

r%=p 等价于r=r%p

运算符实例等价于=n=25 =n = 25n=n 25-=n -= 25n=n-25*=n *= 25n=n*25/=n /= 25n=n/25%=n%= 25n=n%<<=n <<= 25n=n<<25>>=n >>= 25n=n>>25=n = OxF2F2n=nOxF2F2^=n ^= OxF2F2n=n ^ OxF2F2|=n |= OxF2F2n=n | OxF2F2

1.= 赋值运算符

变量=表达式 如:a=3;将a的值赋为3

2./= 除后赋值

变量/=表达式 如:a/=3;即a=a/3

3.*= 乘后赋值

变量*=表达式 如:a*=3;即a=a*3

4.%= 取模后赋值

变量%=表达式 如:a%=3;即a=a%3

5. = 加后赋值

变量 =表达式 如:a =3;即a=a 3

6.-= 减后赋值

变量-=表达式 如:a-=3;即a=a-3

7.<<= 左移后赋值

变量<<=表达式 左移就是将<<左边的数的二进制各位全部左移若干位,<<右边的数指定移动位数,高位丢弃,低位补0, 移几位就相当于乘以2的几次方

8.>>= 右移后赋值

变量>>=表达式 右移运算符是用来将一个数的各二进制位右移若干位,移动的位数由右操作数指定(右操作数必须是非负值),移到右端的低位被舍弃,对于无符号数,高位补0。对于有符号数,某些机器将对左边空出的部分用符号位填补(即“算术移位”),而另一些机器则对左边空出的部分用0填补(即“逻辑移位”)。注意:对无符号数,右移时左边高位移入0;对于有符号的值,如果原来符号位为0(该数为正),则左边也是移入0。如果符号位原来为1(即负数),则左边移入0还是1,要取决于所用的计算机系统。有的系统移入0,有的系统移入1。移入0的称为“逻辑移位”,即简单移位;移入1的称为“算术移位”。

9.= 按位与后赋值

变量=表达式 按位与是指:参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。这里的1可以理解为逻辑中的true,0可以理解为逻辑中的false。按位与其实与逻辑上“与”的运算规则一致。逻辑上的“与”,要求运算数全真,结果才为真。若,A=true,B=true,则A∩B=true

10. ^= 按位异或后赋值

变量^=表达式 参与运算的两个量按照对应的位进行异或运算,且   0^0→0, 0^1→1, 1^0→1, 1^1→0   此外,一个数与0异或仍保持不变,即a^0=a   一个数与自己异或结果为0,即a^a=0

11.|= 按位或后赋值

变量|=表达式 参与运算的两个量按照对应位进行或运算,且0|0→0, 0|1→1, 1|0→1, 1|1→1

注意

1. 多重赋值表达式不能出现在变量说明中。例如:

int i=j=0;   是非法的。

例:有变量说明

int a=2,b;

指出下面表达式运算后a和b的结果。

b =b= a;

答:a为3,b为6。

<> 有时将赋值运算与比较运算结合在一起形成嵌入赋值。例如:

while ((ch=getchar())!=’n');

这条语句的含义是:等待用户按下回车键后程序向下执行。

2. x *= y 8等价于x=x*(y 8),不等价于 x = x*y 8。

同样:z = y-x等价于z = z (y-x),而不等价于z = z y -x。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python 列表切片的四大常用操作(python中复数类型的值是)
下一篇:ip policy route-map在VLAN上不能应用的解决办法-SDM_quanshengaa-ChinaUnix博客
相关文章

 发表评论

暂时没有评论,来抢沙发吧~