C运算符的种类和优先级
大约 2 分钟
C运算符的种类和优先级
C语言运算符种类和优先级
C语言中的运算符种类繁多,它们按照优先级不同可以分为多个级别。以下是C语言中运算符的分类和优先级,从高到低排序:
后缀运算符
- 括号运算符:函数调用、数组索引、强制类型转换。
- 下标运算符:数组元素访问。
- 箭头运算符:结构体成员访问。
- 点运算符:结构体或类成员访问。
一元运算符
- 递增和递减运算符:
++i
和--i
。 - 正负号运算符:
+i
和-i
。 - 逻辑非运算符:
!
。 - 按位取反运算符:
~
。 - 强制类型转换运算符:
(type)
。 - 指针运算符:
*
和&
。 - 大小运算符:
sizeof
。
乘除运算符
- 乘法:
*
。 - 除法:
/
。 - 取模:
%
。
加法运算符
- 加法:
+
。 - 减法:
-
。
移位运算符
- 左移:
<<
。 - 右移:
>>
。
关系运算符
- 小于:
<
。 - 小于等于:
<=
。 - 大于:
>
。 - 大于等于:
>=
。
相等运算符
- 等于:
==
。 - 不等于:
!=
。
位与运算符
- 按位与:
&
。
位异或运算符
- 按位异或:
^
。
位或运算符
- 按位或:
|
。
逻辑与运算符
- 逻辑与:
&&
。
逻辑或运算符
- 逻辑或:
||
。
条件运算符
- 三元条件运算符:
?:
。
赋值运算符
- 简单赋值:
=
。 - 复合赋值:
+=
,-=
,*=
,/=
,%=
,&=
,|=
,^=
,<<=
,>>=
。
逗号运算符
- 用于分隔表达式,先计算左侧表达式,再计算右侧表达式。
求地址运算符
- 取地址:
&
。
解引用运算符
- 访问指针指向的值:
*
。
在编写C语言程序时,需要特别注意运算符的优先级,以确保表达式的计算顺序符合预期。如果需要改变计算顺序,可以使用括号来明确指定。