学习C语言也有一段时间了,感觉C语言的运算符优先级很难记住,特别是对于初学者而言!C语言运算符优先级表(由上至下,优先级依次递减)在双目运算符中,算术运算符优先级最高,然后是移位运算符,接着是关系运算符,再着是逻辑运算符。总结一下,按运算符优先级从高到低:单目运算符->双目运算符->三目运算符->赋值运算符->逗号运算符 特别在双目运算符中,按 运算符优先级从高到低:算术运算符->移位运算符->关系运算符(其中== 和 !=优先级又较低)->逻辑运算符(按位与-〉按位异或-〉按位或-〉逻辑与-〉逻辑或)! 

************************************************************************ 

优先决 

*括号成员第一; //括号运算符[]() 成员运算符. -> 
*全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*& 
*乘除余三,加减四; //这个"余"是指取余运算即% 
*移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等 
*等于(与)不等排第七; //即== != 
*位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|) "三分天下"八九十;  
*逻辑或跟与; //逻辑运算符:|| 和 && 十二和十一; //注意顺序:优先级(||) 底于 优先级(&&)  
*条件高于赋值, //三目运算符优先级排到 13 位只比赋值运算符和","高//需要注意的是赋值运算符很多! 
*逗号运算级最低! //逗号运算符优先级最低 

由于C语言的运算符优先级与C++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全实用于C++.但是应该能够兼容,大家可以比较一下他们的区别应该就能够很快掌握C++的优先级的!  

************************************************************************ 

醋坛酸味灌  
味落跳福豆  

共44个运算符  

醋-初等,4个: ( ) [ ] -> 指向结构体成员 . 结构体成员  
坛-单目,9个: ! ~ ++ -- -负号 (类型) *指针 &取地址 sizeof长度  
酸-算术,5个: * / % + -减  
味-位移,2个: << >>  
灌-关系,6个: < <= > >= == 等于 != 不等于  
味-位逻,3个: & 按位与 ^ 按位异或 | 按位或  
落-逻辑,2个: && 逻辑与 || 逻辑或  
跳-条件,1个,三目: ? :  
福-赋值,11个: = += -= *= /= %= >>= <<= &= ^= |=  
豆-逗号,1个: ,  

结合方向自右向左的只有三类:赋值、单目和三目  
同一优先级的运算顺序由结合方向决定  

************************************************************************ 

            Turbo C运算符的优先次序  
━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━  
                    表达式                              ┃优先级  
────────────────────────────╂────  
  ()(小括号) [](数组下标) .(结构成员) ->(指针型结构成员)┃ 最高  
────────────────────────────┃  ↑  
 !(逻辑非) .(位取反) -(负号) ++(加1) --(减1) &(变量地址)┃  │  
────────────────────────────┃  │  
   *(指针所指内容)  type(函数说明)  sizeof(长度计算)    ┃  │  
────────────────────────────┃  │  
     *(乘)     /(除)     %(取模)                        ┃  │  
────────────────────────────┃  │  
     +(加)     -(减)                                    ┃  │  
────────────────────────────┃  │  
     <<(位左移)          >>(位右移)                     ┃  │  
────────────────────────────┃  │  
     <(小于)   <=(小于等于)   >(大于)   >=(大于等于)    ┃  │  
────────────────────────────┃  │  
     ==(等于)       !=(不等于)                          ┃  │  
────────────────────────────┃  │  
     &(位与)                                            ┃  │  
────────────────────────────┃  │  
     ^(位异或)                                          ┃  │  
────────────────────────────┃  │  
     |(位或)                                            ┃  │  
────────────────────────────┃  │  
     &&(逻辑与)                                         ┃  │  
────────────────────────────┃  │  
     ||(逻辑或)                                         ┃  │  
────────────────────────────┃  │  
     ?:(?表达式)                                        ┃  │  
────────────────────────────┃  │  
     =    +=   -=(联合操作)                             ┃  │ 

