【转】C语言优先级

C语言优先级

共44个运算符 

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

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

           Turbo C运算符的优先次序 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
                    表达式                              ┃优先级 
──────────────────────────────── 
()(小括号) [](数组下标) .(结构成员) ->(指针型结构成员)最高 
──────────────────────────── ↑ 
!(逻辑非) .(位取反) -(负号) ++(加1) --(减1) &(变量地址)
──────────────────────────── │

   *(指针所指内容) type(函数说明) sizeof(长度计算)   

──────────────────────────── 
     *(乘)     /(除)     %(取模)                        
────────────────────────────
     +(加)     -(减)                                    
────────────────────────────
     <<(位左移)          >>(位右移)                     
────────────────────────────
     <(小于)   <=(小于等于)   >(大于)   >=(大于等于)    
────────────────────────────
     ==(等于)       !=(不等于)                        

────────────────────────────
     &(位与)                                            
────────────────────────────
     ^(位异或)                                          
────────────────────────────

     |(位或)                                            
────────────────────────────
     &&(逻辑与)                                         
────────────────────────────
     ||(逻辑或)                                         
────────────────────────────
     ?:(?表达式)                                        
────────────────────────────

     =    +=   -=(联合操作)                             
────────────────────────────
     ,(逗号运算符)                                      最低 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

posted @ 2012-04-20 22:10  swjtu_cipc  阅读(175)  评论(0)    收藏  举报