运算符优先级记忆口诀及列表(转)

C语言运算符优先级和口诀

一共有十五个优先级: 同一优先级的运算符,运算次序由结合方向所决定

1   ()  []  .  ->        (括号,成员排第一)

2   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof       (单目运算排第二)

3   * / %         (乘除余三)

4   + -             (加减四)

5   >> <<          (移位五)

6   > >= < <=     (关系六)

7   == !=           (等于不等排第七)

8   &             (位“与”)

9   ^               (”异或“)

10  |               (和位"或")三分天下八九十

11  &&            (逻辑 ”与“)

12  ||                (和”或“)十一和十二

13  ?:                (条件运算符)

14   =  +=  -=  *=  /=   %=  |=   ^=   &=   >>=   <<=    (条件高于赋值)

15  ,             (逗号优先级最低)

结合性:2   13  14  是从右至左   其他都是  从左至右有问题可以在交流的

括号成员第一;        //括号运算符[]() 成员运算符.  ->

全体单目第二;        //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&

乘除余三,加减四;   //这个"余"是指取余运算即%

移位五,关系六;    //移位运算符:<< >> ,关系:> < >= <= 等

等于(与)不等排第七;    //即== 和!=

位与异或和位或;    //这几个都是位运算: 位与(&)异或(^)位或(|)

"三分天下"八九十;

逻辑或跟与;            //逻辑运算符:|| 和 &&

十二和十一;            //注意顺序:优先级(||)  底于 优先级(&&)

条件高于赋值,        //三目运算符优先级排到13 位只比赋值运算符和","高

逗号运算级最低!    //逗号运算符优先级最低


优先级


运算符


名称或含义


使用形式


结合方向


说明


1


[]


数组下标


数组名[常量表达式]


左到右


()


圆括号


(表达式)/函数名(形参表)


.


成员选择(对象)


对象.成员名


->


成员选择(指针)


对象指针->成员名


2


-


负号运算符


-表达式


右到左


单目运算符


(类型)


强制类型转换


(数据类型)表达式


++


自增运算符


++变量名/变量名++


单目运算符


--


自减运算符


--变量名/变量名--


单目运算符


*


取值运算符


*指针变量


单目运算符


&


取地址运算符


&变量名


单目运算符


!


逻辑非运算符


!表达式


单目运算符


~


按位取反运算符


~表达式


单目运算符


sizeof


长度运算符


sizeof(表达式)


3


/



表达式/表达式


左到右


双目运算符


*



表达式*表达式


双目运算符


%


余数(取模)


整型表达式/整型表达式


双目运算符


4


+



表达式+表达式


左到右


双目运算符


-



表达式-表达式


双目运算符


5


<<


左移


变量<<表达式


左到右


双目运算符


>>


右移


变量>>表达式


双目运算符


6


>


大于


表达式>表达式


左到右


双目运算符


>=


大于等于


表达式>=表达式


双目运算符


<


小于


表达式<表达式


双目运算符


<=


小于等于


表达式<=表达式


双目运算符


7


==


等于


表达式==表达式


左到右


双目运算符


!=


不等于


表达式!= 表达式


双目运算符


8


&


按位与


表达式&表达式


左到右


双目运算符


9


^


按位异或


表达式^表达式


左到右


双目运算符


10


|


按位或


表达式|表达式


左到右


双目运算符


11


&&


逻辑与


表达式&&表达式


左到右


双目运算符


12


||


逻辑或


表达式||表达式


左到右


双目运算符


13


?:


条件运算符


表达式1? 表达式2: 表达式3


右到左


三目运算符


14


=


赋值运算符


变量=表达式


右到左


/=


除后赋值


变量/=表达式


*=


乘后赋值


变量*=表达式


%=


取模后赋值


变量%=表达式


+=


加后赋值


变量+=表达式


-=


减后赋值


变量-=表达式


<<=


左移后赋值


变量<<=表达式


>>=


右移后赋值


变量>>=表达式


&=


按位与后赋值


变量&=表达式


^=


按位异或后赋值


变量^=表达式


|=


按位或后赋值


变量|=表达式


15


,


逗号运算符


表达式,表达式,…


左到右


从左向右顺序运算

说明:

同一优先级的运算符,运算次序由结合方向所决定。

主义逻辑运算符&& || “懒惰求值”

简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

http://www.cnblogs.com/PegasusWang/articles/2874975.html

时间: 2024-07-30 22:30:37

运算符优先级记忆口诀及列表(转)的相关文章

java运算符优先级记忆口诀

