1樓:匿名使用者
|的&&比||的優先順序高; a||b&&c,是先運算b&&c ,再 a||(b&&c)。
程式驗證:
void main()
輸出結果為1。
2樓:匿名使用者
||&&優先順序是比||高
&&操作符的左運算元總是首先進行求值,如果他為真,然後再對右運算元進行求值
若左運算元為假,那麼右運算元就不再求值了。||操作符也有相同的特點,也是先對左運算元
進行求值,這是這兩個邏輯操作符的一大特點,這個行為常被稱為「短路求值」
然後就主要是看運算元的定義了,看他有沒有包括了表示式,上機試下就好
3樓:非突
|| 類似加法, && 類似乘法
4樓:
&&要高。
printf("%d",1||1&&0); 輸出1
在c語言中,,&& 和||的優先順序哪個高?
5樓:匿名使用者
,逗號運算在c語言中是最後的。&& || 是同級,看哪個在前就先算哪個。不過要注意的是&& ||都有不完全運送。
對於&&運送則從左到右進行判斷,如果左邊為0,則右邊不再計算,整個&&運算就是0.||運算也是從左到右,如果有左邊為1則右邊也不在計算,直接輸出1.
++a||++b&&++c這個就可以先判斷++a||++b,這裡呢,根據上述所說的進行判斷,如果1則繼續判斷&&,如果0則直接輸出0,不做最後的++c
6樓:匿名使用者
用機器上執行一下就知道了,這個先運算++a,如果是真(非0)就停止,如果是0,則再算++b
接下來,如果++b為0,則停止,如果++b不為0,就再算++c
7樓:沒有響應
&& 和||的優先順序一樣 按從左向右的順序計算
不過實際使用的時候最好不要靠優先順序 ()比優先順序可靠的多 用括號可以讓程式的可讀性提高出錯率降低 所以優先順序什麼的根本不用記
8樓:奈米言
從左自右,因為他們級別一樣!
c語言兩個邏輯運算子 || && 同時出現在一條語句裡,先運算哪個?
9樓:匿名使用者
&&的優先順序高於||,因此先執行&&
邏輯運算子的優先順序:
邏輯非 高於 邏輯與 高於 邏輯或
這兩個運算順序應該不一樣吧 注: &&優先順序大於||
10樓:註冊的使用者名稱
你說的很對,我們分別記表示式1,2,3為a,b,c,則上述兩行表示式分別為:
a || b&&c,即 a || (b&&c) , 用通常的邏輯表示式表述為 a+bc
(a || b)&&c , 用通常的邏輯表示式表述為 (a+b)c
這兩個肯定不一樣
11樓:巴比倫大淫婦
是的 ,兩個運算順序。
c語言中&&和||到底先算哪個?
12樓:忘記旅途了
這裡出現三個運算子,++>&&>||,所以先算++,a=++a=2,為真,後面就不算了,
&&前面是0時,&&符號後面的不計算.
||前面不是0時,||號後面的不計算.
所以x=1,a=2,b=1,c=1
13樓:匿名使用者
,逗號運算在c語言中是最後的。&& || 是同級,看哪個在前就先算哪個。不過要注意的是&& ||都有不完全運送。
對於&&運送則從左到右進行判斷,如果左邊為0,則右邊不再計算,整個&&運算就是0.||運算也是從左到右,如果有左邊為1則右邊也不在計算,直接輸出1.
++a||++b&&++c這個就可以先判斷++a||++b,這裡呢,根據上述所說的進行判斷,如果1則繼續判斷&&,如果0則直接輸出0,不做最後的++c
14樓:肖國林
其實計算機是這樣算的,他會以||為界將表示式分為兩部分,他會先算前一部分,如果前一部分為真,他將停止運算,如果為假,他才會算第二部分,你這裡第一部分就為真了,第二部分當然也就不會算了。關於計算機對表示式優先順序的判斷,如果你學了資料結構中棧的結構和應用你就明白了。不過像這種表示式,最好是手動加上括號,而不是靠計算機來自動識別優先順序。
像這樣的,我的編譯器都會警告,我都是會加上括號的,這樣就沒有警告了。如果不信你可以把&&和它的兩個運算元括起來,我相信結果還是這樣的。
15樓:公尺飯亦是菜餚啊
比|++比||和&&的優先順序都要高,如果優先順序高就先執行的話,那麼||和&&執行之前,全部數字(除了x)都已經是2了喲~
毫無疑問的是a||b&&c是等價於a||(b&&c)的,但對於||來說,即使右邊有乙個括號,但||還是會先計算左邊
16樓:匿名使用者
這個要由c的預設||處理方式說明,||只要有乙個成立就成立,所以++a後知道是非0就成立了,後面不執行。
17樓:冷天釋
目測樓主沒搞清楚為毛要從左開始算。。。。。。
建議先看&&和||的定義在說。
這個順序不是優先順序的問題,這是結合順序的問題。。。。。。。。
18樓:匿名使用者
它們的優先順序是一樣的。
19樓:匿名使用者
邏輯的「與」和「或」,運算順序上是同級的,誰在前面就先算哪個。
c語言中運算子有哪幾種,優先順序順序是怎樣
20樓:楓璽
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語言運算子中有不少為右結合性,應注意區別,以避免理解錯誤。
21樓:匿名使用者
c語言的運算子包括單目運算子、雙目運算子、三目運算子,優先順序如下:
第1優先順序:各種括號,如()、等、成員運算子 . ;
第2優先順序:所有單目運算子,如++、--、!、~等;
第3優先順序:乘法運算子*、除法運算子/、求餘運算子%;
第4優先順序:加法運算子+、減法運算子-;
第5優先順序:移位運算子<<、>>;
第6優先順序:大於運算子》、大於等於運算子》=、小於運算子<、小於等於運算子<=;
第7優先順序:等於運算子==、不等於運算子!=;
第8優先順序:按位與運算子&;
第9優先順序:按位異或運算子^;
第10優先順序:按位或運算子|;
第11優先順序:邏輯與運算子&&;
第12優先順序:邏輯或運算子||;
第13優先順序:三目條件運算子 ?: ;
第14優先順序:各種賦值運算子,如=、+=、-=、*=、/= 等;
第15優先順序:逗號運算, 。
22樓:
優先順序 運算子 含義 運算子型別 結合方向
15 () 圓括號 單目 自左向右
下標運算子
—> 指向結構體成員運算子
、 結構體成員運算子
14 ! 邏輯非運算子 自右向左
~ 按位取反運算子
++ 自增運算子
-- 自減運算子
- 負號運算子
(型別) 型別轉換運算子
* 指標運算子
& 位址運算子
sizeof 長度運算子
13 * 乘法運算子 雙目 自左向右
/ 除法運算子
% 求餘運算子
12 + 加法運算子
- 減法運算子
11 << 左移運算子
>> 右移運算子
10 <、<=、>、>= 關係運算子
9 == 等於運算子
!= 不等於運算子
8 & 按位與運算子
7 ^ 按位異或運算子
6 | 按位或運算子
5 && 邏輯與運算子
4 || 邏輯或運算子
3 ?: 條件運算子 三目 自右向左
2 =、+=、-=、*=、
/=、%=、>>=、
<<=、&=、^=、|= 賦值運算子 雙目
1 , 逗號運算子 雙目 自左向右
中國物聯網校企聯盟技術部
c語言中他們的優先順序是一樣的嗎,C語言中移位和按位和的優先順序是怎麼樣的
由於 號有表示指標的一元運算子和表示乘法的二元運算子之分。所以,在表示指標時是高於 和 的 是 這三個嗎?若是,他們的優先順序是一樣的 是一樣的,同一級從左到右。c語言中 移位 和 按位 和 的優先順序是怎麼樣的 下面是c語言中所使用的運算子的優先順序和結合性 優先順序 運算子 結合性 最高 自左向...
c語言中,關於運算子和優先順序的問題,具體見圖
都是1啊 0 2 2 0 1 1 2 0 2 2 0 1 2 2 0 2 0 1 依次是1,1,0 c語言指標及運算子優先順序的問題 先執行vp 由於 是在變數後面的,返回vp原來的值 沒有執行 前的值 將0賦值給 vp 如果是 vp 0,則將0賦值給已經加1的指標中位址 雁引愁心去,山銜好月來。c...
c語言中for語句是怎麼用的c語言中兩個for語句的是怎樣迴圈的
c語言中for語句用法 for是c語言中的乙個關鍵字,主要用來控制迴圈語句的執行。舉例 int i for i 0 i 3 i i 0是初始化部分 i 3是迴圈判斷條件部分 當滿足此條件時才進入執行for迴圈中的語句 i 是執行完迴圈體語句後的操作 上面的for語句就是控制輸出3次helloworl...