c++运算符优先级总结
生活随笔
收集整理的這篇文章主要介紹了
c++运算符优先级总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
經常寫程序的時候,遇到運算符優先級的問題,令我汗顏的是,查書的次數挺多的……狠狠心,總結下。不過還要結合大量的編程實踐來深入腦海。1、首先永遠忘不了的是,逗號運算符級別最低,毫無爭議的還有()括起來的,人工設定了最高優先級,先算括號里的。2、非人為的,就是四個,函數調用(),[]數組下標,點運算符,間接->運算符。他們是優先級最高的,從左到右。拿->記憶結合性3、還有最起碼知道,所有的單目運算符具有相同級別的優先級,記住是所有的。且記住都是從右到左比如:正負號+i和-i,自增自減++i和i--,取地值&a,取值*a,取類型大小運算符sizeof(int),邏輯非!a,邏輯按位取反~a,他們都是單目的運算符,且同時出現在表達式,運算順序是右到左。4、知道一個規律,總體的運算符的優先級是 ?單目 ?> ?雙目 ?> ?三目 ?> ?賦值(包含復合賦值),除去幾個特殊的。有了大前提,接下來是高潮!用網友總結的一個順口溜加上我的改進,并平時結合實踐一定能事半功倍的牢記!"張飛算計魏延,關羽,或者調戲婦女",什么意思呢?以下是優先級從高到底的順序,而結合性根據常識就能判斷:張飛=邏輯非(飛)運算符 ? ? ? ? ? ? ? ? ? ? ? !(提醒前面提到的單目,除那四個之外,單目是最高級別的,都是右到左,拿sizeof()來記憶提醒是右到左算計=算(算)術運算符 ? ? ? ? ? ? ? ? ? ? ? ? ? 其次是+-*/%(小學數學就教的的順序,先算*/%,再算加減,從左到右,小學就是這樣的,沒變)魏延=移位(魏)運算符 ? ? ? ? ? ? ? ? ? ? ? ? ? 然后是移位運算符《 》 ,說1000 0011誰移4位,那肯定是左到右順序計算,10000011<4,相當于除法關羽=關(關羽)系和位與(魏羽)運算符 ? ? ? ? ? ?接著是關系運算符,這里注意點:==和!=最后算,還有結合性左到右,其實根據常識也是如此。然后是位與運算符&(~是單目)或者=位或 其次位或|,當然如果寫程序多,自然記得位異或^,不用想必夾在中間,學過組成原理就知道左到右的順序這才能輪的上邏輯與&&(羽),然后是邏輯或||(或者),結合性想到短路操作,就知道是左到右。調戲=(調)條件運算符?:(三目) 最后,條件運算符,也就是級別低的三目運算符 婦女=賦值和復合賦值 最后是,賦值運算符=和復合的賦值運算符,比如-=,+=,*=,/=,%=,&=,*=,《=,》=,|=,^= ……,都是右到左的結合性注意:1、如果程序段中的運算符很多,最好是括號括起來,不要太自信。2、c++的運算符,增加了幾個,不過原c的,還是適用的。3、邏輯運算符&&和||和!計算的是整個表達式的邏輯真值,而位運算符的&和^和~和|,計算的是二進制數的每一位4、這個順口溜要遵循大前提那4條,暨:人為最高是括號包住的自然最高是四個(),[],點,—>,左到右。逗號最低三級中,單目最高,且單目都是右到左。其次雙目和三目。
總結
以上是生活随笔為你收集整理的c++运算符优先级总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 冰原守卫者背包如何扩容
- 下一篇: 尖刀剧情介绍