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

2021-03-04 09:01:45 字數 6456 閱讀 8082

1樓:匿名使用者

4>3&&!復-5>2

由於 ! 的優先順序高於》 和&&,所以先計制算bai!(-5)。

在c中,!()的操作物件只有du0和1,如果zhi括號裡不為空,不為0或'\0',則任dao何東西都被認為是1;

所以!(-5)就等價於!(1),也就是0;於是就變成了4>3&&0>2.

又由於&&的級別較低,所以會判斷"4>3"和"0>2",前者為1,也後者的值就是&&語句的值。

空字元、空位元組、為定義、數值0和'\0'都為假,用數值0表示;其餘都為真,用數值1表示。

2樓:匿名使用者

((!(-5)) -5為真, !就是取反, 那麼就是假了;假用0表示, 所以0>2 也就是假了;

3樓:

邏輯運算子裡的非運算》算術運算子》關係運算子》邏輯運算子裡的與運算》邏輯運算子裡的或運算

4樓:匿名使用者

!(表示式)

表示式的值 為0

否則 !(表示式)==1

表示式的值 不為0

!(表示式)==0

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

5樓:反轉的天空之城

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種型別:算術運算子、連線運算子、關係運算子、賦值運算子和邏輯運算子。

6樓:

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

7樓:匿名使用者

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

8樓:匿名使用者

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

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

優先順序運算子

名稱或含義

使用形式

結合方向說明1

陣列下標

陣列名[常量表示式]

左到右()

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

.成員選擇(物件)

物件.成員名

->成員選擇(指標)

物件指標->成員名2-

負號運算子

-表示式

右到左單目運算子

(型別)

強制型別轉換

(資料型別)表示式

++自增運算子

++變數名/變數名++

單目運算子

--自減運算子

--變數名/變數名--

單目運算子

*取值運算子

*指標變數

單目運算子

&取位址運算子

&變數名

單目運算子

!邏輯非運算子

!表示式

單目運算子

~按位取反運算子

~表示式

單目運算子

sizeof

長度運算子

sizeof(表示式)3/

除表示式/表示式

左到右雙目運算子*乘

表示式*表示式

雙目運算子

%餘數(取模)

整型表示式/整型表示式

雙目運算子4+

加表示式+表示式

左到右雙目運算子-減

表示式-表示式

雙目運算子

5<<左移變數《表示式

左到右雙目運算子

>>右移變數》表示式

雙目運算子

6>大於表示式》表示式

左到右雙目運算子

>=大於等於

表示式》=表示式

雙目運算子

<小於表示式《表示式

雙目運算子

<=小於等於

表示式<=表示式

雙目運算子7==

等於表示式==表示式

左到右雙目運算子

!=不等於

表示式!= 表示式

雙目運算子8&

按位與表示式&表示式

左到右雙目運算子9^

按位異或

表示式^表示式

左到右雙目運算子10|

按位或表示式|表示式

左到右雙目運算子

11&&

邏輯與表示式&&表示式

左到右雙目運算子

12||

邏輯或表示式||表示式

左到右雙目運算子

13?:

條件運算子

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

右到左三目運算子14=

賦值運算子

變數=表示式

右到左/=

除后賦值

變數/=表示式

*=乘後賦值

變數*=表示式

%=取模後賦值

變數%=表示式

+=加後賦值

變數+=表示式

-=減後賦值

變數-=表示式

<<=左移後賦值

變數<<=表示式

>>=右移後賦值

變數》=表示式

&=按位與後賦值

變數&=表示式

^=按位異或後賦值

變數^=表示式

|=按位或後賦值

變數|=表示式15,

逗號運算子

表示式,表示式,...

左到右從左向右順序運算

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

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

c語言中邏輯運算子非"!"與"&&"或"||"的優先順序怎麼說?

9樓:a羅網天下

邏輯非的優先順序最高,邏輯與次之,邏輯或最低,即:!(非) → &&(與) → ||(或)

記憶口訣:not(非) and(與) or(或)

運算規則

1)&&:當且僅當兩個運算量的值都為"真"時,運算結果為"真",否則為"假"。

2) || :當且僅當兩個運算量的值都為"假"時,運算結果為"假",否則為"真"。

3) ! :當運算量的值為"真"時,運算結果為"假";當運算量的值為"假"時,運算結果為"真"。

例如,假定x=5,則(x>=0) && (x<10)的值為"真",(x<-1) || (x>5)的值為"假"。

優先順序

優先順序與求值順序無關。如a+b && b*c,雖然*優先順序最高,但這個表示式求值順序是從左到右。

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

