c语言中赋值语句,《=,&=,∧=,|=,分别是什么意思

Python027

c语言中赋值语句,《=,&=,∧=,|=,分别是什么意思,第1张

<=是比较符号小于等于,不是赋值

<<=:a<<=b//等价于a=a<<b<<是左移运算

&=:a&=b//等价于a=a&b&是按位与

^=:a^=b//等价于a=a^b^是按位异或

|=:a|=b//等价于a=a|b|是按位或

呃,,,楼上的各位都没有答到本质上

从本质上讲,“a”是一个指针常量,而'a'则是一个数值。也就是说,在编译器看来,“a”的值是一个地址(比如:0x84f39ea0),而'a'的值则是a的ASCII码(即97)。楼主用printf打印这两个值看看就知道了

另外,当“”里的字符串有多个字符时,它指向字符串的第一个字符。

1、C语言中的 >>= 意思为:右移后赋值

代码示例为:

x = 8 

x >>= 3

右移后结果为:00000000 00000000 00000000 00000001

2、C语言中的 <<= 意思为:左移后赋值

代码示例为:

x = 8

x <<= 3

左移后赋值结果为:00000000 00000000 00000000 01000000

3、C语言中的 &= 意思为:按位与后赋值

代码示例为:

x = 0x02

x &= 0x01

按位与后的结果为:0x00

4、C语言中的 ^= 意思为:按位异或后赋值

代码示例为:

x = 0x02

x ^= 0x01

按位异或的结果为:0x03 等同于0011

5、C语言中的 |= 意思为:按位或后赋值

代码示例为:

x = 0x02

x  |= 0x01

按位或的结果为:0x03 等同于0011

扩展资料:

1、C语言运算符的优先级顺序

运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。

2、比特右移运算符的位移

比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。

参考资料来源:百度百科-C语言