c中,如果a1,b2,c3,d4,則表示式「a

2021-03-04 09:30:51 字數 4864 閱讀 9973

1樓:充碧萱閆邃

條件運算子的結合方向為「自右向左」

a>b?a:cb?a:(c

那麼結果就很顯然了

結果為:(c=)3

2樓:劉玥說載

可以看成是計算a>b?a:(

cb不成立,取:後面的表示式即c

c,所以值為c,3

3樓:剛珉曲材

應該是3

如果a大於b那麼就是a,否則如果c小於d就是c,否則為d

已知a=1,b=2,c=3,則表示式a*b&&(b++,!c)&&(a++,c++)的值是。該表示式運算過後,a=? ,b=? ,c=? 5

4樓:聽不清啊

該表示式運算過後,a=1 ,b=3 ,c=3因為 1*2的值非0,被認為是「真」

&&後面繼續計算:b++,!c

是一個逗號表示式,b變成了3,!c的值為0(因為c原值為非0,即「真」,取反後即為「假」),所以逗號表示式的值為「假」。

整個表示式的值已經確定,為「假」,後面總分不再運算。

所以,a=1 ,b=3 ,c=3

5樓:匿名使用者

首先得知道&&進行的是短路運算,如果運算子的左邊經計算後結果為假,則不會再計算右邊。

因a*b=2為真,接著計算(b++,!c),而(b++,!c)是一個逗號表示式,逗號表示式按從左往右計算,整個表示式的結果為最右邊那個表示式的結果。

所以,(b++,!c)經計算後為(2,0),逗號表示式的值是0,同時b為3,而已為假,不會再計算(a++,c++),因此,結果是表示式a*b&&(b++,!

c)&&(a++,c++)的值是0,該表示式運算過後,a=1,b=3,c=3。

6樓:三天打魚

看結果就知道了 執行了第一個括號之後就返回了 後面的括號沒有執行

第一個括號最後一個值是!c c邏輯取反運算 c是3 取反後是0 然後逗號表示式返回最後一個值 返回了0 前面的&&遇到0就直接返回結果了

7樓:

根據運算子的優先順序,表示式等價於

(++a) || (-b) && (++c)在c/c++中 0為false,非0就是true,上面的表示式就等於true || true && true

所以最終的值就是true,如果按照整數輸出,則為1

c++已知a=1,b=2.c=3 ,則表示式++a||-b&&++c 的值是()這個道題怎麼做

8樓:匿名使用者

根據運算子的優先順序,表示式等價於

(++a) || (-b) && (++c)在c/c++中 0為false,非0就是true,上面的表示式就等於true || true && true

所以最終的值就是true,如果按照整數輸出,則為1

9樓:匿名使用者

簡單你只要知道在c語言中0代表偽,非0代表真

把值代進去就可以了

結果為真(1)

10樓:匿名使用者

值吱吱吱自治組織組織重中之重這孩子=(1)

急!!c++.已知變數a,b,c是整型變數,且a=3、b=4、c=5,則表示式:!(a+b)+c-1 && b+c/2的值是?求詳解~

11樓:匿名使用者

答案為1。

詳解:!

(a+b)+c-1 && b+c/2

等價於(!(a+b)+c-1) && (b+c/2)計算機內部計算步驟(可以檢視彙編)

先算!(a+b)+c-1 ——>0+5-1——>4測試上一步專結果(結果為4),表屬達式為真。

再算b+c/2——>結果為6(注意4/2結果為2,因為都是整型,餘數丟掉)

測試上一步結果(結果為6),表示式為真。

最後,將結果1賦給整個表示式,即最後的結果。

#include

using namespace std;

int main()

12樓:匿名使用者

!(a+b)+c-1 = 0 + 5 - 1 = 4b+c/2 = 4 + 5 / 2 = 4 + 2 = 6!(a+b)+c-1 && b+c/2 = 4 && 6 返回的可能是左值 4

std::cout<回

顯示答4

13樓:磨溝山水

值為1本題為bai邏輯運算,根du據運算子號的優zhi先級可把該式dao子等效為( !(a+b)+c -1 )&&( b+c/2 )

優先回級排序:答()...... !、+、—、...... / ...... && (優先順序靠前優先計算)

分步解析:邏輯與左邊:1)先計算a+b=7 ; 2) !(a+b)=! 7 = 0 ; 3)0+c-1=4

邏輯與右邊:1)c/2=2; 2) b+2=64&&6(兩邊都為邏輯真值,相與亦為真值)

14樓:匿名使用者

!(a+b)+c-1&&b+c/2

=!(3+4)+5-1&&4+5/2

=0+5-1+2=6

c語言:當a=5,b=4,c=2時,表示式a>b&&b>c的值是?

15樓:育知同創教育

c語言:表示式a>b&&b>c的值是首先分析a>b是成立的,b>c也是成立的,所以值為true

16樓:匿名使用者

1,a>b為真,b>c為真,&&兩邊都為真時結果為真

