設有int a 1,b 2,c 3,d 4,m 2,n 2執行(m a》bn c》b 之

2021-12-20 06:35:06 字數 4248 閱讀 7685

1樓:叢桂花申女

(m=a>b)

是賦值表示式,若a大於

b則m得真,否則m得假。

a=1,b=2,

a>b為假,故

m=假。賦值表示式(m=a>b)為假。m=0.

(m=a>b)&&(n=c>b)是2個

賦值表示式

的」邏輯與「

計算,當前面(m=a>b)為假時,

必得假,

則不需要計算

(n=c>b)

,程式執行將略去(即跳過)

n=c>b

的計算,所以

n=2不變化。

結果n=2。

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

2樓:匿名使用者

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

3樓:寒冰射手小樣

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

4樓:詹爵雲蕙若

m=0n=2

a>b不成立m=0;

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

設有如下定義:int a=1,b=2,c=3,d=4,m=2,n=2;則執行表示式:(m=ad)後,m,

5樓:彭彭丁滿

m=1,n=0;解釋如下,如果襲a立,則bai系統認為其為真,真值du為1,反之若不成立,則zhi為dao假,真值為0;因為(m=a子值為1,在&&這個運算子中,先判斷&&左邊的表示式是否為真,為真才會對&&右邊的(n=c>d)進行處理,此題因為&&左邊的表示式為真(若左邊的表示式為假,則此題n=2,),所以會處理&&右邊的(n=c>d)這個式子,由以上分析,(c>d)為假,其真值為0,所以n為0。

6樓:cornerboy丶

執行之後m=1,n=0;

在m=a

非零即為真,零即為假.對於真值預設為1.

n同理.

7樓:張沛湘

是二,後面的被短路了

在c語言中,設有如下定義: int a=1,b=2,c=3,d=4,m=2,n=2; 則執行表示式:(m=a>b)&&(n=c>d)後,n的值為,過程

8樓:無憂網事

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

9樓:匿名使用者

n的值為2

a = 1, b = 2 ===> m = a > b ===> m = 0

&&支援短路運算

所以m = a > b的值為0 不用考慮後面的值了所以n的值任然為2

定義int a=1,b=2,c=4,d=6,m=2,n=3;執行(m=a>b)並上(c>d)n=?

10樓:

在邏輯與&&運算中,如果第乙個運算元為假,則結果是假.後面的運算元不參與運算,本題中因為第乙個運算元(m=a>b)為假,所以第二個運算元(n=c>d)不參加運算,因此n的值不變。

11樓:匿名使用者

int a = 1, b = 2, c = 4, d = 6, m = 2, n = 3;

( m = (a > b) ) && ( c > d) ;

設有: int a=1,b=2,c=3,d=4,m=2,n=2; 執行(m=a>b)&&(n=c>

12樓:不不見不念

這是邏輯運算,n的值為2

(m=a>b) 是賦值表示式,若a大於b則m得真,否則m得假回。答 a=1,b=2, a>b 為假,故 m=假。賦值表示式(m=a>b)為假。m=0。

在邏輯與&&運算中,如果第乙個運算元為假,則結果是假,後面的運算元不參與運算,本題中因為第乙個運算元(m=a>b)為假,所以第二個運算元(n=c>d)不參加運算,因此n的值不變。

13樓:匿名使用者

選a!首先要了解一下抄

運算子的運算先bai後順序,優先順序口訣:

括號成du員第一; 括號運算子zhi() 成員運算子. ->

全體dao單目第二; 所有的單目運算子比如++ -- +(正) -(負) 指標運算*&

乘除余三,加減四; 這個"餘"是指取餘運算即%

移位五,關係六; 移位運算子:< >> ,關係:> >= <= 等

等於(與)不等排第七; 即== !=

位與異或和位或; 這幾個都是位運算: 位與(&)異或(^)位或(|)

"三分天下"**十;

邏輯或跟與; 邏輯運算子:|| 和 &&

十二和十一; 注意順序:優先順序(||) 低於 優先順序(&&)

條件高於賦值, 三目運算子優先順序排到 13 位只比賦值運算子和","高

逗號運算級最低! 逗號運算子優先順序最低

剩下的你自己同時參考一下2樓和3樓的解釋,問題就應該能解決的比較透徹了!

14樓:

1> 答案是:n = 2;

2> 問題具體分析如下:

(m=a>b)&&(n=c>d) 分析: && 有短路特性,即 m=(a>b) 為假則整個表示式為假,不回計算答(n=c>d) 所以n=2;

3> 測試程式:

#include

int main(int argc, char **ar**)else

if((m=ad))

else

return 0;}

1.已知int a=1,b=2,c=3,d=4,m=2,n=2;,則執行m=a

15樓:銷聲匿跡

a,bint a=5,b=4,c=3;

if(a>b) a=b+c,b=2*c;判斷成立,此時a=b+c=4+3=7;b=2*c=2*3=6

else a=b-c,b=3*c;判斷不成立,不執行a=b+c; a=6+3=9

輸出a,b a=9,b=6

2)y=z=x,這一句效果是y=z=x=6x=y==z;這一句先判斷y==z,相等為1,x=1

16樓:匿名使用者

可能你之前修改過些什麼沒重新編譯吧,選單欄compile->buildall再執行一次試試吧。我把你的程式專門用tc2試了下,是n=2啊

int a=1,b=2,c=3,d=4,m=2,n=2; 執行(m=a>b)&&(n=c>d)後n的值是

17樓:旅芳澤皇孤

&&運算,在&&的乙個運算物件為假的前提下,不用判斷第二個運算物件的真假。

所以n的值還為2

18樓:竇豐熙續寄

a>b和c>d為比較運算

若a大於b,則返回真(1),否則返回假(0)這樣m的值為0

m&&n表示m和n同時為真時,返回真,否則返回假由於m=0,故後面的運算不會計算

所以n得值還是2

設有定義 int a 2,b 3,c 4,則以下選項中值為0的表示式是

a.a 1 b 0 非零等於0 0 為零 所以選a b.a 1 一定為1 c.a b 非零 非零。為1 d.a b b c a a非零 為1 1小於b 所以結果還是為1 通過下面這個程式,執行結果顯示 a 的值為0 include int main 根據c語言運算子的優先順序和結合性,具體解釋 a ...

一道c語言的題設inta1,b2,c3,d4則

剛剛錯了!自右往左 先算a 2 2,2為真取值為a,為假取值為 c就是假,取 c 然後就是c 上式相當於a 括號裡面的,明顯c 3,d 4,所以c顯為真且a 則a 1,故最終結果的值為1。以上僅供參考 最好去自己程式設計除錯就ok了,除錯的每步都可以檢視每個變數的結果 c語言環境中,設a 1,b 2...

k a b?c d e?d e int a 1,b 2,c 3,d 4,e 5求k等於多少

三目運算子是從左到右進行判斷,所以以上 等價於 a 1 b 2 c 3 d 4 e 5 k a b c d e d e outputs 5 echo k 答案是 5 c語言題 int a 1,b 2,c 3,d 4,e 5 k a b?c d e?d e 求k k 5k a b?c d e?d e ...