c語言題目如果inta3b4則條件表示式a

2021-03-04 00:12:40 字數 5668 閱讀 1824

1樓:匿名使用者

int a=3,b=4;

x= ( a

dao《表示式專1> ?《表示式2> :《表示式3>中,//如果表屬達式1成立,

結果選擇表示式2,不成立,選擇表示式3.因為3<4成立,所以,選表達2的結果

///即,答案是 a的值:3

2樓:想請教你們哈

先判斷式 a < b 是否成立:現在 a=3,b=4,所以判斷式 a

b「 的值應該是 a,也就是 3。但題目提供的可選的值沒有 3 !

可見,題目有錯!

3樓:匿名使用者

3<4 成立,所以 返回 a ,因此結果是3

4樓:海鴨

答案是3,好像沒得選啊

c語言的題目:設有定義int a=3,b=4;則表示式a+b,a-b,a--的值為3,答案為什麼是3不明白?謝謝

5樓:匿名使用者

你是說a-- 為什麼=3是吧????

a--的職會等於a的值,也就是3,然後因為a--所以表達於以回後的a=2.

區別答--a=2,然後a=2

區別是最後新的a都會=(原來的)a-1

但是a--會等於原來a的值。

而--a會等於a-1後的值(也就是賦值後的)。

好比這題的a=3.

a--=3,a=2;

--a=2,a=2.

++的時候同理。

6樓:匿名使用者

我就知道表示式a--的值為3:因為--在後面會導致先引用再--,所以如果有:

int c = a--;則c=3,a=2。

如果是--a,則是先--,再引用。即int c = --a;則c=2,a=2.

同樣,++ 也是這樣。

7樓:匿名使用者

a--先引用,再賦值,這樣講你會清楚些;

a=a--;這個時候a就等於3,因為先引用,所以先給3,引用完後a就等於2了;

a=a;這個時候a就等於2,因為上面的a已經變成2了,再次遇到賦值語句就會置2

8樓:匿名使用者

表示式的值是最右邊的式子的值,所以是a--,是先取a的值,所以是3

9樓:迪聲

你用的c版本計算的時候結果輸出最後一個,而且因為結果應該是a--,即a先輸出結果再做減1,所以就是3了

10樓:匿名使用者

int a=3,b=4, a+b的結果是7,此時,a仍然

=3,b仍然=4.沒變

之後,下一個算式a-b結果回是-1,此時,a仍然=3,b仍然=4.沒變答

再下一個 a--, 這個的意思是對a操作後a才減1,但後面沒有有關a 的算式,因此,a的值不變,仍然是3.

此題若a--後面有a+b或其他有關a 的算式,則a的值就會減一操作,變為2

11樓:匿名使用者

我覺得應該是2啊

我執行結果就是2

12樓:匿名使用者

你能不能把題目詳細點 都沒搞懂你的意思

c語言中有一道題目:已知"int a=4,b=5,c;",則執行表示式"c=a=a>b後變數a的值為( ) a 0 b 1 c 4 d 5

13樓:匿名使用者

這個涉及到c語言的單目運算子優先順序與結合性的知識:

62616964757a686964616fe59b9ee7ad9431333330356165

優先順序:

在表示式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算子優先順序相同時,則按運算子的結合性所規定的結合方向處理。

結合性:

c語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子的結合性是自左至右,即先左後右。如有表示式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。

這種自左至右的結合 方向就稱為「左結合性」。而自右至左的結合方向稱為「右結合性」。

在你的問題中,"="在表示式中是賦值運算子,而在c語言中,賦值運算子是典型的右結合性運算子。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。

所以,本例就是先計算雙目運算子「>」:a>b,因為a=4,b=5,a是小於b的,所以式子計算就變成了c = a = 0,然後再計算a = 0(即a = (a > b)),最後式子就是c = 0, 所以答案選a

具體運算子優先順序和結核性請參考:

14樓:0冷雨

答案是a;因為a=a>b意思為把波爾值a>b賦值給a,因為a大於b,a>b等於0,所以a為0.望採納~

15樓:匿名使用者

a, a=0

= 是由du右向zhi左運算的,

a>b值為daofalse,值為0

所以c=a=0

另外也可以專寫程式屬驗證:

#include

int main(void)

一道c語言題,「若整型變數a、b、c、d中的值依次為:1、4、3、2,則條件表示式a

16樓:匿名使用者

我來簡單的

bai說下,這個題考察的是dux ? y : z如果x的正zhi確的,則答案取

y。相反如dao果x是錯的,就取回z

對於你這道答

題,用括號表示下巢狀就是

(a正確,所以後面的((c

祝愉快~~

17樓:冬衣忍者

只要了bai解條件表示式的組成就不

du難明

zhi白

a就取daoa,否則c

符號優先順序都版是從左至右

權翻譯為

if(a

else

或者if(a

else if(c

else return d;

18樓:林聲飄揚

a1〈4?1:2=〉1

1<4?1:(3<2?3:2)=>1

結果為2

19樓:手機使用者

從右往左運算

c

a

所以為1

20樓:匿名使用者

值為1 從右向左算起

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

21樓:孤獨

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

aa

最後值就是1

22樓:網海1書生

值為1表示式等價於 a

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

23樓:匿名使用者

結果是4,一會寫出過程

「?:" 這是一個三目運算子,以 「c>d?a:d」這個**為例,程式會首回先判斷「c>d」是答

否為真,若為真則執行冒號前的語句,即其結果為」a「的值;若為假,則執行冒號後的語句,即其值為"d"的值。

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

24樓:紫薇參星

這是用三目運算子求最小值的c語言程式,條件表示式的值是1.

25樓:眾智_數字

答案:1.

"表示式(

1)? 表示式(2) : 表示式(3) "是一個條件運算子(也版是c語言中唯一一個三權

目運算子)。程式首先判斷表示式(1),若表示式(1)正確,則執行「:」前面的表示式,反之則執行「:」後面的語句。

一道c語言的題?設int a=1,b=2,c=3,d=4;則表示式a++

26樓:匿名使用者

剛剛錯了!

自右往左:

先算a++=2

2,2為真取值為a,為假取值為(c就是假,取(c

然後就是c

27樓:

上式相當於a++括號裡面的,明顯c=3,d=4,所以c顯為真且a++,則a=1,故最終結果的值為1。

以上僅供參考

28樓:匿名使用者

最好去自己程式設計除錯就ok了,除錯的每步都可以檢視每個變數的結果

設有int a=3, b=-4, c=5;表示式(a

29樓:忘了所有沒有痛

選擇答案c,程式的執行

最後的輸出結果為3。

程式的執行流程:

因為定義了a=3,b=-4,c=5。進入執行表達版式,首先執行判斷權(a執行逗號表示式的(a-b,b+4,a-=b+4)計算第一個逗號前的語句a-b=3+7=10,然後執行第二個逗號前的語句b+4=-4+4=0。

然後執行第二個逗號後的表示式a-=b+4=a-=(b+4)=a-=0=3。所以得到最後的結果為3。

30樓:墨汁諾

選baia

因為a立,所以為:前的

du值,即a+b=-1。

返回值是boolean型別的zhi。

(a+b)>c為true;

b==c為flase;

所以最dao後結果為false。

擴充套件資料專:一個表達屬

式的賦值和算符的定義以及數值的定義域是有關聯的。

兩個表示式若被說是等值的,表示對於自由變數任意的定值,兩個表示式都會有相同的輸出,即它們代表同一個函式。

一個表示式必須是合式的。亦即,其每個算符都必須有正確的輸入數量,在正確的地方。如表示式2+3便是合式的;而表示式*2+則不是合式的,至少不是算術的一般標記方式。

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

31樓:帶淚的紫藤花

答案為a

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

d,如果c

c語言的題目 設有定義Int a 3,b 4則表示式a b,a b,a 的值為3,答案為什麼是3不明白?謝謝

你是說a 為什麼 3是吧?a 的職會等於a的值,也就是3,然後因為a 所以表達於以回後的a 2.區別答 a 2,然後a 2 區別是最後新的a都會 原來的 a 1 但是a 會等於原來a的值。而 a會等於a 1後的值 也就是賦值後的 好比這題的a 3.a 3,a 2 a 2,a 2.的時候同理。我就知道...

C語言inta3,b4intcca,ab求問c的值

逗號運復算符,從第一制個表達 式開始運算,直到bai 最後一個表示式,du並以最後一個表zhi達式的結果作為整個dao運算的結果。a,a b 先執行a,得3,再執行a b,得3 4 7,以7作為整個運算的結果,並賦值給變數c c的值是7 輸出為the number is 7 c語言中的逗號表示式只有...

c語言中int a 3,b 2,c 1執行if a》b》c

執行的時候bai,應該寫a b b c 你du這樣寫的結果就是 先執zhi行a b,結果為真,在c語言裡dao真用1表示,就 版是算式權a b結果為1,接下來,1 c,結果為假,所以a c。比如你寫死迴圈的時候寫while 2 1 的時候是死迴圈,寫while 1 的時候也是死迴圈,明白了吧。if ...