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 最高端 出現同級別運算子時的結合方向是從左往右 下面級別沒寫結合順...