最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言運算符及其優(yōu)先級匯總表口訣

 更新時間:2013年07月22日 18:35:19   作者:  
由于C語言的運算符優(yōu)先級與C++的不完全一樣(主要是增加了幾個運算符),所以這個口訣不能完全實用于C++.但是應(yīng)該能夠兼容,大家可以比較一下他們的區(qū)別應(yīng)該就能夠很快掌握C++的優(yōu)先級的

C語言運算符及其優(yōu)先級匯總表口訣

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


圓下箭頭一頓號”指的是第15級的運算符。其中圓指的是運算符(),下指的是下標(biāo)運算符[],箭頭指的是指向結(jié)構(gòu)體成員運算符->,頓號指的是結(jié)構(gòu)體成員運算符、 
非凡增減富強針地長”指的是第14級的運算符。其中非指的是邏輯運算符!,凡指的是按位取反運算符~,增減指的是自增和自減運算符++和--,富指的是負號運算符-,強指的是類型轉(zhuǎn)換運算符(類型),針指的是指針運算符*,地指的是地址運算符&,長指的是長度運算符Sizeof
三乘除,四加減,五移位” 指的是第13級到第11級的運算符。其中三四五并無實際意義,只是起區(qū)分級別而已。也可以想象三指的是第13級運算符。乘除指的是乘法運算符*和除法運算符/,加減指的是加法運算符+和減法運算符-,移位指的是左移運算符<<和右移運算符>>
千萬別把魚忘記,它在盛飯的廚子里”指的是求余運算符%,它位于盛飯的廚子里,即指和乘法運算符、除法運算符在一起。
小燈大燈燈燈不等” 指的是第10級到第9級的運算符。其中小燈大燈指的是關(guān)系運算符<、<=、>和>=,燈燈指的是等于運算符==,不等指的是不等于運算符!=
爸喂魚,舅疑惑,裸雞也疑惑”指的是第8級到第4級的運算符。其中,爸喂魚之指的是第8級的按位與運算符&,舅疑惑指的是第7級的按位異或運算符^和第6級的按位或運算符||,裸雞也疑惑指的是第5級、第4級的邏輯與運算符&&和邏輯或運算符||
十三姨,十四父,十五逗,兜到低” 指的是第3級到第1級的運算符。其中,十三姨指的是條件運算符?: (三有雙重含義,即指?:的優(yōu)先級別是三,它的運算符類型也是三目,?難道不是姨即疑惑嗎?),十四父的十四沒有實際意義,父指的是賦值運算符=、+=、-=、*=、/=、%=、>>=、<<=、&=、 ^=和|= ,十五逗指的是第1級的運算符,兜到低指的是15級運算符以,結(jié)束。

附錄:C語言運算符及優(yōu)先級
優(yōu)先級        運算符        含義                  運算符類型       結(jié)合方向
15        ()        圓括號                            單目           自左向右
        []        下標(biāo)運算符                
        —>        指向結(jié)構(gòu)體成員運算符                
        、        結(jié)構(gòu)體成員運算符               
14        !        邏輯非運算符                                        自右向左

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

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


括號成員第一;        //括號運算符[]() 成員運算符.  ->
全體單目第二;        //所有的單目運算符比如++ -- +(正) -(負) 指針運算*&
乘除余三,加減四;   //這個"余"是指取余運算即%
移位五,關(guān)系六;    //移位運算符:<< >> ,關(guān)系:> < >= <= 等
等于(與)不等排第七;    //即== !=
位與異或和位或;    //這幾個都是位運算: 位與(&)異或(^)位或(|)     
"三分天下"八九十;  
邏輯或跟與           //邏輯運算符:|| 和 &&
十二和十一;            //注意順序:優(yōu)先級(||)  底于 優(yōu)先級(&&) 
條件高于賦值,       //三目運算符優(yōu)先級排到 13 位只比賦值運算符和","高//需要注意的是賦值運算符很多!
逗號運算級最低  //逗號運算符優(yōu)先級最低

由于C語言的運算符優(yōu)先級與C++的不完全一樣(主要是增加了幾個運算符),所以這個口訣不能完全實用于C++.但是應(yīng)該能夠兼容,大家可以比較一下他們的區(qū)別應(yīng)該就能夠很快掌握C++的優(yōu)先級的!  

((*strDest++=*strSrc++)!='\0');  :
重點:++后增運算符優(yōu)先級高于*
1.*strDest++相當(dāng)于 *(strDest++)
2.由于是后自增,故執(zhí)行順序為:

               *strDest=*strSrc
               strDest++ strsrc++  //該級順序不明
              將*strDest與'\0'比較 //即,整個表達式的值為*strDest與'\0'的比較結(jié)果

值得注意的是,對于賦值表達式,表達式本身的值等于左邊子表達式的值。

通過以上深入的分析,我們知道這個表達式完成了以下多個功能:

  1.對于指針strDest, strSrc,將strSrc所指的內(nèi)存空間的值賦給由strDest所指的內(nèi)存空間。

  2.判斷賦值后的strDest所指的內(nèi)存空間的指是否等于0。

  3.對于指針strDest,strSrc,他們的值分別加1,即指向下一個元素。

