1樓:樸力允盛
第一個表示式的結果是3,本來是1/2=0.5,但由於是整型數除以整型數,所以1/2=0
a>b為0,由於是與關係,所以後面的c++就沒有執行,c還是3
2樓:幸朗麗隋榮
兄弟,你這自是c語言的題嗎?
如果是的話,第一個空為3,第二個空為3
第一個空解答:1/2,因為1和2皆為整數,所謂1/2的結果為0第二個空解答:&&運算有一種特殊情況就是如果&&前面的前面的執行結果為假時,則不執行後面的運算了,而a>b此時為假,所以c++不執行,故c值不變仍為3
達式3+1/2的計算結果是( ) 若a=1 b=2 c=3 則執行表示式(a>b)&&(c++)後,c的值為( )
3樓:匿名使用者
第一個表示式的結果是3,本來是1/2=0.5,但由於是整型數除以整型數,所以1/2=0
a>b為0,由於是與關係,所以後面的c++就沒有執行,c還是3
4樓:匿名使用者
兄弟,你這是c語言的題嗎?
如果是的話,第一個空為3,第二個空為3
第一個空解
專答:屬1/2,因為1和2皆為整數,所謂1/2的結果為0第二個空解答:&&運算有一種特殊情況就是如果&&前面的前面的執行結果為假時,則不執行後面的運算了,而a>b此時為假,所以c++不執行,故c值不變仍為3
5樓:匿名使用者
3+1/2=3.5呀!不過你問的是程式還是普通數學題呀,要是程式就不是這樣了~~
c=4,怎個表示式=0
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.三目運算子就可求得
c++已知a=1,b=2.c=3 ,則表示式++a||-b&&++c 的值是()這個道題怎麼做
10樓:匿名使用者
根據運算子的優先順序,表示式等價於
(++a) || (-b) && (++c)在c/c++中 0為false,非0就是true,上面的表示式就等於true || true && true
所以最終的值就是true,如果按照整數輸出,則為1
11樓:匿名使用者
簡單你只要知道在c語言中0代表偽,非0代表真
把值代進去就可以了
結果為真(1)
12樓:匿名使用者
值吱吱吱自治組織組織重中之重這孩子=(1)
已知a=1,b=2,c=3,則表示式a*b&&(b++,!c)&&(a++,c++)的值是。該表示式運算過後,a=? ,b=? ,c=? 5
13樓:聽不清啊
該表示式運算過後,a=1 ,b=3 ,c=3因為 1*2的值非0,被認為是「真」
&&後面繼續計算:b++,!c
是一個逗號表示式,b變成了3,!c的值為0(因為c原值為非0,即「真」,取反後即為「假」),所以逗號表示式的值為「假」。
整個表示式的值已經確定,為「假」,後面總分不再運算。
所以,a=1 ,b=3 ,c=3
14樓:匿名使用者
首先得知道&&進行的是短路運算,如果運算子的左邊經計算後結果為假,則不會再計算右邊。
因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。
15樓:三天打魚
看結果就知道了 執行了第一個括號之後就返回了 後面的括號沒有執行
第一個括號最後一個值是!c c邏輯取反運算 c是3 取反後是0 然後逗號表示式返回最後一個值 返回了0 前面的&&遇到0就直接返回結果了
16樓:
根據運算子的優先順序,表示式等價於
(++a) || (-b) && (++c)在c/c++中 0為false,非0就是true,上面的表示式就等於true || true && true
所以最終的值就是true,如果按照整數輸出,則為1
若a=3,b=2,c=1則關係表示式「(a>b)==c」的值為「真」( )
17樓:匿名使用者
對了a>b 為true 也就是1
1 == c值為真
int a=1, b=2,c=3,d=4,m=2,n=2; 則執行表示式:(m=a>b)&&(n=c>d)後,n的值為?
18樓:匿名使用者
n=2,因為m=(a>b);
解釋為bai:如果a大於dub,那麼m等於true(即1);否則zhim等於false(即0);
n=c>d也是這個意思.
再有dao(m=a>b)&&(n=c>d)首判斷a>b是否為真,因為內a=1,b=2.所以a>b為假。m=0,接容著就不進行
n=c>d。故n的值未改變。估是因為&&的原因。
19樓:寒冰射手小樣
n的值仍然為2,沒有改變!
過程:先計算a>b,值為0,賦給m的值為0,表示式m=a>b的值也是版0。
對於&&邏輯運算,不管後面
權(n=c>d)的值如何,都不影響(m=a>b)&&(n=c>d)的最終結果,因此,c語言不再對表示式n=c>d進行計算。因而n的值沒有改變!!
20樓:詹爵雲蕙若
m=0n=2
a>b不成立m=0;
又因為(m=a>b)為0,所以不執行(n=c>d),即n的值不變。這是&&的特性。
c語言中int a=3,b=2,c=1執行if(a>b>c)a=b;else a=c 後a=1
21樓:匿名使用者
執行的時候bai,應該寫a>b && b>c ,你du這樣寫的結果就是:先執zhi行a>b,結果為真,在c語言裡dao真用1表示,就
版是算式權a>b結果為1,接下來,1>c,結果為假,所以a=c。
比如你寫死迴圈的時候寫while(2>1){}的時候是死迴圈,寫while(1)的時候也是死迴圈,明白了吧。
22樓:匿名使用者
if(a>b>c)a=b;else a=c
a>b>c這個演算法是從左到右的,也就是先算a>b成立,為1,然後再算1>c,此時c=1,所以if條件不成立,執行else語句。也就是a=c=1.即a=1.
23樓:冬日秋巡春逐鹿
int a=2,b=3, x=1;
if(a>2)
if (b>2)
x = 2 ;
else
x = 3;
printf(抄"%d",x);如果是襲這個的bai話,else對的du
是第zhi二dao個if.
24樓:落月
if(a>b&&b>c)
else
a=1;
若a,b R,且a2 b2 3 1,求a 1 b2 的最大值及此時a,b的值
a b 源r,a b 3 1,則依均值不等式得 a bai 1 b 3 dua 1 3 b 3 3 a 1 3 b 3 2 3 1 1 3 2 2 3 3.a 1 3 b 3 且a b 3 1,即a 6 3,b 1時,所求zhi 最大dao值為 2 3 3。大學理工類都有什麼專業 10 理工類專業 ...
設var a 2,b 3則ab a 1 b的結果是
a 是先取值再加 2 3 此時的a已經為3 3 1 3輸出所以是3 如果你換成 a b?a 1 b 就是先加再取值 3 3?3 1 3 輸出是2 這個運算規則如下 如果 a 等於b則輸出 a 1 否則輸出b,那麼a 是否等於b呢?a 是先取值再運算,也就是在這裡a 就是a,所以a 不等於b,結果就是...
下列程式執行的結果是a 1 b 2 c 3 while bact a a b b t cprintfd,d,da,b,c
先普及下在c c 中false即為0,true即為1b果為假。即false 0 然後b進行比較.即0 3,結果為真,進到裡面的處理不說了,結果變為a 2,b 1,c 2 再進行while裡面的判斷,同上判斷,結果a 1,b 2,c 1再進行while裡面的判斷,同上判斷,結果a 2,b 1,c 0 ...