如果a 1,b 2,c 3,d 4,則表示式ab?a cd?c d的值為請作解說原理,謝謝

2021-03-29 10:03:09 字數 3885 閱讀 6095

1樓:

現判別c:d,

∵c=3,d=4

∴c?c:d 的值為3

再判別a

∵a=1,b=2

∴a

∴a

結果a

設 a=1 , b=2 , c=3 , d=4 ,則條件表示式 a

2樓:帶淚的紫藤花

答案為a

?:為三目運算子,運算方向自右向左,所以先算c

d,如果c

c++中,如果a=1,b=2,c=3,d=4,則表示式「a>b?a:c

3樓:充碧萱閆邃

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

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

那麼結果就很顯然了

結果為:(c=)3

4樓:劉玥說載

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

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

c,所以值為c,3

5樓:剛珉曲材

應該是3

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

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

6樓: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條件運算子具有右結合性

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

7樓:匿名使用者

結果是4,一會寫出過程

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

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

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

8樓:匿名使用者

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

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

9樓:匿名使用者

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

如果int a=1,b=2,c=3,d=4;則表示式a

10樓:孤獨

條件運算子具有右結合性,aa因為c=3為邏輯真,這個返回值就是c

aa

最後值就是1

11樓:網海1書生

值為1表示式等價於 a

定義"int a=1,b=2,c=3,d=4;"則表示式"a>b? a:c>d? c:d"的值是多少?

12樓:匿名使用者

答案是bai4,因為:?是右結合的du運算子,zhia>b?

a:c>d?

c:d=a>b?

a:(c>d?

c:d)

擴充套件資料整數(int型別的

dao常量)有幾種回書寫形答式,程式中的整數一般採用十進位制寫法。用十進位制方式寫出的乙個整數就是普通數字字元組成的乙個連續序列,其中不能有空格、換行或其他字元。c語言規定十進位制表示的數字不能是0,除非要寫的整數本身就是0。

下面是一些整數的列子。

123 304 23278 1 0 906由於長整數是另外乙個不同型別的整數,所以c語言為長整數規定了一種專門寫法,其特殊之處是在表示數值的數字序列最後附乙個字母「l」或「l」作字尾。由於小寫字母「l」容易與數字「1」混淆,建議讀者採用大寫的「l」。

13樓:仝小星春柏

這個的意思就是,如果第乙個數大於第二個數就是第乙個數的值,如果小於第二個數的話就比較第三和第四個數,取第三第四個數中的大值

14樓:謇元瑤諶慕

值為4,

?:是三元運du算符."?"前面的是條zhi件,如果條件成立dao,取"?"後面

版的值,不成立,取":"後面的值.如例:

inta=1,b=2,c=3,d=4;"a>b?a:c>d?

c:d"條件:"a>b"--->a=1,b=2所以權條件不成立取":

"後面的值c.所以前面的表示式"a>b?a:

c"即為c的值3;所以:"(c=3)>(d=4)"--->條件不成立,取d的值4.

15樓:杜瑩琇生好

從後面看起c>d?c:d顯然cd)這裡把c>d看成一整體,如此,在比較a>b?a:(c>d),顯然ad)等於4,那麼最後的結果就是4了

16樓:莫心遠源荃

4如果a比

b大。返回

a。如果a比

b小。返回c和

d之間較大的那個數。

若整型變數a,b,c,d中的值依次為:1,4,3,2.則條件表示式a

17樓:匿名使用者

a目語句是右結合的,所以表示式相當於a < b ? a : ( c版則表示式轉化為:權a < b ? a : 2顯然答案為1

ps:我的答案經過程式驗證通過,你也可以去試試。

18樓:匿名使用者

先判斷後面c

因為c=3 d=2 所以 c

再判斷a

因為a=1b=4 所以 最後返回的值是a ,也就是1即最後的結果為1`

19樓:匿名使用者

原式相當於(a

c:d)如果a

d)a=1,b=4,a

如果int a=1,b=2,c=3,d=4則printf("%d,a>b?a:c

20樓:手機使用者

a>b?a:c就是 a>b?a:(cb就返回a,否則就返回c整句話就是a>b?a:3 如果a>b就返回a,否則返回3. 明顯ab?a:3

希望採納

三目運算子表示式1表示式2表示式3是什麼

如果符合第乙個表示式的條件,就執行第二個表示式,不符合就執行第三個表示式。小編就是這樣學過來的,求採納,可以嗎?三元運算子 表示式1?表示式2 表示式3 中,表示式 c 三元運算子是乙個有返回值的表示式,所以不能執行無返回值語句,並且 表示式1 表示式2 表示式3 中,表示式2和表示式3的資料型別必...

C語言中for表示式1表示式3可理解為

for 表達 式1 表示式2 表示式3 表示式1表示執行一次表示式1,表示式2 就是表示式1後面的 為控制表示式,表示式2為空表示這個式子恒為真,既然是真,那如果迴圈體裡沒有退出的判斷條件的話這個迴圈將會永遠執行 然後執行迴圈體 這裡你沒寫,就是在for迴圈下面的語句或者復合語句 然後執行表示式3 ...

當a1b2c3表示式abbc的執行結果是

表示式 a b b c 的結果為false a b 4 3 這是賦值運算,從右至左結合,但是這裡有括號b 4會被先執行,執行完後結果為false 零 這裡沒有問題,後面a的賦值就有問題了,到底是把0賦給a,還是將3賦給a呢?問題在這,你懂了嗎?c 已知a 1,b 2.c 3 則表示式 a b c 的...