C運(yùn)算符優(yōu)先級(jí)記憶口訣_第1頁(yè)
C運(yùn)算符優(yōu)先級(jí)記憶口訣_第2頁(yè)
C運(yùn)算符優(yōu)先級(jí)記憶口訣_第3頁(yè)
C運(yùn)算符優(yōu)先級(jí)記憶口訣_第4頁(yè)
C運(yùn)算符優(yōu)先級(jí)記憶口訣_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

優(yōu)先級(jí)從上到下依次遞減,最上面具有最高的優(yōu)先級(jí),逗號(hào)操作符具有最低的優(yōu)先級(jí)。賦值運(yùn)算符。其它的都是從左至右結(jié)合。是與函數(shù)相關(guān),[]與數(shù)組相關(guān),而->及.是取構(gòu)造成員。其次是單目運(yùn)算符,全部的單目運(yùn)算符具有一樣的優(yōu)先級(jí),因此在我認(rèn)為的真正的運(yùn)*p++與*(p++)等效是毫無(wú)疑問(wèn)的。接下來(lái)是算術(shù)運(yùn)算符,*、/、%的優(yōu)先級(jí)固然比+、-高了。移位運(yùn)算符緊隨其后。其次的關(guān)系運(yùn)算符中,<<=>>===!=高一個(gè)級(jí)別,不大好理解。全部的規(guī)律操作符都具有不同的優(yōu)先級(jí)〔單目運(yùn)算符出外〕規(guī)律位操作符的“與“比“或“高,而“異或“則在它們之間。跟在其后的&&比||高。接下來(lái)的是條件運(yùn)算符,賦值運(yùn)算符及逗號(hào)運(yùn)算符。C4個(gè)運(yùn)算符規(guī)定了運(yùn)算方向,它們是&&、||、條件運(yùn)算符及賦值運(yùn)算符。&&、||都是先計(jì)算左邊表達(dá)式的值,當(dāng)左邊表達(dá)式的值能確定整個(gè)表達(dá)式的值時(shí),就不再計(jì)算右邊表達(dá)式的值。如a=0&&b;&&0,則右邊表達(dá)式b就不再推斷。在條件運(yùn)算符中。如a?b:caabc之中的一個(gè)進(jìn)展求值。賦值表達(dá)式則規(guī)定先對(duì)右邊的表達(dá)式求值,因此使a=b=c=6;成為可能。初——單——算,關(guān)——邏,條——賦——逗斷句如上。怎么記憶呢?我是這樣記憶的:“”內(nèi)表示運(yùn)算符的簡(jiǎn)稱?!俺酢贝巍皢巍豹?dú)找你“算”賬,〔由于你和關(guān)羽有仇〕“關(guān)”羽帶著兵巡“邏”〔由于你躲了起來(lái)〕“挑”著“豆腐”〔當(dāng)了賣豆腐的——實(shí)際上是“賦”“逗”2023-4-815:43回復(fù)我是這樣記得:一個(gè)自稱黑的初學(xué)者連編程都不會(huì)還算什么黑客,把自己關(guān)起來(lái)反思吧,規(guī)律都沒(méi)有條理,由于你不認(rèn)真學(xué)!還找理由說(shuō)由于天賦不夠,真逗``[2023-1-3019:22:00|Author:盛方單片機(jī)]C444-單目,9個(gè):!~++---負(fù)號(hào)(類型) 合方向:自右向左〕26==等于!=不等于|按位或2&&規(guī)律與||規(guī)律或〔結(jié)合方向:自右向左〕11*=/=%=>>=<<=&=^=|= 〕1結(jié)合方向自右向左的只有三類:賦值、單目和三目,其它的都是從左至右結(jié)合。自己今日寫程序時(shí)候把關(guān)系運(yùn)算符號(hào)和位規(guī)律的優(yōu)先級(jí)弄反就不出問(wèn)題。如:if〔P1OUT&BIT0==0〕P1OUT^=BIT0; 是就翻轉(zhuǎn),即點(diǎn)亮LED.這行程序是錯(cuò)誤的??蓛蛇吋由侠ㄌ?hào),即if〔〔P1OUT&BIT0〕==0〕,或是直接用:P1OUT|=BIT0;是與函數(shù)相關(guān),[]與數(shù)組相關(guān),而->及.是取構(gòu)造成員。正的運(yùn)算符中它們具有最高的優(yōu)先級(jí),又由于它們都是從右至左結(jié)合的,因此*p++與*(p++)等效是毫無(wú)疑問(wèn)的。,*、/、%的優(yōu)先級(jí)固然比+、-高了。移位運(yùn)算符緊隨其后。全部的規(guī)律操作符都具有不同的優(yōu)先級(jí)〔單目運(yùn)算符出外,!和~〕跟在其后的&&比||高。接下來(lái)的是條件運(yùn)算符,賦值運(yùn)算符及逗號(hào)運(yùn)算符。&&、||、條件運(yùn)算符及賦值運(yùn)算符。&&、||都是先計(jì)算左邊表達(dá)式的值,當(dāng)左邊表達(dá)式的值能確定整個(gè)表達(dá)式的值a=0&&b;&&0,則右b在條件運(yùn)算符中。如a?b:c;先推斷aabc進(jìn)展求值。賦值表達(dá)式則規(guī)定先對(duì)右邊的表達(dá)式求值,因此使a=b=c=6;成為可能。經(jīng)高人教育,記住了一句話,用于記住常用運(yùn)算符的優(yōu)先級(jí),終身受用:“(規(guī)律)非算(術(shù)運(yùn)算符)關(guān)(系運(yùn)算符)(規(guī)律)與(規(guī)律)或條(件運(yùn)算符)賦(值運(yùn)算符)“,tiaoxi方法不是很優(yōu)雅,但是很奏效,假設(shè)有更好的記憶法,可以提出來(lái),以防本人讓歷史重演標(biāo)簽:雜談C中運(yùn)算符記憶規(guī)律(2023-10-23標(biāo)簽:雜談C++操作符的優(yōu)先級(jí)操作符及其結(jié)合性 功能 用法

分類:學(xué)習(xí)L ::L ::L ::L .L ->L []L L R ++R --R typeidR typeid

類作用域成員選擇成員選擇下標(biāo)函數(shù)調(diào)用類型構(gòu)造ID運(yùn)行時(shí)類型ID

::nameclass::namenamespace::nameobject.memberpointer->membervariable[expr]name(expr_list)type(expr_list)lvalue++lvalue--typeid(type)typeid(expr)R 顯示強(qiáng)制類型類型轉(zhuǎn)換轉(zhuǎn)換R sizeof 對(duì)象的大小

cast_name<type>(expr)sizeofexprRsizeofRRsizeofR++R--R~R!R-R+R*R&RRnewRdeleteRdelete[]L->*L.*L*L/L%L+L-L<<L>>L<L<=L>L>=L==R!=R&R^R|R&&R||R?:R=R*=,/=,%=R+=,-=R<<=,>>=R&=,|=,^=RthrowL,規(guī)律非解引用取地址乘法除法加法減法位左移位右移小于大于相等不等位與位或符合賦值操作逗號(hào)

sizeof(type)++lvalue--lvalue~expr!expr-expr+expr*expr&expr(type)exprnewtypedeleteexprdelete[]exprptr->*ptr_to_memberobj.*ptr_to_memberexpr*exprexpr/exprexpr%exprexpr+exprexpr-exprexpr<<exprexpr>>exprexpr<exprexpr<=exprexpr>exprexpr>=exprExpr==exprExpr!=exprExpr&exprExpr^exprExpr|exprExpr&&exprExpr||exprExpr?expr:exprLvalue=exprLvalue+=expr……ThrowexprExpr,expr記憶方法:--摘自《C語(yǔ)言程序設(shè)計(jì)有用問(wèn)答》 -呂鳳翥 呂 問(wèn)題:如何記住運(yùn)算符的15種優(yōu)先級(jí)和結(jié)合性?解答:C語(yǔ)言中運(yùn)算符種類比較繁多,優(yōu)先級(jí)有15種,結(jié)合性有兩種。如何記憶兩種結(jié)合性和15種優(yōu)先級(jí)?下面表達(dá)一種記憶方法。結(jié)合性有兩種,一種是自左至右,另一種是自右至左,大局部運(yùn)算符的結(jié)合性是自左至右,只有單目運(yùn)算符、三目運(yùn)算符的賦值運(yùn)算符的結(jié)合性自右至左。優(yōu)先級(jí)有15種。記憶方法如下:記住一個(gè)最高的:構(gòu)造類型的元素或成員以及小括號(hào)。記住一個(gè)最低的:逗號(hào)運(yùn)算符。剩余的是一、二、三、賦值。意思是單目、雙目、三目和賦值運(yùn)算符。在諸多運(yùn)算符中,又分為:算術(shù)、關(guān)系、規(guī)律。兩種位操作運(yùn)算符中,移位運(yùn)算符在算術(shù)運(yùn)算符后邊,規(guī)律位運(yùn)算符在規(guī)律運(yùn)算符的前面。再細(xì)分如下:算術(shù)運(yùn)算符分 *,/,%高于+,-。=高于==。規(guī)律運(yùn)算符中,除了規(guī)律求反〔〕是單目外,規(guī)律與〔&〕高于規(guī)律或〔|?!病?〔)〔|。15種優(yōu)先級(jí)都記住了,再將記憶方法總結(jié)如下:去掉一個(gè)最高的,去掉一個(gè)最低的,剩下的是一、二、三、賦值。雙目運(yùn)算符中,挨次為算術(shù)、關(guān)系和規(guī)律,移位和規(guī)律位插入其中初單算,關(guān)邏,條賦逗〔我認(rèn)為最好的斷句〕這樣記:《一道簡(jiǎn)潔算術(shù)題》①我“初”次做了一道“簡(jiǎn)”單的“算術(shù)”題。②由于我沒(méi)看懂題目?jī)?nèi)在的“關(guān)系”和“規(guī)律”?!睪→L〕③以致亂用“條件”,變量亂“賦值”。從而導(dǎo)致了運(yùn)算的錯(cuò)誤。這么簡(jiǎn)潔的題目啊,我鬧了笑話?!惨布础岸骸薄矯語(yǔ)言運(yùn)算符優(yōu)先級(jí)順口溜[轉(zhuǎn)]醋壇酸味灌味落跳福豆44個(gè)運(yùn)算符醋-初等,4個(gè):()[]->指向構(gòu)造體成員.構(gòu)造體成員壇-單目,9個(gè):!~++---負(fù)號(hào)(類型) *指針&取地址sizeof長(zhǎng)度〔結(jié)合方向:自右向左〕酸-算術(shù),5個(gè):*/%+-減味-位移,2個(gè):<<>>灌-關(guān)系,6個(gè):<<=>>===等于!=不等于味-位邏,3個(gè):&按位與^按位異或|按位或落-規(guī)律,2個(gè):&&規(guī)律與||規(guī)律或跳-條件,1個(gè),三目:?: 〔結(jié)合方向:自右向左〕福-賦值,11個(gè):=+=-=*=/=%=>>=<<=&=^=|= 〔結(jié)合方向:自右向左〕豆-逗號(hào),1個(gè):,結(jié)合方向自右向左的只有三類:賦值、單目和三目,其它的都是從左至右結(jié)合。一個(gè)簡(jiǎn)潔的口訣,可以讓你在很段的時(shí)間里記憶C語(yǔ)言運(yùn)算符優(yōu)先級(jí)別,過(guò)目不忘……括號(hào)成員第一; //括號(hào)運(yùn)算符[]成員運(yùn)算符. ->全體單目其次; //全部的單目運(yùn)算符比方++--+(正)-(負(fù))指針運(yùn)算*&乘除余三,加減四; //這個(gè)“余“是指取余運(yùn)算即%移位五,關(guān)系六; //移位運(yùn)算符:<<>>,關(guān)系:><>=<=等等于(與)不等排第七; //即==!=位與異或和位或; //這幾個(gè)都是位運(yùn)算:位與(&)異或(^)位或(|)“三分天下“八九十;規(guī)律或跟與 //規(guī)律運(yùn)算符:||和&&十二和十一; //留意挨次:優(yōu)先級(jí)(||) 底于優(yōu)先級(jí)(&&)條件高于賦值, //三目運(yùn)算符優(yōu)先級(jí)排到13位只比賦值運(yùn)算符和“,“高//需要留意的是賦值運(yùn)算符很多!逗號(hào)運(yùn)算級(jí)最低! //逗號(hào)運(yùn)算符優(yōu)先級(jí)最低由于CC++的不完全一樣(主要是增加了幾個(gè)運(yùn)算符),所以這個(gè)口訣不能完全有用于C++.C++的優(yōu)先級(jí)的!2023-11-2016:21優(yōu)先決括號(hào)成員第一; //括號(hào)運(yùn)算符[]成員運(yùn)算符. ->全體單目其次; //全部的單目運(yùn)算符比方++--+(正)-(負(fù))指針運(yùn)算*&乘除余三,加減四;//這個(gè)“余“是指取余運(yùn)算即%//等于(與)不等排第七;//即==!=//(&)異或(^)位或(|)“三分天下“八九十;規(guī)律或跟與; //規(guī)律運(yùn)算符:||和&&十二和十一; //留意挨次:優(yōu)先級(jí)(||) 底于優(yōu)先級(jí)(&&)條件高于賦值, //三目運(yùn)算符優(yōu)先級(jí)排到13位只比賦值運(yùn)算符和“,“高//需要留意的是賦值運(yùn)算符很多!逗號(hào)運(yùn)算級(jí)最低//逗號(hào)運(yùn)算符優(yōu)先級(jí)最低C++.但是應(yīng)當(dāng)能夠兼容,大家可以比較一下他們的C++的優(yōu)先級(jí)的!***********************************************************************************************************************C4215一、賦值運(yùn)算符賦值語(yǔ)句的作用是把某個(gè)常量或變量或表達(dá)式的值賦值給另一個(gè)變量。符號(hào)為‘=’。這里并不是等于的意思,只是賦值,等于用‘==’表示。留意:賦值語(yǔ)句左邊的變量在程式的其他地方必需要聲明。得已賦值的變量我們稱為左值,由于他們出目前賦值語(yǔ)句的左邊;產(chǎn)生值的表達(dá)式我們稱為右值,由于她他們出目前賦值語(yǔ)句的右邊。常數(shù)只能作為右值。

