2的計算結果是若a 1 b 2 c 3則執行表示式 abc後,c的值為

2021-05-19 23:31:54 字數 4066 閱讀 3445

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樓:匿名使用者

3+1/2=3.5呀!不過你問的是程式還是普通數學題呀,要是程式就不是這樣了~~

c=4,怎個表示式=0

若a=3,b=2,c=1則關係表示式「(a>b)==c」的值為「真」( )

4樓:匿名使用者

對了a>b 為true 也就是1

1 == c值為真

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

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

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

6樓:匿名使用者

結果是4,一會寫出過程

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

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

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

7樓:匿名使用者

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

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

8樓:匿名使用者

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

若有定義語句:int a=1,b=2,c=3,d=4;則執行下述表示式:(a*=a

9樓:匿名使用者

a=1,b=2,c=2,d=5

式子左邊相當於

(a=a*(a時d 為5),由於是後置,所以是把4傳到判斷語句(b<=4),由於b=2,所以此式子為真(即為1),那麼就有:c=c-1,結果為2,綜合以上:a=1,b=2,c=2,d=5

int a=1, b=2,c=3,d=4,m=2,n=2; 則執行表示式:(m=a>b)&&(n=c>d)後,n的值為?

10樓:匿名使用者

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的值未改變。估是因為&&的原因。

11樓:寒冰射手小樣

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的值沒有改變!!

12樓:詹爵雲蕙若

m=0n=2

a>b不成立m=0;

又因為(m=a>b)為0,所以不執行(n=c>d),即n的值不變。這是&&的特性。

若定義int a=1,b=2,c=3,則執行++a‖++b&&++c,後b的值為多少?

13樓:匿名使用者

優先順序 ++ > && > ||

可以看成++a || (++b && ++c),因為++a已經==2 > 0 因此,後面不再計算。

即a = 2, b= 2 ,c =3

14樓:匿名使用者

一個一個試過了,a無法編譯通過。報錯是lvaluerequiredasleftoperandofassignment。

c語言 假定int a=3,b=2 c=1 表示式(c==a>c)+(a/b/2.0)的值是多少

15樓:匿名使用者

分析:首先(c==a>c):右結合。因為c=1,a=3,因此,a>c返回1,c==1返回1

然後,a/b/2.0,左結合。a/b,結果商為1,1/2.0的結果是0.5,1+0.5=1.5

最終結果1.5

16樓:匿名使用者

可以寫程式執行一下

#include"stdio.h"

main()

執行一下是1.500000

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

17樓:聽不清啊

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

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

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

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

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

18樓:匿名使用者

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

因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。

19樓:三天打魚

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

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

20樓:

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

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

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

若已定義inta3,b2,c1則語句a

答案bai d在表示式中,運算步驟為 du如果你zhi不清楚,請看看運dao算符的優先順序 專1.a 則a 4 2.b 則b 3 3.c 則c 2 4.則為真 5.屬 則為直 表示式最後為真。在運算中,b只遞增了一次,所以執行後b的值為3,選d b邏輯運算又別稱 短路運算 對於p1 p2 如果表示式...

若a3,b2,c1則關係表示式abc的值

對了a b 為true 也就是1 1 c值為真 若a 3,b 2,c 1則關係表示式 a b c 的值為真 vara,b,c,d integer f boolean begin a 3 b 2 c 1if a b then d 1 if d c then f true else f false en...

1 若a(a 1a 2 b 4,則(2分之a 2 b 2) ab的值(2)如果2 8 2 10 2 n為完全平方數,則正整數n

a 制a 1 a bai2 b 4 a a a b 4 b a 4 所以 2分之 dua zhi2 b 2 ab 2分之 a 2ab b 2分之 a b 2分之4 8如果2 8 2 10 2 n為完全平方數,2 8 2 10 2 n 2 4 2 dao2 4 2 5 2 n所以n 10 2 8 2 ...