1樓:張程通
#include
void main()
程式分析:
baic語言裡私用逗號du運算zhi符的賦值語句dao中,只專把最後一個逗號後面的值賦值給變數屬所以 x=6*2=12
c語言中,執行表示式x=a=4,6*2後x值為
2樓:璃
但6*2沒有賦值給x和a並且這是兩個式子
所以x=a=4 程式說明一切
3樓:
x=12 逗號級別高於賦值
4樓:我的
12,逗號級別只別等號高點
19. 若x和a均是int型變數,則計算表示式(1)後的x值為 ,計算表示式(2)後的x 值為 。 (1) x=(a=4,6*2)
5樓:你是大母雞
12 4 第一個逗號表示式 第二個賦值表示式
求解···· 若x和a均是int型變數,則計算表示式x=(a=4,6*2)後的x值為_______。
6樓:匿名使用者
x=a=4,6*2 兩個逗號表示式第一題 x 的內容是12,由最後一個1)x=12,逗號表示式值為最右邊的表示式的值 2)x=4
7樓:匿名使用者
12這個是逗號表示式,以最後一個表示式的值作為整個表示式的值。
c語言中x+a%3*(int)(x+y)%2/4 x=2.5 a=7 y=4.7
8樓:匿名使用者
解題步驟:
1、(int)(2.5+4.7)=(int)(7.2)=7,式子變 x + a%3 *7 %2/4;
2、a%3=1,式子變 x + 1 *7 %2/4;
3、1*7=7,式子變 x + 7 %2/4;
4、7 %2=1,式子變 x+1/4;
5、1/4 整數除整數的除法先做,商得 0,式子變 x + 0;
6、x+0=2.5 + 0=2.5,答案2.5。
字元解釋:
(int)(x+y) -- 括號裡的先做
2/4 -- 整數2除以整數4,得整數0,但這裡前面還有運算子%,所以你不能先做2除以4的整數除法。
% 是整數與整數的除法求餘數運算,得餘數,(略去商)。
2.0/4.0 -- 浮點數除以浮點數,得浮點數的商 0.5。
c語言算術程式設計示例:
#include
int main()
9樓:
(int)(x+y) -- 括號裡的先做,(int)(2.5+4.7)=(int)(7.2)=7.
式子變 x + a%3 *7 %2 /4;
a%3 -- a=7; 7除3 取餘數,餘數得1,式子變 x + 1 *7 %2 /4;
1 *7 乘法先做 得 7
式子變 x + 7 %2 /4;
7 %2 -- 除2 取餘數運算,餘數得1,式子變 x + 1 /4;
1 /4 整數除整數的除法先做,商得 0
式子變 x + 0;
實型數加法,2.5 + 0, 得 2.5
答案 2.5
--------------------------------2/4 -- 整數2除以整數4,得整數0,但這裡前面還有運算子%,所以你不能先做2除以4的整數除法!
% 是 整數與整數的 除法 求餘數 運算,得餘數,(略去商)2.0/4.0 -- 浮點數除以浮點數,得浮點數的商 0.5
c語言。。求解???若定義:int w=1,x=2,y=3,z=4,a=5,b=6; 則執行語句(
10樓:王勃啊
親,一開始b就等於6好不。
你沒看到int b=6麼。。。
後來因為w>x 為假,所以 (b=y>z)就不執行了。
b就保持了原來的值
11樓:匿名使用者
此語句順序執行,先執行a=w>x,條件為假,因此a=0;&&前有一條件為假,所以後邊的語句不執行,因此b=6.
12樓:曾經單純
選b解釋:
w>x不成立,所以a=0,那麼&&運算子的左值(a=w>x)整體為false;
因為&&的短路效果,就是左值為false,則不計算右側表示式;
所以b還是為最初賦值的6
綜上:a=0,b=6
13樓:執筆
y大於z為假,所以b等於0。同理x等於0
設有定義:int x=2;以下表示式中,值不為6的是a x*=x+1 b x++ , 2*x c x*=(1+x) d 2*x , x+=2
14樓:匿名使用者
a:變形形式為:x=x*(x+1);結果為2*3=6;
b:x++,x為3;2*x=2*3=6,結果為6;
c:變形形式為:x=x*(1+x);結果為6;
d:2*x為4,但是x的值沒有變;x+=2 變形為 x=x+2=2+2=4,結果為4;
考察逗號的運算,從左向右進行運算:d中只是進行2*x的運算,沒有付給變數且x的值沒有變化;而b中執行的是x++:x自增的操作,x變為3。不知道你明白了嗎。。。。。。。
15樓:匿名使用者
搞懂兩個概念就ok
逗號表示式 是從左往右算 並且逗號表示式的值等於最靠右的表示式的值
賦值表示式的值等於賦值表示式的左值 也就是賦值完畢後 等號左邊那個數的值
所以 a x*=x+1 也就是 x = x*(x+1) = 6 整個表示式的值就是賦值完畢後的左值 也就是x的值 就是6
b x++,2*x 先算x++ 這時x=3 再算2*x = 6 整個表示式的值等於最靠右的表示式的值 也就是2*x = 6
c x*=(1+x) 這個和a一樣 是6
d 2*x,x+=2 先算2*x = 4 但是注意 此時沒有賦值 所以x的值依然是2 再算x+=2 整個表示式的值就等於最靠右的表示式的值 也就是 x+=2 也就是4
16樓:匿名使用者
答案為d
其中大案a和c是一樣的效果
b和d為逗號運算子:
表示式1,表示式2
先算表示式1,然後算表示式2,最後的結果為第二個表示式的結果b中先算x++後x的值變為3,在算2*x後值為6,所以最後的結果為6d中的運算沒有對x的值改變,所以x+=2的值為4,最後結果為4
執行x 51 22 44 0後,X的值為
x 的值為 1。上式,按來運算子優先自 級 可以寫成 x 5 1 2 2 2 4 4 0 分步運算 1 5 1 為真 得 1,2 2 2 為真 得 1,3 1 1 為真 得 1。由於是 運算,當左運算元為真時,則不管右運算元是真是假,邏輯表示式結果就得真。真是 1。1賦給x,x 得 1。c語言,in...
c語言執行以下程式段後m的值是,C語言,執行以下程式段後,m的值是。staticinta7,4,6,3,10intm,k,ptr
答案 d 分析 ptr a 0 指標bai指du向陣列首地址zhi,ptr k 指標指向陣列第k個存 dao儲單元 m ptr k 等價於專 m a k 屬a k 與m的最小數並賦值給m 故此程式段是去陣列a中元素的最小值 如還有不懂的地方可以密我 d 3 陣列a中的最小值 c語言,執行以下程式段後...
c語言while迴圈語句,為何k的值為11?int k 1 while k
while條件裡k k 1然後和10比較,小於10就繼續迴圈,否則退出,退出時候就是11了 k 9時 執行while k 10 然後k k 10時 while不執行 然後k 有點複雜,好像跟巨集程式差不多 c語言中 int k 0 while k 1 k while迴圈的次數是什麼?為什麼 int ...