count=5;total1=total2=0;第一個(gè)賦值語(yǔ)句大家都能理解。其次個(gè)賦值語(yǔ)句的意思是把0運(yùn)算的,也就是說(shuō)從右端開(kāi)頭計(jì)算。這樣他先total2=0;然后total1=total2;那么我們這樣行不行呢?(total1=total2)=0;total1=total2語(yǔ)句的左邊是不允許表達(dá)式存在的。二、算術(shù)運(yùn)算符C符號(hào)功能+單目正-單目負(fù)*乘法/除法%取模+加法-減法下面是一些賦值語(yǔ)句的例子,在賦值運(yùn)算符右側(cè)的表達(dá)式中就使用了上面的算術(shù)運(yùn)算符:Area=Height*Width;num=num1+num2/num3-num4;運(yùn)算符也有個(gè)運(yùn)算挨次問(wèn)題,先算乘除再算加減。單目正和單目負(fù)最先運(yùn)算。取模運(yùn)算符(%)用于計(jì)算兩個(gè)整數(shù)相除所得的余數(shù)。例如:a=7%4;a37%43。那么有人要問(wèn)了,我要想求他們的商怎么辦呢?b=7/4;b1?;蛟S有人就不明白了,7/41.751個(gè)整數(shù)相除時(shí),所得到的結(jié)果照舊是整數(shù),沒(méi)有小數(shù)局部。要想也得到小數(shù)局部,7.0/47/4.0,也即把其中一個(gè)數(shù)變?yōu)榉钦麛?shù)。那么怎樣由一個(gè)實(shí)數(shù)得到他的整數(shù)局部呢?這就需要用強(qiáng)制類型轉(zhuǎn)換了。例如:a=(int)(7.0/4);7.0/41.75,假設(shè)在前面加上(int)就表示把結(jié)果強(qiáng)制轉(zhuǎn)換成整型,這1a=(float)(7/4)a單目減運(yùn)算符相當(dāng)于取相反值,假設(shè)是正值就變?yōu)樨?fù)值,假設(shè)是負(fù)數(shù)就變?yōu)檎?。單目加運(yùn)算符沒(méi)有意義,純粹是和單目減構(gòu)成一對(duì)用的。三、規(guī)律運(yùn)算符C00符號(hào)功能