即:該表達式實現(xiàn)了以下三個功能:

  1.對于指針strDest, strSrc,將strSrc所指的內(nèi)存空間的值賦給由strDest所指的內(nèi)存空間。

  2.判斷賦值后的strDest所指的內(nèi)存空間的值是否等于0。

  3.對于指針strDest,strSrc,他們的值分別加1,即指向下一個元素。

C語言運算符表

運算符按照優(yōu)先級大小由上向下排列,在同一行的運算符具有相同優(yōu)先級。第二行是所有的一元運算符。
 

運算符
解釋
結(jié)合方式
() [] -> . 括號(函數(shù)等),數(shù)組,兩種結(jié)構(gòu)成員訪問
由左向右
! ~ ++ -- + - 

* & (類型) sizeof

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

間接,取地址,類型轉(zhuǎn)換,求大小

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

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

各種賦值
由右向左
, 逗號(順序)
由左向右

相關(guān)文章

  • C++ Boost PointerContainer智能指針詳解

    C++ Boost PointerContainer智能指針詳解

    智能指針是一種像指針的C++對象,但它能夠在對象不使用的時候自己銷毀掉。雖然STL提供了auto_ptr,但是由于不能同容器一起使用(不支持拷貝和賦值操作),因此很少有人使用。它是Boost各組件中,應(yīng)用最為廣泛的一個
    2022-11-11
  • C/C++ Crypto密碼庫調(diào)用的實現(xiàn)方法

    C/C++ Crypto密碼庫調(diào)用的實現(xiàn)方法

    Crypto 庫是C/C++的加密算法庫,這個加密庫很流行,基本上涵蓋了市面上的各類加密解密算法,感興趣的可以參考一下
    2021-06-06
  • C語言多線程開發(fā)中死鎖與讀寫鎖問題詳解

    C語言多線程開發(fā)中死鎖與讀寫鎖問題詳解

    死鎖是指多個線程因競爭資源而造成的僵局(互相等待);有些公共數(shù)據(jù)修改的機會很少,但其讀的機會很多。并且在讀的過程中會伴隨著查找,給這種代碼加鎖會降低我們的程序效率。讀寫鎖可以解決這個問題;
    2022-05-05
  • C++基于Boost庫實現(xiàn)命令行解析

    C++基于Boost庫實現(xiàn)命令行解析

    Boost庫中默認自帶了一個功能強大的命令行參數(shù)解析器,以往我都是自己實現(xiàn)參數(shù)解析的,今天偶爾發(fā)現(xiàn)這個好東西,就來總結(jié)一下參數(shù)解析的基本用法,該庫需要引入program_options.hpp頭文件,即可使用了
    2021-06-06
  • C++ API功能設(shè)計的實現(xiàn)

    C++ API功能設(shè)計的實現(xiàn)

    C++ API中看似很小的修改,都可能會影響到生成的對象和庫文件的二進制表示,如果客戶想替換共享庫使之工作,就不能簡單的替換庫文件了事,而往往需要重新編譯
    2022-08-08
  • C++找出字符串中出現(xiàn)最多的字符和次數(shù),時間復(fù)雜度小于O(n^2)

    C++找出字符串中出現(xiàn)最多的字符和次數(shù),時間復(fù)雜度小于O(n^2)

    今天小編就為大家分享一篇關(guān)于C++找出字符串中出現(xiàn)最多的字符和次數(shù),時間復(fù)雜度小于O(n^2),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • C語言socket編程開發(fā)應(yīng)用示例

    C語言socket編程開發(fā)應(yīng)用示例

    這篇文章主要介紹了C語言socket編程開發(fā)應(yīng)用,示例簡單,大家參考使用吧
    2013-12-12
  • C語言銀行儲蓄系統(tǒng)源碼

    C語言銀行儲蓄系統(tǒng)源碼

    這篇文章主要為大家詳細介紹了C語言銀行儲蓄系統(tǒng)源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語言修煉之路初識分支句?循環(huán)助本心上篇

    C語言修煉之路初識分支句?循環(huán)助本心上篇

    現(xiàn)實生活中我們經(jīng)常需要根據(jù)不同的條件做出不同的選擇。程序設(shè)計中也需要根據(jù)條件來選擇不同的程序進行處理,這稱之為分支結(jié)構(gòu),當(dāng)條件表達式不存在時,它被假設(shè)為真。您也可以設(shè)置一個初始值和增量表達式,一般情況下,C?程序員偏向于使用?for(;;)?結(jié)構(gòu)來表示一個無限循環(huán)
    2022-03-03
  • 一篇帶你了解C語言--位操作詳情

    一篇帶你了解C語言--位操作詳情

    這篇文章主要介紹了關(guān)于C語言位運算的簡單示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08

最新評論

申扎县| 金昌市| 万全县| 桐乡市| 嘉荫县| 赤水市| 丰台区| 龙州县| 贵州省| 周口市| 尉氏县| 桃源县| 镇雄县| 民乐县| 镇雄县| 潍坊市| 喀喇沁旗| 木兰县| 莱西市| 通城县| 博兴县| 浦城县| 临西县| 丽江市| 西贡区| 陕西省| 宜城市| 浑源县| 马山县| 娱乐| 兴山县| 老河口市| 皋兰县| 肥东县| 仁寿县| 贵阳市| 新安县| 洪洞县| 井冈山市| 曲松县| 香港 |