c语言的操作符优先级
本帖最后由 catch 于 2013-12-24 12:26 编辑C语言运算符优先级
优先级运算符名称或含义使用形式结合方向说明
1[]数组下标
数组名[常量表达式]
左到右--
()圆括号
(表达式)/函数名(形参表)
--
.成员选择(对象)
对象.成员名
--
->成员选择(指针)
对象指针->成员名
--
2-负号运算符
-表达式
右到左单目运算符
~按位取反运算符
~表达式
++自增运算符
++变量名/变量名++
--自减运算符
--变量名/变量名--
*取值运算符
*指针变量
&取地址运算符
&变量名
!逻辑非运算符
!表达式
(类型)强制类型转换
(数据类型)表达式
--
sizeof长度运算符
sizeof(表达式)
--
3/除
表达式/表达式
左到右双目运算符
*乘
表达式*表达式
%余数(取模)
整型表达式%整型表达式
4+加
表达式+表达式
左到右双目运算符
-减
表达式-表达式
5<< 左移
变量<<表达式
左到右双目运算符
>> 右移
变量>>表达式
6> 大于
表达式>表达式
左到右双目运算符
>=大于等于
表达式>=表达式
< 小于
表达式<表达式
<=小于等于
表达式<=表达式
7==等于
表达式==表达式
左到右双目运算符
!=不等于
表达式!= 表达式
8&按位与
表达式&表达式
左到右双目运算符
9^按位异或
表达式^表达式
左到右双目运算符
10|按位或
表达式|表达式
左到右双目运算符
11&&逻辑与
表达式&&表达式
左到右双目运算符
12||逻辑或
表达式||表达式
左到右双目运算符
13?:条件运算符
表达式1?
表达式2: 表达式3
右到左三目运算符
14=赋值运算符
变量=表达式
右到左--
/=除后赋值
变量/=表达式
--
*=乘后赋值
变量*=表达式
--
%=取模后赋值
变量%=表达式
--
+=加后赋值
变量+=表达式
--
-=减后赋值
变量-=表达式
--
<<=左移后赋值
变量<<=表达式
--
>>=右移后赋值
变量>>=表达式
--
&=按位与后赋值
变量&=表达式
--
^=按位异或后赋值
变量^=表达式
--
|=按位或后赋值
变量|=表达式
--
15,逗号运算符
表达式,表达式,…
左到右--
说明: 同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符 支持楼主啊 先收藏一下 感谢楼主分享。。。。 正好学到,感谢楼主分享!{:7_155:} 感谢楼主分享
页:
[1]