位运算一般的表达形式如下:
变量1 位运算符 变量2
位运算符也有优先级,从高到低依次是:"~"(按位取反)→"<<"(左移) →">>"(右移) →"&"(按位与)→"^"(按位异或)→"|"(按位或)
表7-1是位逻辑运算符的真值表,X表示变量1,Y表示变量2
X Y ~X ~Y X&Y X|Y X^Y
0 0 1 1 0 0 0
0 1 1 0 0 1 1
1 0 0 1 0 1 1
1 1 0 0 1 1 0
表7-1 按位取反,与,或和异或的逻辑真值表
复合赋值运算符
复合赋值运算符就是在赋值运算符"="的前面加上其他运算符。以下是C语言中的复合赋值运算符:
+= 加法赋值 >>= 右移位赋值
-= 减法赋值 &= 逻辑与赋值
*= 乘法赋值 |= 逻辑或赋值
/= 除法赋值 ^= 逻辑异或赋值
%= 取模赋值 -= 逻辑非赋值
<<= 左移位赋值
复合运算的一般形式为:
变量 复合赋值运算符 表达式
其含义就是变量与表达式先进行运算符所要求的运算,再把运算结果赋值给参与运算的变量。其实这是C语言中一种简化程序的一种方法,凡是二目运算都可以用复合赋值运算符去
简化表达。例如:
a+=56等价于a=a+56
y/=x+9 等价于 y="y/"(x+9)
很明显采用复合赋值运算符会降低程序的可读性,但这样却可以使程序代码简单化,并能提高编译的效率。
两个专门用于指 针和地址的运算符:
* 取内容
& 取地址
取内容和地址的一般形式分别为:
变量 = * 指针变量
指针变量 = & 目标变量
文章评论(0条评论)
登录后参与讨论