
在C语言中11种赋值运算符的具体含义,用法?
1.六个变量=表达式的赋值:
=是赋值运算符,/=是除后赋值,*=是乘后赋值,
%=是取模后赋值,+=是加后赋值,-= 是减后赋值,
2.<<=是左移后赋值,变量<<=表达式 左移就是将左边的数的二进制各位全部左移若干位,右边的数指定移动位数,高位丢弃,低位补0, 移几位就相当于乘以2的几次方。
3.>>=是右移后,变量>>=表达式,右移运算符是用来将一个数的各二进制位右移若干位,移动的位数由右操作数指定(右操作数必须是非负值),移到右端的低位被舍弃,对于无符号数,高位补0。
对于有符号数,某些机器将对左边空出的部分用符号位填补(即“算术移位”),而另一些机器则对左边空出的部分用0填补(即“逻辑移位”);
对无符号数,右移时左边高位移入0;对于有符号的值,如果原来符号位为0(该数为正),则左边也是移入0。
如果符号位原来为1(即负数),则左边移入0还是1,要取决于所用的计算机系统,系统移入0或系统移入1。
移入0的称为“逻辑移位”,即简单移位;移入1的称为“算术移位”。
4.&= 按位与后,变量&=表达式,按位与是指:参加运算的两个数据,按二进制位进行“与”运算。
如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。
5.^= 按位异或后赋值,变量^=表达式,参与运算的两个量按照对应的位进行异或运算,且
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.赋值表达式的功能是计算表达式的值再赋予左边的变量。
赋值运算符具有右结合性,因此a=b=c=5可理解为a=(b=(c=5))。
2.在其它高级语言中赋值构成了一个语句,称为赋值语句;
而在C语言中,
把“=”定义为运算符,从而组成赋值表达式。
3.凡是表达式可以出现的地方均可出现赋值表达式。
例如:式子x=(a=5)+(b=8)是合法的。它的意义是把5赋予a,8赋予b,再把a,b相加,和赋予x,故x应等于13。
4.在C语言中也可以组成赋值语句。
按照C语言规定,任何表达式在其未尾加上分号就构成为语句。
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填补(即“逻辑移位”);
9、&= 按位与后赋值:变量&=表达式,按位与是指参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,则该位的结果值为1,否则为0;
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。
扩展资料
简单的最常用的运算符是“=”,它的作用是将一个表达式的值赋给一个左值,一个表达式或者是一个左值,或者是一个右值。所谓左值是指一个能用于赋值运算左边的表达式,左值必须能够被修改,不能是常量。一般用变量作左值,指针和引用也可以作左值。
在基本赋值运算符之外,还有适合于所有二元算术和字符串运算符的"组和运算符",这样可以在一个表达式中使用它的值并把表达式的结果赋给它,例如: <?php。
参考资料
1、c语言_百度百科
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
这些位运算都是与二进制码有关的,所以多弄弄也就会了