相同優先順序中,按結合性進行結合。大多數運算子結合性是從左到右,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。

基本的優先順序需要記住:

指標最優,單目運算優於雙目運算。如正負號。

先算術運算,後移位運算,最後位運算。請特別注意:1 << 3 + 2 & 7等價於 (1 << (3 + 2))&7.

邏輯運算最後結合。

10樓:喜歡種蘑菇

同一優先順序的運算子,結合次序由結合方向所決定。簡單記就是:! > 算術運算子 > 關係運算子 > && > || > 賦值運算子。

11樓:飛雪射鹿笑倚鴛

c語言中邏輯運算子優先順序非"!"與>"&&">"||",建議混合使用的時候加上括號,這樣的**便於自己和其他人維護。

12樓:我喜歡蘆潔

「!」>「&&」>「‖」

13樓:

不知道的就加括號,這是常識,不必記

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

14樓:

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

* 圓方括號箭頭一句號.

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

* 乘除, 加減, 再移位,

* 小等大等, 等等不等,

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

c語言中運算子有哪幾種,優先順序順序是怎樣

15樓:楓璽

c語言中,運算子除了常見的三大類,算術運算子、關

系運算子與邏輯運算子之外,還有一些用於完成特殊任務的運算子。

運算子的運算優先順序共分為15 級,1 級最高,15 級最低。 在表示式中,優先順序較高的先於優先順序較低的進行運算。而在乙個運算量兩側的運算子 優先順序相同時,則按運算子的結合性所規定的結合方向處理。

一級運算子:標識,常量,字串文字量,優先順序提公升表示式最優先執行。

二級運算子:陣列下標運算(expression)、函式呼叫(argument-expression-list)、成員訪問(identifier、 -> identifier)、字尾自增(i++)、字尾自減(i--)、 復合初始化(initializer-list)。

**運算子:字首自增(++i)、字首自減(--i)、單目轉型表式式(取位址& ,提領 * , 正號+ ,負號-、 位反~ 邏輯否!)、求型別長度(sizeof unary-expression)。

四級運算子:強制表示式成為type-name指定的型別( type-name ) cast-expression。

五級運算子:「 * 」 乘法運算子。

六級運算子:「 + 」加法運算子。

七級運算子:<< 左移運算子;>> 右移運算子。

八級運算子:<、<=、>、>=關係運算子。

九級運算子:「 == 」等於運算子;「 != 」不等於運算子。

十級運算子:「 & 」按位與運算子。

十一級運算子:「 ∧ 」按位異或運算子。

十二級運算子:「 | 」按位或運算子。

十**運算子:「&&」邏輯與運算子。

十四級運算子:「 || 」邏輯或運算子。

十五級運算子:? :條件運算子。

擴充套件資料

c語言中各運算子的結合性:

1、左結合性(自左至右):

例如算術運算子的結合性是自左至右,即先左後右。如有表示式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合方向就稱為「左結合性」。

2、右結合性(自右至左)

自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算子是賦值運算子。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。

c語言運算子中有不少為右結合性,應注意區別,以避免理解錯誤。

c語言中邏輯運算子是什麼,C語言中邏輯運算子用法是什麼?

與 有0則0.0表示假,1表示真 或 有1則1.0表示假,1表示真 非 真變假,假變真 c語言中邏輯運算子用法是什麼?1 邏輯運算子是根據表示式的值來返回真值或是假值。在c語言中沒有專門的真值和假值,認定非0為真值,0為假值。2 邏輯運算子運算規則 或 兩個條件中,只要有乙個成立,則結果就成立 與 ...

c語言裡面的運算子優先順序如何C語言裡面的運算子優先順序如何?

c語言中,運算子的運算優先順序共分為15 級。1 級最高,15 級最低。在表示式中,優先順序較高的先於優先順序較低的進行運算。而在乙個運算量兩側的運算子 優先順序相同時,則按運算子的結合性所規定的結合方向處理。各等級運算子如下 以下說明中,對傳統的1級和2級做了細化,1和2對應傳統1級,3和4對應傳...

C語言中算數運算子,關係運算子,邏輯運算子的優先級別

1級優先順序 左結合 圓括號 下標運算子 指向結構體成員運算子 運算高於關係高於邏輯高於付值 去看一下教材,譚浩強 第三版 c語言的運算子的優先順序 邏輯運算子 條件運算子 賦值運算子 關係運算子 算術運算子。它們之間的優先順序 1 最高端 出現同級別運算子時的結合方向是從左往右 下面級別沒寫結合順...