c語言環境中,設a=1,b=2,c=3,d=4,則表示式:a>b?a:c>d?a:d的結果為( )

17樓:lovefree隨風

表示式:a>b?a:c>d?a:d的結果為4。

解析:1、由於c語言的相同優先順序運算子運算規則為從左至右依次運算,而條件運算子具有右結合性,所以表示式:a>b?

a:c>d?a:

d優先運算c>d?a:d,得出的結果為4;

2、再運輸a>b?a:4,得出的結果為4。

所以最終得出的結果為4。

擴充套件資料表示式為:表示式1?表示式2:表示式3

先求解表示式1,

若其值為真(非0)則將表示式2的值作為整個表示式的取值,否則(表示式1的值為0)將表示式3的值作為整個表示式的取值。

例如:1、max=(a>b)?a:b,就是將a和b二者中較大的一個賦給max。

2、min=(a條件運算子具有右結合性

當一個表示式中出現多個條件運算子時,應該將位於最右邊的問號與離它最近的冒號配對,並按這一原則正確區分各條件運算子的運算物件。例如:

18樓:匿名使用者

結果是4,一會寫出過程

「?:" 這是一個三目運算子,以 「c>d?a:

d」這個**為例,程式會首先判斷「c>d」是否為真,若為真則執行冒號前的語句,即其結果為」a「的值;若為假,則執行冒號後的語句,即其值為"d"的值。

一般遇到這樣的題要拆分著做,首先判斷最左邊的「a>b」,這個結果為假,根據條件判斷運算子的性質,所以接下來執行第一個冒號後的語句「c>d?a:d」,接著判斷「c>d」,結果為假,所以最終取值為第二個冒號後的值,即為d的值,也就是4。

19樓:匿名使用者

答案為4,「a?b:c」是從右向左執行的,也就是說a為真的話,這個式子就可以看做b,否則可以看做c;c大於d麼,不是,則變成了a>b?

a:d,a大於b麼,不是,則為d,d=4.

20樓:匿名使用者

答案是4.三目運算子就可求得

c語言題: 已知a=b=c=0;則++a||++b&&c++的值為?正確答案:1,0,0,1 要過程, 謝謝

21樓:匿名使用者

邏輯運算子並不是運算子兩邊的表示式一定都執行,就本例來說:

a = b = c = 0;

d = ++a||++b&&c++;

1、&&的優先順序比||高,注意優先順序是「結合優先順序」而不是「計算優先順序」。所以整個表示式可以看做++a||(++b&&c++)

2、對於一個||邏輯或來說,只要||左邊的表示式為假(即0)才執行||右邊的表示式(即本例中的++b&&c++),如果||左邊表示式已經為真,那麼會造成所謂的「短路」即||右邊的表示式不再執行

3、由於++a是先++再賦值,則a=1,由於||左邊表示式已經為真(非零),則短路,右邊表示式不執行

4、按上面描述,答案a = 1, b = 0, c = 0, d = 1

總結,&&運算子,除非該操作符左表示式為真,才執行右表示式,否則直接為假

||運算子,除非該操作符左表示式為假,才執行右表示式,否則直接為真

22樓:sr開得比板慢

a++ a=1

因為a=1 所以 | |後面的都忽略了..所以b=0, c=0而且整個式子的值是1

還不懂的話可以追問

23樓:憂傷海域

||c=0;

b=c;

a=b;

c=c++(c=0)用過後為c=1;

b=++b(b=1)用過後為b=0;

++b&&c++=0(1&&0為假值為0)a=++a(a=1)用過後為a=0;

0||0為真值為1.

表示式值為1,a=0,b=0,c=1.

24樓:石化終結者

thangkfasd fasdf

如果那多少,如果,,,則的結果等於A2B4C8D16?

是 的4倍,則12個 因此1個 6個 所以 2個 6個 1 3 由題可得 1 4 3 2 所以原式 1 2 3 2 1 3 如果 則 的結果等於 a 2 b 4 c 8 d 16 假設 1 那麼 1 1 2 所以 0.25 所以 0.125 2 0.125 16選d 8 8 16 所以 16,應選d...

int a 1,b 2,c 3,d 0 if a 1 b2 if bc3 printfd d結果為什麼不是1,

第一句if。a 1和b 都為真du。所以執行zhiif b 0 c 3 dao但是b 2先判斷b是否為2,後b自加1,所以內b 3,答案1,3,3 c不減1是因為if b 0 c 3 這個容if是或運算,在c語言中或運算只有在 之前的表示式不為真的時候在進行 後面的表示式計算,而上面是 之前的表示式...

已知a b c 1 a 2 b 2 c 2 2 a 3 b 3 c 3 3求abc的值求a 4 b 4 c

1a b c 1,1 a 2 b 2 c 2 2,2 a 3 b 3 c 3 3 3 由 1 所以a 2 b 2 c 2 2ab 2bc 2ca 1再根據 2 所以a 2 b 2 c 2 ab bc ca 5 2根據a 3 b 3 c 3 3abc a b c a 2 b 2 c 2 ab bc c...