c語(yǔ)言同名函數(shù)優(yōu)先級(jí) c語(yǔ)言和的優(yōu)先級(jí)

C語(yǔ)言運(yùn)算符優(yōu)先級(jí)順序

C語(yǔ)言運(yùn)算符優(yōu)先級(jí)順序如下所示:

鄯善網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,鄯善網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為鄯善上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的鄯善做網(wǎng)站的公司定做!

自增運(yùn)算符 ++ 和自減運(yùn)算符 --,在作后綴運(yùn)算符(如表達(dá)式 x++)時(shí),較其用作前綴運(yùn)算符(如表達(dá)式 ++x)時(shí),具有較高的優(yōu)先級(jí)。

+、-、* 和 運(yùn)算符記號(hào)不但可以當(dāng)作一元運(yùn)算符(unary operator,只需要一個(gè)操作數(shù)),也可以當(dāng)作二元運(yùn)算符(binary operator,需要兩個(gè)操作數(shù))。例如,* 只有一個(gè)操作數(shù)的時(shí)候,就是間接運(yùn)算符(indirection operator),而有兩個(gè)操作數(shù)的時(shí)候,就是乘號(hào)。

擴(kuò)展資料

一個(gè)表達(dá)式可以包含多個(gè)運(yùn)算符。在這種情況下,運(yùn)算符的優(yōu)先級(jí)決定表達(dá)式的哪部分被處理為每個(gè)運(yùn)算符的操作數(shù)。例如,按照運(yùn)算規(guī)則,表達(dá)式中?*、/、以及 % 的優(yōu)先級(jí)比 + 和 - 高。如下列表達(dá)式:

a - b * c

相當(dāng)于 a-(b*c)。如果想讓操作數(shù)以不同的方式組合在一起,則必須使用括號(hào):

(a - b) * c

如果一個(gè)表達(dá)式中的兩個(gè)操作數(shù)具有相同的優(yōu)先級(jí),那么它們的結(jié)合律(associativity)決定它們的組合方式是從左到右或是從右到左。例如,算術(shù)運(yùn)算符和操作數(shù)的組合方式是從左到右,賦值運(yùn)算符則是從右到左。

c語(yǔ)言優(yōu)先級(jí)是什么?

C語(yǔ)言中運(yùn)算符優(yōu)先級(jí)排序如下:

分為優(yōu)先級(jí)15級(jí):

1、圓括號(hào)【()】、下標(biāo)運(yùn)算符【[]】、分量運(yùn)算符的指向結(jié)構(gòu)體成員運(yùn)算符【-】、結(jié)構(gòu)體成員運(yùn)算符【.】;

2、邏輯非運(yùn)算符【!】、按位取反運(yùn)算符【~】、自增自減運(yùn)算符【++】【 --】、負(fù)號(hào)運(yùn)算符【-】、類(lèi)型轉(zhuǎn)換運(yùn)算符【(類(lèi)型)】、指針運(yùn)算符和取地址運(yùn)算符【*】【】、長(zhǎng)度運(yùn)算符【sizeof】;

3、乘法運(yùn)算符【*】、除法運(yùn)算符【/】、取余運(yùn)算符【%】;

4、加法運(yùn)算符【+】、減法運(yùn)算符【-】;

5、左移動(dòng)運(yùn)算符【】、右移動(dòng)運(yùn)算符【】;

6、關(guān)系運(yùn)算符【 】【】【=】【 = 】;

7、等于運(yùn)算符【==】、不等于運(yùn)算符【!=】;

8、按位與運(yùn)算符【】;

9、按位異或運(yùn)算符【^】;

10、按位或運(yùn)算符【|】;

11、邏輯與運(yùn)算符【】;

12、邏輯或運(yùn)算符【||】;

13、條件運(yùn)算符【?:】;

14、賦值運(yùn)算符【=】【/=】【*=】【%=】【+=】【-=】【=】【=】【=】【^=】【|=】;

15、逗號(hào)運(yùn)算符【,】。

注意:

每種同類(lèi)型的運(yùn)算符都有內(nèi)部的運(yùn)算符優(yōu)先級(jí),不同類(lèi)型的運(yùn)算符之間也有相應(yīng)的優(yōu)先級(jí)順序。一個(gè)表達(dá)式中既可以包括相同類(lèi)型的運(yùn)算符,也可以包括不同類(lèi)型的運(yùn)算符或者函數(shù)。當(dāng)多種運(yùn)算符出現(xiàn)在同一個(gè)表達(dá)式中時(shí),應(yīng)該先按照不同類(lèi)型運(yùn)算符間的優(yōu)先級(jí)進(jìn)行運(yùn)算。

各種運(yùn)算符間的優(yōu)先級(jí)如下:數(shù)值運(yùn)算符、字符串運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符??梢杂美ㄌ?hào)改變優(yōu)先級(jí)順序,使得括號(hào)內(nèi)的運(yùn)算優(yōu)先于括號(hào)外的運(yùn)算。對(duì)于多重括號(hào),總是由內(nèi)到外強(qiáng)制表達(dá)式的某些部分優(yōu)先運(yùn)行。括號(hào)內(nèi)的運(yùn)算總是最優(yōu)先計(jì)算。

c語(yǔ)言運(yùn)算符的優(yōu)先級(jí)順序

c語(yǔ)言運(yùn)算符優(yōu)先級(jí)從高到低的順序依次如下:

優(yōu)先級(jí)從上到下依次遞減,最上面具有最高的優(yōu)先級(jí),逗號(hào)操作符具有最低的優(yōu)先級(jí)。表達(dá)式的結(jié)合次序取決于表達(dá)式中各種運(yùn)算符的優(yōu)先級(jí)。優(yōu)先級(jí)高的運(yùn)算符先結(jié)合,優(yōu)先級(jí)低的運(yùn)算符后結(jié)合,同一行中的運(yùn)算符的優(yōu)先級(jí)相同。

不同類(lèi)型的運(yùn)算符之間也有相應(yīng)的優(yōu)先級(jí)順序:

一個(gè)表達(dá)式中既可以包括相同類(lèi)型的運(yùn)算符,也可以包括不同類(lèi)型的運(yùn)算符或者函數(shù)。當(dāng)多種運(yùn)算符出現(xiàn)在同一個(gè)表達(dá)式中時(shí),應(yīng)該先按照不同類(lèi)型運(yùn)算符間的優(yōu)先級(jí)進(jìn)行運(yùn)算。

各種運(yùn)算符間的優(yōu)先級(jí)如下:

數(shù)值運(yùn)算符、字符串運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符??梢杂美ㄌ?hào)改變優(yōu)先級(jí)順序,使得括號(hào)內(nèi)的運(yùn)算優(yōu)先于括號(hào)外的運(yùn)算。對(duì)于多重括號(hào),總是由內(nèi)到外強(qiáng)制表達(dá)式的某些部分優(yōu)先運(yùn)行。括號(hào)內(nèi)的運(yùn)算總是最優(yōu)先計(jì)算。

C語(yǔ)言中 優(yōu)先級(jí)相同是運(yùn)算符的先后怎么區(qū)分

1級(jí)優(yōu)先級(jí)

左結(jié)合

()

圓括號(hào)

[]

下標(biāo)運(yùn)算符

-

指向結(jié)構(gòu)體成員運(yùn)算符

.

結(jié)構(gòu)體成員運(yùn)算符

2級(jí)優(yōu)先級(jí)

右結(jié)合

!

邏輯非運(yùn)算符

~

按位取反運(yùn)算符

++

前綴增量運(yùn)算符

--

前綴增量運(yùn)算符

+

正號(hào)運(yùn)算符

-

負(fù)號(hào)運(yùn)算符

(類(lèi)型)

類(lèi)型轉(zhuǎn)換運(yùn)算符

*

指針運(yùn)算符

地址與運(yùn)算符

sizeof

長(zhǎng)度運(yùn)算符

3級(jí)優(yōu)先級(jí)

左結(jié)合

*

乘法運(yùn)算符

/

除法運(yùn)算符

%

取余運(yùn)算符

4級(jí)優(yōu)先級(jí)

左結(jié)合

+

加法運(yùn)算符

-

減法運(yùn)算符

5級(jí)優(yōu)先級(jí)

左結(jié)合

左移運(yùn)算符

右移運(yùn)算符

6級(jí)優(yōu)先級(jí)

左結(jié)合

、=、、=

關(guān)系運(yùn)算符

7級(jí)優(yōu)先級(jí)

左結(jié)合

==

等于運(yùn)算符

!=

不等于運(yùn)算符

8級(jí)優(yōu)先級(jí)

左結(jié)合

按位與運(yùn)算符

9級(jí)優(yōu)先級(jí)

左結(jié)合

^

按位異或運(yùn)算符

10級(jí)優(yōu)先級(jí)

左結(jié)合

|

按位或運(yùn)算符

11級(jí)優(yōu)先級(jí)

左結(jié)合

邏輯與運(yùn)算符

12級(jí)優(yōu)先級(jí)

左結(jié)合

||

邏輯或運(yùn)算符

13級(jí)優(yōu)先級(jí)

右結(jié)合

?

:

條件運(yùn)算符

14級(jí)優(yōu)先級(jí)

右結(jié)合

=

+=

-=

*=

/=

%=

=

^=

|=

=

=

全為賦值運(yùn)算符

15級(jí)優(yōu)先級(jí)

左結(jié)合

,

逗號(hào)運(yùn)算符

優(yōu)先級(jí)從上到下依次遞減,最上面具有最高的優(yōu)先級(jí),逗號(hào)操作符具有最低的優(yōu)先級(jí)。

所有的優(yōu)先級(jí)中,只有三個(gè)優(yōu)先級(jí)是從右至左結(jié)合的,它們是單目運(yùn)算符、條件運(yùn)算符、賦值運(yùn)算符。其它的都是從左至右結(jié)合。

具有最高優(yōu)先級(jí)的其實(shí)并不算是真正的運(yùn)算符,它們算是一類(lèi)特殊的操作。()是與函數(shù)相關(guān),[]與數(shù)組相關(guān),而-及.是取結(jié)構(gòu)成員。

其次是單目運(yùn)算符,所有的單目運(yùn)算符具有相同的優(yōu)先級(jí),因此在我認(rèn)為的

真正的運(yùn)算符中它們具有最高的優(yōu)先級(jí),又由于它們都是從右至左結(jié)合的,因此*p++與*(p++)等效是毫無(wú)疑問(wèn)的。

另外在c語(yǔ)言里

沒(méi)有前置后置之分

因?yàn)?+

--

是右結(jié)合所以

右側(cè)優(yōu)先運(yùn)算

表現(xiàn)為

"后置優(yōu)先級(jí)比較高"

的假象

前置和后置的區(qū)分是因?yàn)檫\(yùn)算符重載而后加入c++的

接下來(lái)是算術(shù)運(yùn)算符,*、/、%的優(yōu)先級(jí)當(dāng)然比+、-高了。

移位運(yùn)算符緊隨其后。

其次的關(guān)系運(yùn)算符中,

=

=要比

==

!=高一個(gè)級(jí)別,不大好理解。

所有的邏輯操作符都具有不同的優(yōu)先級(jí)(單目運(yùn)算符出外,!和~)

邏輯位操作符的"與"比"或"高,而"異或"則在它們之間。

跟在其后的比||高。

接下來(lái)的是條件運(yùn)算符,賦值運(yùn)算符及逗號(hào)運(yùn)算符。

在c語(yǔ)言中,只有4個(gè)運(yùn)算符規(guī)定了運(yùn)算方向,它們是、|

|、條件運(yùn)算符及賦值運(yùn)算符。

、|

|都是先計(jì)算左邊表達(dá)式的值,當(dāng)左邊表達(dá)式的值能確定整個(gè)表達(dá)式的值時(shí),就不再計(jì)算右邊表達(dá)式的值。如

a

=

b;

運(yùn)算符的左邊位0,則右邊表達(dá)式b就不再判斷。

在條件運(yùn)算符中。如a?b:c;先判斷a的值,再根據(jù)a的值對(duì)b或c之中的一個(gè)進(jìn)行求值。

賦值表達(dá)式則規(guī)定先對(duì)右邊的表達(dá)式求值,因此使

a

=

b

=

c

=

6;成為可能。

當(dāng)前文章:c語(yǔ)言同名函數(shù)優(yōu)先級(jí) c語(yǔ)言和的優(yōu)先級(jí)
本文網(wǎng)址:http://muchs.cn/article2/hjdcic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、App開(kāi)發(fā)、外貿(mào)網(wǎng)站建設(shè)用戶體驗(yàn)、服務(wù)器托管、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)