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 ...