1樓:童之新
d= a && ++b || ++c;
按照運算子優先順序先&&在||,所以先a && ++b,在|| ++ca=0所以a&&++b的結果就已經出來了,為0,++b就不用算,在然後在判斷++c,所以a=0,b=0,c=1,d=1
w=x || ++y && ++z;中++y&&++z優先順序高,他們的計算結果將與x在進行或運算,但x為1,所以這個或運算右邊的式子已經沒有算的必要了,他們的結果一定為1,即w=1
2樓:莊政警
w=x || ++y && ++z;
因為&&優先於||, 所以x || ++y && ++z就是x || (++y && ++z),總體上看就是個或表示式,x==1,那麼整個表示式就必然為真,於是(++y && ++z)就被忽略
3樓:甲修影一號
w=x||++y&&++z時,因為w=x可以成立,所以執行w=x,則w=1;
而||是邏輯或,前者正確,後者不執行,所以++y&&++z不執行,因此z還是你最初定義的z=0
本人也是程式設計小白,若有錯誤請見諒。
若有幫助請採納。
4樓:
因為x=1,x是大於0的,所以||符號前面是成立的,那麼||後面的運算和判斷都不執行,直接把邏輯值1賦值給w,所以w=1,後面的++y和++z都不執行,都為0。
5樓:種朵苟慧麗
你是說為什麼先執行++a吧?其實c程式除了符號優先順序還有一種叫求值順序,例如a||b,那麼電腦會先對a求值,如果a是真,那麼電腦就不會再理會b的內容了並返回邏輯值1.如果a的結果為假則電腦才會對b進行求值。
本題電腦先求出++a是2,所以結果是真,電腦不再理會||右邊的資料,直接返回邏輯值1(真)。
c語言的運算子的優先順序:邏輯運算子、條件運算子、賦值運算子、關係運算子、算術運算子。它們之間的優先順序
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語言提供3種邏輯運算子,按優先順序高低它們分別是
14樓:文化廚子
c語言中的三種邏輯運算子為:邏輯非(!),邏輯與(&&)、邏輯或(||)。
按優先順序從高到低排列:!、&&、||,!的優先順序最高,&&的優先順序居中,||的優先順序最低。
15樓:匿名使用者
您好,sa團隊給出的答案優先次序:!(非)→&&(與)→||(或)
16樓:匿名使用者
邏輯運算子的優先順序是相同的,且只有兩個。這兩個邏輯運算子是 : &&、||
c語言中的邏輯運算子按優先順序別是?
17樓:萇童銳舟
要了解c語言bai
運算子優先順序du
高低就先從通常數學zhi上運算優先順序高低說起。
dao通常,一專個數學算式裡如屬果有加減乘除和括號,我們會先算括號裡面的式子,再算括號外面的乘除再然後才是加減。那麼這時候我們說括號的優先順序比加減乘除的要高,所以我們就先計算括號裡的式子。然後是乘除,再然後才是加減。
其中加減乘除就是運算子。所以運算子的高低決定了運算的先後順序。
同理。c語言中的運算優先順序和這一個樣,只要你把運算子的優先順序記住就可以了。
c語言中運算子有哪幾種,優先順序順序是怎樣
18樓:匿名使用者
c語言的運算子包括單目運算子、雙目運算子、三目運算子,優先順序如下:
第1優先順序:各種括號,如()、等、成員運算子 . ;
第2優先順序:所有單目運算子,如++、--、!、~等;
第3優先順序:乘法運算子*、除法運算子/、求餘運算子%;
第4優先順序:加法運算子+、減法運算子-;
第5優先順序:移位運算子<<、>>;
第6優先順序:大於運算子》、大於等於運算子》=、小於運算子<、小於等於運算子<=;
第7優先順序:等於運算子==、不等於運算子!=;
第8優先順序:按位與運算子&;
第9優先順序:按位異或運算子^;
第10優先順序:按位或運算子|;
第11優先順序:邏輯與運算子&&;
第12優先順序:邏輯或運算子||;
第13優先順序:三目條件運算子 ?: ;
第14優先順序:各種賦值運算子,如=、+=、-=、*=、/= 等;
第15優先順序:逗號運算, 。
19樓:
優先順序 運算子 含義 運算子型別 結合方向
15 () 圓括號 單目 自左向右
下標運算子
—> 指向結構體成員運算子
、 結構體成員運算子
14 ! 邏輯非運算子 自右向左
~ 按位取反運算子
++ 自增運算子
-- 自減運算子
- 負號運算子
(型別) 型別轉換運算子
* 指標運算子
& 地址運算子
sizeof 長度運算子
13 * 乘法運算子 雙目 自左向右
/ 除法運算子
% 求餘運算子
12 + 加法運算子
- 減法運算子
11 << 左移運算子
>> 右移運算子
10 <、<=、>、>= 關係運算子
9 == 等於運算子
!= 不等於運算子
8 & 按位與運算子
7 ^ 按位異或運算子
6 | 按位或運算子
5 && 邏輯與運算子
4 || 邏輯或運算子
3 ?: 條件運算子 三目 自右向左
2 =、+=、-=、*=、
/=、%=、>>=、
<<=、&=、^=、|= 賦值運算子 雙目
1 , 逗號運算子 雙目 自左向右
中國物聯網校企聯盟技術部
c語言中關係運算子的優先順序高於邏輯運算子嗎
是的不是有個優先順序歌嗎 圓方括號箭頭一句號.自增自減非反負,針強地址長度,乘除,加減,再移位,小等大等,等等不等,八位與,七位異,六位或,五與,四或,三疑,二賦,一真逗.c語言中邏輯運算子 的優先順序高於算術運算子。邏輯非 即 操作符 優先順序高於算術運算子。所有的單目操作符優先順序都高於雙目和三...
c語言中與的優先順序,C語言中和的優先順序問題
1,1,1,true 1賦值給c,c賦給b,b賦給a。然後,第二個表示式的話結果肯定是布林值,而有題目觀之,此表示式不為0,所以d為true 優先順序 輸出是2 1 1 1 a b c 等同於 a b c 而對於 來說,先算左邊表示式的值 和ll運算子都是同一優先順序的,是自左向右結合運算,該程式的...
c語言中算術運算子優先順序的問題C語言中算術運算子優先順序的問題
1級優先順序 左結合 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子 2級優先順序 右結合 邏輯非運算子 按位取反運算子 字首增量運算子 字首增量運算子 正號運算子 負號運算子 型別 型別轉換運算子 指標運算子 地址與運算子 sizeof 長度運算子 3級優先順序 左結合 乘法運算子 除...