c语言运算符优先级顺序表

优先级顺序运算符名称结合性是否控制求值顺序使用示例
1()聚组(括号)无否(x+y)
2()函数调用左-->右否Add(x,y)
3[]下标引用(索引引用)左-->右否arr[5]
4.访问结构体成员左-->右否结构体变量.a
5->用指针访问结构体左-->右否结构体指针->a
6++后置++左-->右否num++
7--后置--左-->右否num--
8!逻辑反(1->0,0->1)右-->左否!a
9~按位取反(二进制位)右-->左否~a
10+表示正数值右-->左否+1
11-表示负数值右-->左否-1
12++前置++右-->左否++num
13--前置--右-->左否

--num

14*指针运算符
(注:解引用,用于访问指针所指向的变量的值)
右-->左否*p
15&取地址运算符
用于获取变量在内存中的地址
右-->左否&num
16sizeof求变量的长度,单位字节
以数据类型为准
右-->左否sizeof(int)
17(类型)强制类型转换右-->左否(char)a
18*乘法左-->右否a*b
19/除法左-->右否a/b
20

%

对整数取余数左-->右否a%b
21+加法左-->右否a+b
22-减法左-->右否a-b
23<<左移位(二进制位)左-->右否a<<1
24>> 右移位左-->右否a>>1
25>大于左-->右否a>b
26>=大于等于左-->右否

a>=b

27<小于左-->右否a<b
28<=小于等于左-->右否a<=b
29==等于左-->右否a==b
30!=不等于左-->右否a!=b
31&按位与(二进制位)
(有0为0,同1为1)
左-->右否a&b
32^按位异或(二进制位)
(相同为0,不同为1)
左-->右否a^b
33|按位或(二进制位)
(有1为1,同0为0)
左-->右否a|b
34&&逻辑与
(左边为0,右边不算)
左-->右是a&&b
35||

逻辑或

(左边为真,右边不算)

左-->右是a||b
36?:

条件操作符

(条件成立输出?,反之:)

无是a>0?a:b
37=赋值右-->左否a=2
38+=加等于右-->左否

a+=2

(a=a+2)

39-=减等于右-->左否a-=2
40*=乘等于右-->左否a*=2
41/=除等于右-->左否a/=2
42%=取余等右-->左否a%=2
43<<=左移等于右-->左否a <<=1
44>>=右移等于右-->左否a>>=1
45&=按位与等于右-->左否a&=b
46^=按位异或等于右-->左否a^=b
47|=按位或等于右-->左否a|=b
48,逗号表达式
(表达式都执行,结果为最后一个表达式的值)
左-->右是a=0,a+=3,a+=6
阿里云双11特惠

腾讯云双11特惠

华为云双11特惠

易可图-图片翻译

开发者免费领华为云主机

云服务特惠活动入口汇总
x