已知inta 1,b 2表示式 a b a b 2 4的值,表示式 a b 的值 求詳細

2021-04-20 14:54:08 字數 2387 閱讀 7108

1樓:金色潛鳥

!(a+b)- a && b+2*4 按運算子優來

先律和結合律,可寫為自

:(!(a+b)- a) && (b+2*4)

由於 int a=1,b=2; 所以bai !(a+b) = !(1+2) = !3 = 0. 0-a= -1 ( 非0 為真du)。

(b+2*4) = 2+8 = 10 也為真。 && 是與運算zhi,真真dao得真。

printf("%d\n",(!(a+b)-a && b+2*4)); 輸出 1。

後面問的 !(a-b) = ! (-1) = 0; 因為 非0的值都是真,-1 不是0 ,所以 -1 也是真。

真求反,得非,非就是 0。 printf("%d\n", !(a-b)); 輸出0。

已知int a=1,b=2;表示式(a

2樓:匿名使用者

這個事c語言中的條件選擇結構:其意義是:

若a

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

3樓:匿名使用者

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

4樓:寒冰射手小樣

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

5樓:詹爵雲蕙若

m=0n=2

a>b不成立m=0;

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

int a=1, b=2, c=3; 表示式(a&&b)||(a||b)的值是1 咋做的

6樓:匿名使用者

這個程式的演算法有關。這句可以分為兩部分第一個|| 為分割線。如果前邊的為真,後面的就不會做。

前邊的又分為兩部分以&& 為界限,不過要求兩邊的都為真。不知道你的輸出語句怎麼寫的。最好能貼出來

7樓:匿名使用者

a有值,b也有值,(a&&b)兩邊都為真,則結果為真,後面的就不用看了因為中間是或,既然前面已經是真了,就不用管後面了,結果就是真咯

8樓:匿名使用者

&&運算子:兩個都是真為真

||運算子:兩個有一個是真就為真

0為假,大於0的都為真

設:int a=1,b=2;則表示式(++a==b--)?--a:++b的值為1。

9樓:匿名使用者

第一題 對,第二bai題 錯;

分析如下

第一du題

++a先執行

加後使用

zhia值 a++先使用a的值再

dao執回行加;減類似分析

(++a==b--)?--a:++b執行順答序為從左到右先執行++a 所以此時a=2,再與b比較,比較後,b自減,為1;

所以a=b=2為真返回 條件語句的前面部分,由於是--a,所以返回為1(若為a--則返回為2),所以是對的

第二題:

執行b=(float)a/2+0.5賦值語句後,a 的值不會發生任何改變,執行那個語句時,會對a進行復制的,原來的那個值不會改變

10樓:匿名使用者

1. ++x較之於x--先進行來自運算自,所以1對。

2. 明顯錯誤。我除錯了一下,因為這東西也不是特別注意。

b=(float)a/2+0.5;

printf("%d ,%d \n",a,b);

只有這種格式可以輸出,當你有一個為%f試圖以浮點輸出時,甚至導致記憶體報錯,看來這是個嚴重的問題,我想是這樣的,a,b的地址空間是相鄰的,當以浮點輸出時讀取四個位元組,導致了越界了。結果可想而知,你的問題也就不言自明瞭。

除錯是最好的解決辦法,要學會研究。

若已定義 int a 2,b 2則表示式 a b

4,3b 的意思是先bai用後加 也就是 du2 2 b 這裡的 zhi2 要先用值,dao也就2,用過之後再加專1 那麼就變成 屬了 2 2,b 這是後面的b 就應經被用過了 就要加1.就變成了 2 1 3 所以值是4,3 35.若有定義 int a,b 則表示式 a 2,b 5,a 2,b a ...

C 已知A 1,B 2 C 3,則表示式 abc的值是()這個道題怎麼做

根據運算子的優先順序,表示式等價於 a b c 在c c 中 0為false,非0就是true,上面的表示式就等於true true true 所以最終的值就是true,如果按照整數輸出,則為1 簡單你只要知道在c語言中0代表偽,非0代表真 把值代進去就可以了 結果為真 1 值吱吱吱自治組織組織重中...

設a 1,b 2,c 3,d 4,則表示式 ab a cd a d在c語言裡怎麼編寫

if a return a else if c return a else return d if a else return d 或者 a c語言中設a 4,b 3,c 2,d 1則表示式 a 結果是1 首先判斷條件a b,如果成立則取a的值,不成立則取 c d?a d 的值 對於c d?a d,...