1樓:匿名使用者
(a=c
(a&&!c)的值為0。很簡單
b/a*2.0的值為6.
所以總體是6.
個人見解,沒有跑程式驗證
2樓:
你確定你對這兩個左值賦值沒問題?
a&&!c=0;
b/a*2.0=2;
c語言中int a=3,b=2,c=1執行if(a>b>c)a=b;else a=c 後a=1
3樓:匿名使用者
執行的時候bai,應該寫a>b && b>c ,你du這樣寫的結果就是:先執zhi行a>b,結果為真,在c語言裡dao真用1表示,就
版是算式權a>b結果為1,接下來,1>c,結果為假,所以a=c。
比如你寫死迴圈的時候寫while(2>1){}的時候是死迴圈,寫while(1)的時候也是死迴圈,明白了吧。
4樓:匿名使用者
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.
5樓:冬日秋巡春逐鹿
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.
6樓:落月
if(a>b&&b>c)
else
a=1;
設有: int a=1,b=2,c=3,d=4,m=2,n=2; 執行(m=a>b)&&(n=c>
7樓:不不見不念
這是邏輯運算,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的值不變。
8樓:匿名使用者
選a!首先要了解一下抄
運算子的運算先bai後順序,優先順序口訣:
括號成du員第一; 括號運算子zhi() 成員運算子. ->
全體dao單目第二; 所有的單目運算子比如++ -- +(正) -(負) 指標運算*&
乘除餘三,加減四; 這個"餘"是指取餘運算即%
移位五,關係六; 移位運算子:< >> ,關係:> >= <= 等
等於(與)不等排第七; 即== !=
位與異或和位或; 這幾個都是位運算: 位與(&)異或(^)位或(|)
"三分天下"**十;
邏輯或跟與; 邏輯運算子:|| 和 &&
十二和十一; 注意順序:優先順序(||) 低於 優先順序(&&)
條件高於賦值, 三目運算子優先順序排到 13 位只比賦值運算子和","高
逗號運算級最低! 逗號運算子優先順序最低
剩下的你自己同時參考一下2樓和3樓的解釋,問題就應該能解決的比較透徹了!
9樓:
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 **argv)else
if((m=ad))
else
return 0;}
在c語言中,設有如下定義: int a=1,b=2,c=3,d=4,m=2,n=2; 則執行表示式:(m=a>b)&&(n=c>d)後,n的值為,過程
10樓:無憂網事
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的值沒有改變!!
11樓:匿名使用者
n的值為2
a = 1, b = 2 ===> m = a > b ===> m = 0
&&支援短路運算
所以m = a > b的值為0 不用考慮後面的值了所以n的值任然為2
c語言中int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf
12樓:匿名使用者
c語言copy提供一種特殊的運算子——逗號運算子。用它將兩個表示式連線起來。如:
3+5,6+8
稱為逗號表示式,又稱為「順序求值運算子」。逗號表示式的一般形式為表示式1,表示式2
逗號表示式的求解過程是:先求解表示式1,再求解表示式2。整個逗號表示式的值是表示式2的值。例如,上面的逗號表示式「3+5,6+8」的值為14。又如,逗號表示式
a=3*5,a*4
對此表示式的求解,讀者可能會有兩種不同的理解:一種認為「3*5,a*4」 是一個逗號表示式,先求出此逗號表示式的值, 如果a的原值為3,則逗號表示式的值為12,將12賦給a, 因此最後a的值為12。另一種認為:
「a=3*5」是一個賦值表示式」,「a*4」是另一個表示式,二者用逗號相連,構成一個逗號表示式。這兩者哪一個對呢?賦值運算子的優先順序別高於逗號運算子, 因此應先求解a=3*5(也就是把「a=3*5」作為一個表示式)。
經計算和賦值後得到a的值為15,然後求解a*4,得60。整個逗號表示式的值為60。
13樓:匿名使用者
c=(a+=a+2),(a=b,b+3);
->c=(a+=a+2);(a=b,b+3);
->c=(a+=a+2);a=b;b+3;
14樓:焚香木弋
int a=1,b=2,c=3;
c=(a+=a+2),(a=b,b+3);
相當於兩個順序語句:
先執行了c=(a+=a+2)這個語句得出c=a=a+1+2=4;
然後執行a=b,b+3;得出a=b=2;後面專的b+3單純是迷惑人
屬而已,不起作用。
所以輸出的答案是a=2,b=2,c=4;
15樓:沫宸萱
樓主自己敲下**執行結果不就知道了?
16樓:康康
2,2,4
可以自己編譯跑一下啊,比來問以後效率得多
c語言中, 已知int a=1,b=2 ,c=3 以下語句執行後a,b,c的值是??
17樓:思念不溼
應該是看成
if (a>b)
a=b;
b=c;
if只管到c=a ; 因為a=1,b=2,不滿足if,所以執行後面的,a=b=2,b=c=3,c還是3選b
18樓:uspta鄭州站
條件a>b不成立
所以c=a執行,所以
a=2,b=3,c=3
19樓:當上帝愛上天使
a,原文中a不大於b,則不滿足if條件~則不執行下列語句~所以abc的值不變
20樓:匿名使用者
沒學過都會 不是打擊你哦 都告訴你整形常量 a b c的值了 下面的式子 如果 a>b就執行 c=a;a=b;b=c c=a是把a的值給c 下面是一個意思 把b的值給a c的值給b 你自己看選什麼吧 a>b不滿足的時候就不執行語句 結果a=1 b=2 c=3
在c語言中,若有定義:int a=1,b=2,c=3,d=4,x=5,y=6; ,則表示式(x=a
21樓:皚虎
inta=1,b=2,c=3,d=4,x=5,y=6; ,則表示式
(x=a>b)& & (y=c>d)
// a>b 不成立 則為假為0,x=0.
&&符號要求倆個都為真才輸出真,所以表示式為假等於0
在c語言中 int a=1,b=2,c=3; 表示式(a&b)||(a|b) 的值是
22樓:匿名使用者
子表示式a&b值為0,a|b值為3
所以(a&b)||(a|b)整體值為1
c語言 若 int a=4,b=5,c=6,d=7,m=1,n=1,e; 則執行語句 e=(m=a>b)&&(n=c>d) ----問m、n的值分別為?
23樓:墨汁諾
(m=a>b)&&(n=c>d)當執行完m=a>b之後,返回的值是0,也就是false,就不去執行&&後面的表示式,只有m的值發生了改變n的值不變,所以是m=0.n=1。
**:#include "stdio.h"
void main()
24樓:刀無極啊
e=(m=a>b)&&(n=c>d),&&結合性從左往右,先計算(m=a>b),而》大於號的運算優先順序比賦值號=的優先順序高,先計算a>b的結果,a=4,b=5,所以a>b為假,結果為0,m=0,(m=a>b)的結果為0,襾&&邏輯與一旦發現表示式為假,整個表示式的結果就為假,後面的表示式不再計算,也就是說:表示式1&&表示式2,如果表示式1為假,整個邏輯表示式為假,不計算表示式2的值,所以m=e=0,而n的值沒有改變,為1
25樓:
&&執行一個判斷再執行下一個判斷,有一個是false就會停止。
m=a>b,m=0,所以就停止了,不會執行n=c>d
在C語言中b5表示什麼意思,c語言中b3b5之類的語句是什麼意思。
是b b 5 的意思 就是b b 5的意思 同樣a 3 a a 3 c語言中 b 3 b 5 之類的語句是什麼意思。是b b 3 b b 5的簡略語句 b 3就是b b 3。b 5就是b b 5 c語言中b 5 0 什麼意思?很明顯,這是在對複陣列 制b 5 進行初始化,具體操作的細節bai需要根d...
設有inta1b2c3d4m2n2執行
這是邏輯運算,n的值為2 m a b 是賦值表示式,若a大於b則m得真,否則m得假回。答 a 1,b 2,a b 為假,故 m 假。賦值表示式 m a b 為假。m 0。在邏輯與 運算中,如果第一個運算元為假,則結果是假,後面的運算元不參與運算,本題中因為第一個運算元 m a b 為假,所以第二個運...
c語言中ba3,a3,a2則b的值
1.逗號表 達式的返回值是最後一個表示式的結果,也就是 a 2的結果2.逗號表示式的運算優內先級最 容低,所以先執行其他的運算 運算順序 1.a 3 2.a 3 3.a 2 也就是 3 2 所以b 5 b 5 最後貌似是以 b a 2 算的 考察c語言中運算copy符的優先順序bai。第一步先呼叫f...