学习C语言也有一段时间了,感觉C语言的运算符优先级很难记住,特别是对于初学者而言!C语言运算符优先级表(由上至下,优先级依次递减)在双目运算符中,算术运算符优先级最高,然后是移位运算符,接着是关系运算符,再着是逻辑运算符。总结一下,按运算符优先级从高到低:单目运算符->双目运算符->三目运算符->赋值运算符->逗号运算符 特别在双目运算符中,按 运算符优先级从高到低:算术运算符->移位运算符->关系运算符(其中== 和 !=优先级又较低)->逻辑运算符(按位与-〉按位异或-〉按位或-〉逻辑与-〉逻辑或)! 

************************************************************************ 

优先决 

*括号成员第一; //括号运算符[]() 成员运算符. -> 
*全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*& 
*乘除余三,加减四; //这个"余"是指取余运算即% 
*移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等 
*等于(与)不等排第七; //即== != 
*位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|) "三分天下"八九十;  
*逻辑或跟与; //逻辑运算符:|| 和 && 十二和十一; //注意顺序:优先级(||) 底于 优先级(&&)  
*条件高于赋值, //三目运算符优先级排到 13 位只比赋值运算符和","高//需要注意的是赋值运算符很多! 
*逗号运算级最低! //逗号运算符优先级最低 

由于C语言的运算符优先级与C++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全实用于C++.但是应该能够兼容,大家可以比较一下他们的区别应该就能够很快掌握C++的优先级的!  

************************************************************************ 

醋坛酸味灌  
味落跳福豆  

共44个运算符  

醋-初等,4个: ( ) [ ] -> 指向结构体成员 . 结构体成员  
坛-单目,9个: ! ~ ++ -- -负号 (类型) *指针 &取地址 sizeof长度  
酸-算术,5个: * / % + -减  
味-位移,2个: << >>  
灌-关系,6个: < <= > >= == 等于 != 不等于  
味-位逻,3个: & 按位与 ^ 按位异或 | 按位或  
落-逻辑,2个: && 逻辑与 || 逻辑或  
跳-条件,1个,三目: ? :  
福-赋值,11个: = += -= *= /= %= >>= <<= &= ^= |=  
豆-逗号,1个: ,  

结合方向自右向左的只有三类:赋值、单目和三目  
同一优先级的运算顺序由结合方向决定  

************************************************************************ 

            Turbo C运算符的优先次序  
━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━  
                    表达式                              ┃优先级  
────────────────────────────╂────  
  ()(小括号) [](数组下标) .(结构成员) ->(指针型结构成员)┃ 最高  
────────────────────────────┃  ↑  
 !(逻辑非) .(位取反) -(负号) ++(加1) --(减1) &(变量地址)┃  │  
────────────────────────────┃  │  
   *(指针所指内容)  type(函数说明)  sizeof(长度计算)    ┃  │  
────────────────────────────┃  │  
     *(乘)     /(除)     %(取模)                        ┃  │  
────────────────────────────┃  │  
     +(加)     -(减)                                    ┃  │  
────────────────────────────┃  │  
     <<(位左移)          >>(位右移)                     ┃  │  
────────────────────────────┃  │  
     <(小于)   <=(小于等于)   >(大于)   >=(大于等于)    ┃  │  
────────────────────────────┃  │  
     ==(等于)       !=(不等于)                          ┃  │  
────────────────────────────┃  │  
     &(位与)                                            ┃  │  
────────────────────────────┃  │  
     ^(位异或)                                          ┃  │  
────────────────────────────┃  │  
     |(位或)                                            ┃  │  
────────────────────────────┃  │  
     &&(逻辑与)                                         ┃  │  
────────────────────────────┃  │  
     ||(逻辑或)                                         ┃  │  
────────────────────────────┃  │  
     ?:(?表达式)                                        ┃  │  
────────────────────────────┃  │  
     =    +=   -=(联合操作)                             ┃  │