单目乘除为关系,逻辑三目后赋值. 单目:单目运算符+ –(负数) ++ -- 等 乘除:算数单目运算符* / % + - 为:位移单目运算符<< >> 关系:关系单目运算符> < >= <= == != 逻辑:逻辑单目运算符&& || & | ^ 三目:三目单目运算符A > B ? X : Y 后:无意义,仅仅为了凑字数 赋值:赋值= 原文地址:https://www.cnblogs.com/-wanglei/p/1037061

1.枚举类型、声明指针、常量、存储类型、运算符优先级记忆

原文:1.枚举类型.声明指针.常量.存储类型.运算符优先级记忆 1.枚举类型 枚举(enumerated)类型就是指它的值为符号常量而不是字面值的类型,以下面的这种形式来声明:enum   Jar_Type {CUP,PINT,GALLON,OUART}; 这条语句声明了一个类型,称为 Jar_Type.而enum  {CUP,PINT,GALLON,OUART}; 这条语句声明表示这种类型的变量以整型的方式存储,这些符号名的实际值都是整型值.这里CUP是0,PINT是1,以此类推.下面看一下一

C运算符优先级完整口诀

C语言常用运算符的优先级口诀是:"单算关逻条赋逗":如果加入位运算符,完整口诀是:"单算移关与,异或逻条赋".■"单"表示单目运算符:逻辑非(!),按位取反(~),自增(++),自减(--),取地址(&),取值(*):■"算"表示算术运算符:乘.除和求余(*,/,%)级别高于加减(+,-):■"移"表示按位左移(<<)和位右移(>>):■"关"表示关系运算

C语言运算符优先级和口诀(转)

一共有十五个优先级: 1   ()  []  .  -> 2   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof 3   * / % 4   + - 5   >> << 6   > >= < <= 7   == != 8   & 9   ^ 10  | 11  && 12  || 13  ?: 14   =  +=  -=  *=  /=   %=  |=

C语言运算符优先级和口诀 (转)

一共有十五个优先级: 1   ()  []  .  -> 2   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof 3   * / % 4   + - 5   >> << 6   > >= < <= 7   == != 8   & 9   ^ 10  | 11  && 12  || 13  ?: 14   =  +=  -=  *=  /=   %=  |=

C++运算符优先级记忆

为了方便自己记忆,将几乎所有运算符编成口诀记忆: 圆方括号域,箭头一句号 位反逻非长强制,正负增减值取地 乘除加减再移位,大小等等等不等 八位与九位异或,十一二逻辑与或 条件赋值后逗号 1.圆方括号域,箭头一句号 (),[],::,->,. 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- . 成员选择(对象) 对象.成员名 -- -> 成员选择(指针) 对象指针->成员名 -- 2.位反逻非长强制,正负增减值取地 2 - 负号运算

C 语言运算符优先级(记忆口诀)

优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右   () 圆括号 (表达式)/函数名(形參表)   . 成员选择(对象) 对象.成员名   -> 成员选择(指针) 对象指针->成员名   2 - 负号运算符 -表达式 右到左 单目运算符 (类型) 强制类型转换 (数据类型)表达式   ++ 自增运算符 ++变量名/变量名++ 单目运算符 -- 自减运算符 --变量名/变量名-- 单目运算符 * 取值运算符 *指针变量 单目运算符 &

【注意】C 运算符优先级 &nbsp; 口诀 易错点

C运算符优先级! 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 (表达式)/函数名(形参表) . 成员选择(对象) 对象.成员名 -> 成员选择(指针) 对象指针->成员名 2 - 负号运算符 -表达式 右到左 单目运算符 (类型) 强制类型转换 (数据类型)表达式 ++ 自增运算符 ++变量名/变量名++ 单目运算符 -- 自减运算符 --变量名/变量名-- 单目运算符 * 取值运算符 *指针变量 单目运算符 &

C语言运算符及其优先级汇总表口诀

C语言运算符及其优先级汇总表口诀     圆下箭头一顿号     非凡增减富强针地长     三乘除,四加减,五移位     千万别把鱼忘记,它在盛饭的厨子里     小灯大灯灯灯不等     爸喂鱼,舅疑惑,裸鸡也疑惑     十三姨,十四父,十五逗,兜到低     “圆下箭头一顿号”指的是第15级的运算符.其中圆指的是运算符(),下指的是下标运算符[],箭头指的是指向结构体成员运算符->,顿号指的是结构体成员运算符.     “非凡增减富强针地长”指的是第14级的运算符.其中非指的是逻辑运算