多语言展示
当前在线:204今日阅读:113今日分享:31

C语言运算符优先级大全

大家刚开始接触C语言的时候,总是会在运算符优先级这块弄混。今天小编整理了一下C语言中的运算符,给大家排排序。
工具/原料

笔记,希望不熟悉运算符优先级的同学自己认认真真做下笔记

运算符优先级
1

最高级:出现同级别运算符时的结合方向是从左往右(下面级别没写结合顺序时,默认是从左往右)。( )圆括号[ ]下标运算符号->指向结构体成员运算符.结构体成员运算符

2

第二级:!、~、++、--、-、(类型)、*、&、sizeof。这一级都是单目运算符号,这一级的结合方向是从右向左。比如出现*p++,这时*和++同级别,先算右边,再左边。所以*p++等价于*(p++),而不是(*p)++。

3

第三级:+、-、*、/、%这一级都是算术运算符,结合顺序和数学学习中一致的,先乘除取余数,后加减。

4

第四级:<<、>>这是左移、右移运算符,位运算时可能需要用到。

5

第五级:<、<=、>、>=、!=、==这些运算符也称为关系运算符,其中<、<=、>、>=高于!=、==。

6

第六级:&、^、|这三个符号也是位运算符号,其中内优先级,&>^>|。

7

第七级:&&、||逻辑与&&优先级大于逻辑或||。

8

第八级:?  :也称为条件运算符号,是C语言中唯一的一个三目运算符,结合顺序是从右往左。

9

第九级:=、+=、-+、*=、/=、%=这些运算符也叫做赋值运算符,除此之外,>>=、<<=、&=、^=、|=这些赋值运算符也在这一级别内,结合顺序是从右往左。

10

最低级:,逗号运算符也称为顺序求值运算符,在C语言中,运算级别最低。

小结
1

总的来说,初级运算符( )、[ ]、->、.  高于  单目运算符  高于  算数运算符(先乘除后加减)  高于  关系运算符  高于  逻辑运算符(不包括!)  高于  条件运算符  高于  赋值运算符  高于  逗号运算符。位运算符的优先级比较分散。

2

除了赋值运算符、条件运算符、单目运算符三类的平级运算符之间的结合顺序是从右至左,其他都是从左至右。

注意事项
1

熟悉这些运算符的优先级,就能快速正确求出任意表达式的值。

2

如果你觉得此经验不错,就投票支持下,也可以关注小编,查看更多关于C语言的经验和技巧。

推荐信息