1樓:咫尺的默許
#include
int main(void)
c語言中有一道題目:已知"int a=4,b=5,c;",則執行表示式"c=a=a>b後變數a的值為( ) a 0 b 1 c 4 d 5
2樓:匿名使用者
這個涉及到c語言的單目運算子優先順序與結合性的知識:
62616964757a686964616fe59b9ee7ad9431333330356165
優先順序:
在表示式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算子優先順序相同時,則按運算子的結合性所規定的結合方向處理。
結合性:
c語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子的結合性是自左至右,即先左後右。如有表示式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。
這種自左至右的結合 方向就稱為「左結合性」。而自右至左的結合方向稱為「右結合性」。
在你的問題中,"="在表示式中是賦值運算子,而在c語言中,賦值運算子是典型的右結合性運算子。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。
所以,本例就是先計算雙目運算子「>」:a>b,因為a=4,b=5,a是小於b的,所以式子計算就變成了c = a = 0,然後再計算a = 0(即a = (a > b)),最後式子就是c = 0, 所以答案選a
具體運算子優先順序和結核性請參考:
3樓:0冷雨
答案是a;因為a=a>b意思為把波爾值a>b賦值給a,因為a大於b,a>b等於0,所以a為0.望採納~
4樓:匿名使用者
a, a=0
= 是由du右向zhi左運算的,
a>b值為daofalse,值為0
所以c=a=0
另外也可以專寫程式屬驗證:
#include
int main(void)
c語言整型與整型的中間運算結果,比如: int a=5;int b=2;int c=9;int d; d = a/b*c,結果是?
在c語言中,int a=b=10;是錯的。int a=10,b=20;是對的。我想知道這兩個的區別
5樓:小麥芽芽兒
是直接定義,但是int a=b=10,裡面只定義了a為整型,而b還未定義就直接賦值。
如果幫到您的話,可以好評嗎?謝謝了!!!
c語言程式設計的題目: 已知int i=10;表示式「20-0<=i<=9"的值是___ a.0 b.1 c.19 d.20 麻煩寫下解題步驟
6樓:匿名使用者
第一題b
原題等效於( ( (20-0 )<=i )<=9 )<=的結合性應該是自左向右的
20<=i的值為0,0<=9的值為1,所以整個表示式的值為1第二題d
原題等效於
if(a!=0)d=d-10;
else if(b==0)
實際上都沒執行到,d還是原值
7樓:春雨_潤物
a這個題有兩個「<=」操作符,此操作符的結合性為右結合性,故先算i<=9。不成立,故此值為0。20-0還是20明顯大於0。所以也為假,故值為0
bif括號裡面的是表示式。如果是大於0的數就執行,為0就不執行
c語言題 int a=1,b=2,c=3,d=4,e=5; k=a>b?c:d>e?d:e;求k
8樓:我二次元穿越
k=5k=a>b?c:d>e?d:e;
是說,a>b是否為真,真的話就執行,把c的值賦給k如果a然後跳到下面看d>e是否為真,如果真的話就執行,把d的值賦給k如果d>e為假的話,剩下的就執行e了,把e的值賦k,所以k=5
(c語言題)已知有宣告"int a=12,b=15,c;",則執行表示式"c=(a||(b-=a)
9樓:
選c。"||"是邏輯運算子「或」,即有真則真。
c語言中非0為真,0為假。
a!=0所以(a||(b-=a))為真,後面的b-=a不需判斷被忽略所以b不變,c=1
10樓:匿名使用者
選ab-=a:b=b-a;
因為b與a都不為0 所以c=1
int a,b c; a=20;b=30;c=10; if(a=b)b=c;c=a;c語言求助!
11樓:best通
int main(void)
12樓:矜生為你偷
if(a小於條件成立進入if語句 a=30;
f(a>=b)b=c;c=a;這行注意,if後面如果不跟大括號,只有回算分號前答的一句,後面的無論if條件成不成立逗要執行。a=b成立 b=c=10,後面的c=a不管前面if條件成不成立都要執行c=a=30
13樓:黃川浪子
執行if(a=b)b=c後a=30,b=10,c=10
;執行c=a;後,a=30,b=10,c=30
所以,a=30,b=10,c=30
14樓:雲中鶴隱
首先a
= b;
b=c=10; c=a=30;
15樓:貊馳文桂鑫
if(abai小於條件
成立du進入if語句
a=30;
f(a>=b)b=c;c=a;這行注
zhi意,if後面dao如果不跟大括號,只有版算分號前的權一句,後面的無論if條件成不成立逗要執行。a=b成立b=c=10,後面的c=a不管前面if條件成不成立都要執行c=a=30
c語言題目,求解,C語言題目求解
x就是16進位制的,0就是零字元,一個十六進位制的數佔一個位元組,零字元在算位元組時不佔位元組,之後結果就是佔一個位元組 我就說要點了。1 double x,y x 1 y x 3 2 y的值為什麼是2.0?3 2兩個整型相除得整型1。2 main x 1值為0那麼輸出的應該為0 為什麼答案是1?單...
求解c語言題,c語言題目求解
求一個字串的長度。include void main 將一個字串的內容複製到另一個字串。include void main 將兩個字串連線起來,結果儲存在s1字串中。include void main 搜尋一個字元在字串中的位置,如果沒有搜尋到,則位置為 1 include void main if...
大一C語言題目若有定義語句 int a
核心在於p的型別。定義等效於 int p 3 這裡p是一個陣列,包含三個元素,每個元素型別為int 所以a p為陣列名,不可以賦值。b p 0 為int 而a為二維陣列名,等效於int 型別不匹配。c a 1 2 為a的一個元素,型別是int,所以 a 1 2 是int 和p 0 型別相同,所以這個...