&&規(guī)律和||規(guī)律或!規(guī)律非5!3;0||-2&&5;!4;當(dāng)表達(dá)式進(jìn)展&&運(yùn)算時(shí),只要有一個(gè)為假,總的表達(dá)式就為假,只有當(dāng)全部都為真時(shí),總的式子才為真。當(dāng)表達(dá)式進(jìn)展||運(yùn)算時(shí),只要有一個(gè)為真,總的值就為真,只有當(dāng)全部的都為假時(shí),總的式子才為假。規(guī)律非(!)運(yùn)算是把相應(yīng)的變量數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的真/假值。假設(shè)原先為假,則規(guī)律非以后為真,假設(shè)原先為真,則規(guī)律非以后為假。更有一點(diǎn)格外重要,當(dāng)一個(gè)規(guī)律表達(dá)式的后一局部的取值不會(huì)影響整個(gè)表達(dá)式的值時(shí),后一局部就不會(huì)進(jìn)展運(yùn)算了。例如:a=2,b=1;a||b-1;a=2b-1的表達(dá)式就不會(huì)再計(jì)算了。四、關(guān)系運(yùn)算符關(guān)系運(yùn)算符是對(duì)兩個(gè)表達(dá)式進(jìn)展比較,返回一個(gè)真/假值。符號(hào)功能>大于=大于等于>=右移賦值&=位規(guī)律和賦值|=位規(guī)律或賦值^=位規(guī)律異或賦值上面的十個(gè)復(fù)合賦值運(yùn)算符中,后面五個(gè)我們到以后位運(yùn)算時(shí)再說(shuō)明。那么看了上面的復(fù)合賦值運(yùn)算符,有人就會(huì)問(wèn),到底Total=Total+3;和Total+=3;A=A+1A計(jì)算了兩次,對(duì)于復(fù)合運(yùn)算符A+=1,表達(dá)式A僅計(jì)算了一次。一般的來(lái)說(shuō),這種差異對(duì)于程式的運(yùn)行沒(méi)有多大影響,不過(guò)當(dāng)表達(dá)式作為函數(shù)的返回值時(shí),函數(shù)就被調(diào)用了兩次(以后再說(shuō)明),而且假設(shè)使用一般的賦值運(yùn)算符,也會(huì)加大程式的開(kāi)銷,使效率降低。七、條件運(yùn)算符C/假檢測(cè),然后依據(jù)結(jié)果返回兩外兩個(gè)表達(dá)式中的一個(gè)。?:在運(yùn)算中,首先對(duì)第一個(gè)表達(dá)式進(jìn)展檢驗(yàn),假設(shè)為真,則返回表

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論