程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話運算符及其優先級匯總表口訣

C說話運算符及其優先級匯總表口訣

編輯:關於C++

C說話運算符及其優先級匯總表口訣。本站提示廣大學習愛好者:(C說話運算符及其優先級匯總表口訣)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話運算符及其優先級匯總表口訣正文


C說話運算符及其優先級匯總表口訣

圓下箭頭一頓號
不凡增減強盛針地長
三乘除,四加減,五移位
萬萬別把魚忘卻,它在盛飯的廚子裡
小燈年夜燈燈燈不等
爸喂魚,舅困惑,裸雞也困惑
十三姨,十四父,十五逗,兜到低

“圓下箭頭一頓號”指的是第15級的運算符。個中圓指的是運算符(),下指的是下標運算符[],箭頭指的是指向構造體成員運算符->,頓號指的是構造體成員運算符、 
“不凡增減強盛針地長”指的是第14級的運算符。個中非指的是邏輯運算符!,凡指的是按位取反運算符~,增減指的是自增和自減運算符++和--,富指的是負號運算符-,強指的是類型轉換運算符(類型),針指的是指針運算符*,地指的是地址運算符&,長指的是長度運算符Sizeof
“三乘除,四加減,五移位” 指的是第13級到第11級的運算符。個中三四五並沒有現實意義,只是起辨別級別罷了。也能夠想象三指的是第13級運算符。乘除指的是乘法運算符*和除法運算符/,加減指的是加法運算符+和減法運算符-,移位指的是左移運算符<<和右移運算符>>
“萬萬別把魚忘卻,它在盛飯的廚子裡”指的是求余運算符%,它位於盛飯的廚子裡,即指和乘法運算符、除法運算符在一路。
“小燈年夜燈燈燈不等” 指的是第10級到第9級的運算符。個中小燈年夜燈指的是關系運算符<、<=、>和>=,燈燈指的是等於運算符==,不等指的是不等於運算符!=
“爸喂魚,舅困惑,裸雞也困惑”指的是第8級到第4級的運算符。個中,爸喂魚之指的是第8級的按位與運算符&,舅困惑指的是第7級的按位異或運算符^和第6級的按位或運算符||,裸雞也困惑指的是第5級、第4級的邏輯與運算符&&和邏輯或運算符||
“十三姨,十四父,十五逗,兜到低” 指的是第3級到第1級的運算符。個中,十三姨指的是前提運算符?: (三有兩重寄義,即指?:的優先級別是三,它的運算符類型也是三目,?豈非不是姨即困惑嗎?),十四父的十四沒有現實意義,父指的是賦值運算符=、+=、-=、*=、/=、%=、>>=、<<=、&=、 ^=和|= ,十五逗指的是第1級的運算符,兜到低指的是15級運算符以,停止。

附錄:C說話運算符及優先級
優先級        運算符        寄義                  運算符類型       聯合偏向
15        ()        圓括號                            單目           自左向右
        []        下標運算符                
        —>        指向構造體成員運算符                
        、        構造體成員運算符               
14        !        邏輯非運算符                                        自右向左

        ~        按位取反運算符                
        ++        自增運算符                
        --        自減運算符                
        -        負號運算符                
        (類型)        類型轉換運算符                
        *        指針運算符                
        &        地址運算符                
        Sizeof        長度運算符                
13        *        乘法運算符                            雙目          自左向右
        /        除法運算符                
        %        求余運算符                
12        +        加法運算符                
        -        減法運算符                
11        <<        左移運算符                
        >>        右移運算符                
10        <、<=、>、>=        關系運算符                
9        ==        等於運算符                
        !=        不等於運算符                
8        &        按位與運算符                
7        ^        按位異或運算符                
6        |        按位或運算符                
5        &&        邏輯與運算符                
4        ||        邏輯或運算符                
3        ?:        前提運算符                          三目          自右向左

2        =、+=、-=、*=、
           /=、%=、>>=、
           <<=、&=、^=、|=   賦值運算符         雙目        
1        ,        逗號運算符                              雙目         自左向右 


括號成員第一;        //括號運算符[]() 成員運算符.  ->
全部單目第二;        //一切的單目運算符好比++ -- +(正) -(負) 指針運算*&
乘除余三,加減四;   //這個"余"是指取余運算即%
移位五,關系六;    //移位運算符:<< >> ,關系:> < >= <= 等
等於(與)不等排第七;    //即== !=
位與異或和位或;    //這幾個都是位運算: 位與(&)異或(^)位或(|)     
"三分世界"八九十;  
邏輯或跟與           //邏輯運算符:|| 和 &&
十二和十一;            //留意次序:優先級(||)  底於 優先級(&&) 
前提高於賦值,       //三目運算符優先級排到 13 位只比賦值運算符和","高//須要留意的是賦值運算符許多!
逗號運算級最低!   //逗號運算符優先級最低

因為C說話的運算符優先級與C++的不完整一樣(重要是增長了幾個運算符),所以這個口訣不克不及完整適用於C++.然則應當可以或許兼容,年夜家可以比擬一下他們的差別應當就可以夠很快控制C++的優先級的!  

((*strDest++=*strSrc++)!='\0');  :
重點:++後增運算符優先級高於*
1.*strDest++相當於 *(strDest++)
2.因為是後自增,故履行次序為:

               *strDest=*strSrc
               strDest++ strsrc++  //該級次序不明
              將*strDest與'\0'比擬 //即,全部表達式的值為*strDest與'\0'的比擬成果

值得留意的是,關於賦值表達式,表達式自己的值等於右邊子表達式的值。

經由過程以上深刻的剖析,我們曉得這個表達式完成了以下多個功效:

  1.關於指針strDest, strSrc,將strSrc所指的內存空間的值賦給由strDest所指的內存空間。

  2.斷定賦值後的strDest所指的內存空間的指能否等於0。

  3.關於指針strDest,strSrc,他們的值分離加1,即指向下一個元素。

即:該表達式完成了以下三個功效:

  1.關於指針strDest, strSrc,將strSrc所指的內存空間的值賦給由strDest所指的內存空間。

  2.斷定賦值後的strDest所指的內存空間的值能否等於0。

  3.關於指針strDest,strSrc,他們的值分離加1,即指向下一個元素。

C說話運算符表

運算符依照優先級年夜小由上向下分列,在統一行的運算符具有雷同優先級。第二行是一切的一元運算符。
 

運算符
說明
聯合方法
() [] -> . 括號(函數等),數組,兩種構造成員拜訪
由左向右
! ~ ++ -- + - 

* & (類型) sizeof

否認,按位否認,增量,減量,正負號,

直接,取地址,類型轉換,求年夜小

由右向左
* / % 乘,除,取模
由左向右
+ - 加,減
由左向右
<< >> 左移,右移
由左向右
< <= >= > 小於,小於等於,年夜於等於,年夜於
由左向右
== != 等於,不等於
由左向右
& 按位與
由左向右
^ 按位異或
由左向右
| 按位或
由左向右
&& 邏輯與
由左向右
|| 邏輯或
由左向右
? : 前提
由右向左
= += -= *= /= 

&= ^= |= <<= >>=

各類賦值
由右向左
, 逗號(次序)
由左向右

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved