c語言中邏輯運算子的優先順序高於算術運算子

2021-03-07 21:50:31 字數 6321 閱讀 7948

1樓:匿名使用者

邏輯非(即『!』操作符) 優先順序高於算術運算子。

所有的單目操作符優先順序都高於雙目和三目操作符。

2樓:狂好泰元明

括號運算子是最高階的運算子。

3樓:橋凱青景鑠

4樓:陽旻公良新冬

三個邏輯運算子與或非。

非的運算子優先順序高於算術運算子。

5樓:庾武書英華

|c語言的操作符共有15個優先順序,如下:()->

.left

toright!~

++--+-

*(type)

sizeof

right

toleft*/

%left

toright+-

left

toright

<<>>left

toright

<<=>>=left

toright

==!=

left

toright

&left

toright

^left

toright

|left

toright

&&left

toright

||left

toright

?:right

toleft=+=

-=*=

/=%=

&=^=

|=<<=

>>=right

toleft

,left

toright

優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。

所以小括號擁有最高優先順序。

c語言的運算子的優先順序:邏輯運算子、條件運算子、賦值運算子、關係運算子、算術運算子。它們之間的優先順序

6樓:反轉的天空之城

1、最高階:出現同級別運算子時的結合方向是從左往右(下面級別沒寫結合順序時,預設是從左往右)。

( )圓括號

[ ]下標運算子號

->指向結構體成員運算子

.結構體成員運算子

2、第二級:!、~、++、--、-、(型別)、*、&、sizeof。

這一級都是單目運算子號,這一級的結合方向是從右向左。

比如出現*p++,這時*和++同級別,先算右邊,再左邊。

所以*p++等價於*(p++),而不是(*p)++。

3、第**:+、-、*、/、%

這一級都是算術運算子,結合順序和數學學習中一致的,先乘除取餘數,後加減。

4、第四級:<<、>>

這是左移、右移運算子,位運算時可能需要用到。

5、第五級:<、<=、>、>=、!=、==

這些運算子也稱為關係運算子,其中<、<=、>、>=高於!=、==。

6、第六級:&、^、|

這三個符號也是位運算子號,其中內優先順序,&>^>|。

7、第七級:&&、||

邏輯與&&優先順序大於邏輯或||。

8、第八級:?  :

也稱為條件運算子號,是c語言中唯一的一個三目運算子,結合順序是從右往左。

9、第九級:=、+=、-+、*=、/=、%=

這些運算子也叫做賦值運算子,除此之外,>>=、<<=、&=、^=、|=這些賦值運算子也在這一級別內,結合順序是從右往左。

10、最低階:,

逗號運算子也稱為順序求值運算子,在c語言中,運算級別最低。

c語言是一種計算機程式設計語言,它既具有高階語言的特點,又具有組合語言的特點。它由美國貝爾研究所的d.m.

ritchie於2023年推出,2023年後,c語言已先後被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。它的應用範圍廣泛,具備很強的資料處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到c語言,適於編寫系統軟體,三維,二維圖形和動畫,具體應用比如微控制器以及嵌入式系統開發。

運算子用於執行程式**運算,會針對一個以上運算元專案來進行運算。例如:2+3,其運算元是2和3,而運算子則是「+」。

在vb2005中運算子大致可以分為5種型別:算術運算子、連線運算子、關係運算子、賦值運算子和邏輯運算子。

7樓:

邏輯——算數——關係——條件判斷——賦值

8樓:匿名使用者

這個可以找一本c++的書看一下,上面有一章就是專門介紹這個的,有個表,一目瞭然,便於記憶,希望你能多看看書!

9樓:匿名使用者

一般而言,單目運算子優先順序較高,賦值運算子優先順序低。算術運算子優先順序較高,關係和邏輯運算子優先順序較低。多數運算子具有左結合性,單目運算子、三目運算子、賦值運算子具有右結合性。

恩,問這個問題的人太多了,懶得繼續回答,直接貼上來自己看。。。

優先順序運算子

名稱或含義

使用形式

結合方向說明1

陣列下標

陣列名[常量表示式]

左到右()

圓括號(表示式)/函式名(形參表)

.成員選擇(物件)

物件.成員名

->成員選擇(指標)

物件指標->成員名2-

負號運算子

-表示式

右到左單目運算子

(型別)

強制型別轉換

(資料型別)表示式

++自增運算子

++變數名/變數名++

單目運算子

--自減運算子

--變數名/變數名--

單目運算子

*取值運算子

*指標變數

單目運算子

&取地址運算子

&變數名

單目運算子

!邏輯非運算子

!表示式

單目運算子

~按位取反運算子

~表示式

單目運算子

sizeof

長度運算子

sizeof(表示式)3/

除表示式/表示式

左到右雙目運算子*乘

表示式*表示式

雙目運算子

%餘數(取模)

整型表示式/整型表示式

雙目運算子4+

加表示式+表示式

左到右雙目運算子-減

表示式-表示式

雙目運算子

5<<左移變數《表示式

左到右雙目運算子

>>右移變數》表示式

雙目運算子

6>大於表示式》表示式

左到右雙目運算子

>=大於等於

表示式》=表示式

雙目運算子

<小於表示式《表示式

雙目運算子

<=小於等於

表示式<=表示式

雙目運算子7==

等於表示式==表示式

左到右雙目運算子

!=不等於

表示式!= 表示式

雙目運算子8&

按位與表示式&表示式

左到右雙目運算子9^

按位異或

表示式^表示式

左到右雙目運算子10|

按位或表示式|表示式

左到右雙目運算子

11&&

邏輯與表示式&&表示式

左到右雙目運算子

12||

邏輯或表示式||表示式

左到右雙目運算子

13?:

條件運算子

表示式1? 表示式2: 表示式3

右到左三目運算子14=

賦值運算子

變數=表示式

右到左/=

除後賦值

變數/=表示式

*=乘後賦值

變數*=表示式

%=取模後賦值

變數%=表示式

+=加後賦值

變數+=表示式

-=減後賦值

變數-=表示式

<<=左移後賦值

變數<<=表示式

>>=右移後賦值

變數》=表示式

&=按位與後賦值

變數&=表示式

^=按位異或後賦值

變數^=表示式

|=按位或後賦值

變數|=表示式15,

逗號運算子

表示式,表示式,…

左到右從左向右順序運算

說明:同一優先順序的運算子,運算次序由結合方向所決定。

簡單記就是:! > 算術運算子 > 關係運算子 > && > || > 賦值運算子

c語言邏輯運算子包含哪幾個? 它們的優先順序如何?它的運算級別高於算術運算子,賦值運算子嗎?

10樓:匿名使用者

優先順序依次遞減: 算術運算子、關係運算子、邏輯運算子、條件運算子、賦值運算子 絕對正確的。

11樓:會盡快解答

&&(邏輯與) ||(邏輯或) !(邏輯非)

!>&&>||>算數運輸符》賦值運算子(賦值運算子2級運算 差不多可以說是最低的了)

c語言中關係運算子的優先順序高於邏輯運算子嗎

12樓:

不全是。關係運算子的優先順序高於「邏輯與&&」和「邏輯或||」,但低於「邏輯非!」。

13樓:匿名使用者

邏輯運算子裡面的!很厲害的,比算術運算子優先順序還高

因此正確的說法:c語言中關係運算子的優先順序高於邏輯與和邏輯或,但是低於邏輯非

14樓:

是的不是有個優先順序歌嗎

* 圓方括號箭頭一句號.

* 自增自減非反負, 針強地址長度,

* 乘除, 加減, 再移位,

* 小等大等, 等等不等,

* 八位與, 七位異, 六位或, 五與, 四或, 三疑, 二賦, 一真逗.

15樓:匿名使用者

邏輯非(即『!』操作符) 優先順序高於算術運算子。

所有的單目操作符優先順序都高於雙目和三目操作符。

16樓:奶烙咖啡條

是的,但是通過()可以改變,只是不要把自己繞暈了

c語言中算術運算子和賦值運算子哪個優先順序高?

17樓:匿名使用者

算術運算子高! 表示式優先順序()(小括號) (陣列下標) .(結構成員) ->(指標型結構成員)↑最高!

(邏輯非) .(位取反) -(負號) ++(加1) --(減1) &(變數地址) │*(指標所指內容) type(函式說明) sizeof(長度計算) │*(乘) /(除) %(取模) │+(加) -(減) │<<(位左移) >>(位右移) │<(小於) <=(小於等於) >(大於) >=(大於等於) │==(等於) !=(不等於) │&(位與) │^(位異或) │|(位或) │&&(邏輯與) │||(邏輯或) │?:

(?表示式) │= += -=(聯合操作) │,(逗號運算子) │最低 1. .

的優先順序高於*。->操作符用於消除這個問題。 *p.

f變成了*(p.f)而不是(*p).f2.

高於*,於是int *ap中的ap變成了元素為int指標的陣列。3. 函式()高於*,因此,int *fp()不再是函式指標了,而是一個函式,返回int *。

4. 逗號運算子在所有運算子中優先順序最低,所以,i = 1, 2就成了(i = 1), 2而不是i = (1, 2)。 逗號運算子的值是最右邊運算元的值,逗號運算子結合性從左至右,因此又稱為順序求值運算子。

5. 在表示式中如果有布林操作、算術運算、位操作等混合計算,始終應該在適當的地方加上括號。 x = f() + g() * h(); 乘法先於加法執行,但是g()和h()的呼叫可能以任何順序出現。

同樣,f()可能在乘法之前呼叫,也可能在乘法之後呼叫。 優先順序和結合性規則告訴你哪些符號組成一個意群,大部分這樣的意群內部如何進行計算的次序是未定義的。有些操作符,如&&和||等,其運算元的計算順序是確定的,它們使用短路原則。

c語言中記住兩個優先順序就夠了:乘法和除法先於加法和減法,在涉及其他操作符時一律加上括號。結合性用於在幾個操作符具有相同的優先順序時確定先執行哪一個。

每個操作符擁有某一級別的優先順序,同時也擁有左結合性或者右結合性。 所有的賦值符(包括複合賦值符)都具有右結合性(從右到左執行),因此可以使用連等的賦值形式。唯一的三目運算子?:

也是具有右結合性的。 所有優先順序相同的操作符,它們的結合性也相同,這是必須如此的。在函式呼叫中,各個引數的計算順序是不確定的

C語言算數與邏輯運算子的優先順序?

a b c 1 b c 2 這個題目考察的是運算子優先順序,這個題目中只涉及算數運算子和邏輯運算子,只需記住算術運算子的優先順序高於邏輯運算子即可。先算括號,再取反,然後算術運算,最後邏輯。如果前邊還有個d 這一串,那麼最後邏輯完成之後是0還是1,最後再賦給d,即賦值優先順序還要低於邏輯。至於為什麼...

在c語言中,運算子的優先順序的全記?

附錄 運算子和結合性 優先順序 運算子 含義 要求運算物件的個數 結合方法 1 圓括號 下標運算標 指向結構體成員運算子 結構體成員運算子 自左至右 2 型別 sizeof 邏輯非運算子 按位取反運算子 自增運算子 自減運算子 負號運算子 型別轉換運算子 指標運算子 地址與運算子 長度運算子 1 單...

算術運算子的優先順序怎麼判斷,算術運算子 邏輯運算子 關係運算子 哪個優先順序高 哪個底?

1級優先順序 左結合 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子 2級優先順序 右結合 邏輯非運算子 按位取反運算子 字首增量運算子 字首增量運算子 正號運算子 負號運算子 型別 型別轉換運算子 指標運算子 地址與運算子 sizeof 長度運算子 3級優先順序 左結合 乘法運算子 除...