的基本优先顺序需要记住。
指针最好,单眼运算优于双目运算。 就像符号一样。
先取乘除(型),然后加减。
先算术运算,后移位运算,最后位运算。
请特别注意。 1 3 2 7等于(1) 32 ) ) 7。
逻辑运算的最后计算。
c语言中常用运算符优先顺序的秘诀是“通过单一计算赋予逻辑意义”。
在添加位运算符时,完整的口诀是“单算转移参与,异或条件赋”。
“单”表示单眼运算符。 逻辑非(!逐位逆(()、自增加)、自减少(-- )、地址)、值) );
“算”表示算术运算符。 乘法、除法、馀数()、/、% )的水平高于加减()、- )。
“移”表示逐位左移();
“off”表示关系运算符。 大小关系(
「and”分等级和();
“异”为异或(^ );
“或”按位数或(|);
“逻辑”表示逻辑运算符。 逻辑和()级为逻辑或(|);
“条”是条件运算符(:
“赋”是赋值运算符()、=、- )、*=、/)、%=、=、)、()、()、((、()、|=、=);
另外,逗号运算符(、)的水平最低,口诀中没有记载,需要另行记忆.
优先顺序
运算符
名字或意思
使用形态
对准方向
说明
1
后置
后置自增算子
变量名称
从左到右
后置-
后置自减法运算符
变量名称-
[]
序列下标
数组名称[整数表达式]
()
括号
(公式) /函数名称(形参表) ) ) ) ) ) ) )。
水平。
成员选择(对象)
对象.成员名称
_
成员选择(指针)
对象指针-成员名称
2
_
负号运算符
-公式
从右到左
单眼算子
(类型)
强制类型转换
(数据类型)表达式
前置语
前置自增算子
变量名称
单眼算子
前置---
前置自减法运算符
-变量名
单眼算子
*
取值运算符
*指针式
单眼算子
取地址运算符
左值公式
单眼算子
!
非逻辑运算符
! 公式
单眼算子
~
逐位逆运算符
~式
单眼算子
sizeof
长度运算符
sizeof表达式/sizeof (类型) ) ) ) ) ) )。
3
/
消除
公式/项目
从左到右
双目算子
*
乘坐
公式*公式
双目算子
%
剩余(模具)。
整数表达式%整数表达式
双目算子
4
加号
公式
从左到右
双目算子
_
负的
公式-公式
双目算子
5
向左移动
公式
从左到右
双目算子
向右移动
公式
双目算子
6
大于
公式
从左到右
双目算子
=
大于相等
公式=公式
双目算子
小于
公式
双目算子
=
小于相等
公式=公式
双目算子
7
==
等于
公式==公式
从左到右
双目算子
!=
不相等
仪式!=公式
双目算子
8
按位和
整数表达式整数表达式
从左到右
双目算子
9
^
基于异或
整数表达式^整数表达式
从左到右
双目算子
10
|
按位或
整数表达式|整数表达式
从左到右
双目算子
11
逻辑乘积
公式
从左到右
双目算子
12
||
或逻辑
公式||公式
从左到右
双目算子
13
?
条件运算符
公式1? 式2:式3
从右到左
三目运算符
14
=
赋值运算符
变量=表达式
从右到左
//
除法运算
变量/=表达式
*=
乘法后代入
变量*=表达式
%=
取型赋值
变量%=表达式
=
加法后代入
变量=表达式
-=
扣分后代入
变量-=表达式
=
向左移动并分配值
变量=表达式
=
向右移动并指定值
变量=表达式
=
按位和后赋值
变量=表达式
^=
用异或赋值
变量^=表达式
|=
按位或后赋值
变量|=表达式
15
,
逗号运算符
公式,公式,…
从左到右
从左到右依次运算
转换说明符:
%a(%a )浮点数、十六进制数和p-) (p-)表示法(C99 ) ) ) ) )。
%c个字符
%d有一个带符号的十进制整数
%f浮点数(包括浮点和双精度)
%e(%e )浮点数指数输出[e-) (e-) )表示法]
%g(%g )浮点数未显示无意义的零'0'
%i具有带符号的十进制整数(与%d相同) ) )
%u无符号十进制整数
%o8进制整数e.g. 0123
%x(%x )十六进制整数0f ) 0f ) e.g.0x1234
%p指针
%s字符串
%% '% '