前言
由于在程序中遇到有关运算符的问题,特此复习一下有关C语言运算符的问题。
算术运算符
下表显示了 C 语言支持的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:
关系运算符
下表显示了 C 语言支持的所有关系运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:
逻辑运算符
下表显示了 C 语言支持的所有关系逻辑运算符。假设变量 A 的值为 1,变量 B 的值为 0,则:
位运算符
位运算符作用于位,并逐位执行操作。&、 | 和 ^ 的真值表如下所示:
&:与运算符,按位进行与操作。只有1&1为1,其余均为0。
|:或运算符,按位进行或操作。有1则为1,全0才为0。
^:异或运算符,按位进行异或操作。相同为0,不同为1。
~:取反运算符,按位进行取反操作。0变1,1变0。
<<:左移运算符,将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。(左移一位相当于乘2)
‘>>’:(由于编辑原因,加了单引号)右移运算符,将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。(右移一位相当于除2)
赋值运算符
下表列出了 C 语言支持的赋值运算符:
杂项运算符
下表列出了 C 语言支持的其他一些重要的运算符,包括 sizeof 和 ? :。
例子:
int m,A,B;
m = A > B ? A:B; //把A和B中的大者放在m中
sizeof使用方法:
sizeof (类型说明符)
例如:
int a;
sizeof(a);或者sizeof(int);都是对的,可以求出占4字节大小。
运算符优先级
下表将按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,具有较低优先级的运算符出现在表格的下面。在表达式中,较高优先级的运算符会优先被计算。
最后一个是逗号运算符,结合性是从左到右。
参考文章:C运算符