C语言优先级 运算符

2022-07-04 12:37:42 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

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

2、第二级:!、~、 、–、-、(类型)、*、&、sizeof。 这一级都是单目运算符号,这一级的结合方向是从右向左。

代码语言:javascript复制
比如出现*p  ,这时*和  同级别,先算右边,再左边。所以*p  等价于*(p  ),而不是(*p)  。

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

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

代码语言:javascript复制
现有  0000 1111
进行 << 1 运算 得0001 1110
进行 >> 1 运算 得0000 0111

5、第五级:<、<=、>、>=、!=、==

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

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

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

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

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

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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149318.html原文链接:https://javaforall.cn

0 人点赞