1樓:嵐湮
選擇c,c是指標變數,&p是表示其地址;而x未賦值,所以&(x+1)是錯誤的
if(x=y)中的x=y是將y的值賦給x,不是判斷語句,判斷語句應用==,即if(x=y)
設有定義:int x=2;以下表示式中,值不為6的是a x*=x+1 b x++ , 2*x c x*=(1+x) d 2*x , x+=2
2樓:匿名使用者
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。不知道你明白了嗎。。。。。。。
3樓:匿名使用者
搞懂兩個概念就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
4樓:匿名使用者
答案為d
其中大案a和c是一樣的效果
b和d為逗號運算子:
表示式1,表示式2
先算表示式1,然後算表示式2,最後的結果為第二個表示式的結果b中先算x++後x的值變為3,在算2*x後值為6,所以最後的結果為6d中的運算沒有對x的值改變,所以x+=2的值為4,最後結果為4
若有定義:int a=2,b=3;float x=3.5,y=2.5;則下面表示式的值為_______ (float)(a+b)/2+(int)x%(int)y(3分)
5樓:墨汁諾
3.5(float)(a+b)/2+(int)x%(int)y= (float)(2+3)/2+(int)3.5%(int)2.5= (float)(5)/2+3%2
= 5.0/2 + 1
= 2.5 +1
= 3.5
擴充套件資料:一個表達來式的賦值和算
自符的定義以及數值的定義域是有關聯的。
兩個表示式若被說是等值的,表示對於自由變數任意的定值,兩個表示式都會有相同的輸出,即它們代表同一個函式。
一個表示式必須是合式的。亦即,其每個算符都必須有正確的輸入數量,在正確的地方。如表示式2+3便是合式的;而表示式*2+則不是合式的,至少不是算術的一般標記方式。
6樓:噴農藥的蘇
(float)(a+b)/2
得到浮點數2.5
(int)x%(int)y,因為把x,y強制裝換為其實就是3墨2得到int數1
結果是3.5
7樓:mickal小米
(float)(a+b)/2=2.5;
(int)x%(int)y=3%2=1
2.5+1=1=3.5
設有變數定義int a[ ]={1,3,5,7,9,11,13},x,*p=a+2,在下列表示式中,能使變數x的值為5的表示式是()。 a.x
8樓:木小米
d選項應該是*(p--)吧?如果是這樣的話就應該是選d了
p--指的是先使用p的值然後在進行自減
*p=a+2則p就已經指向5了
1.若有定義:int x ; ,關係表示式1
9樓:麼誒節奏
int x; x是值型別那麼x=0;執行關係表示式1<0=0,0<10=1,所以選擇a
n/m=1 s=m/n=0
5.8-14/5+14%5=5.8-2+4=7.8
10樓:匿名使用者
x%3=7%3=1 (int)(a+b)=(int)(2.5+4.7)=(int)7.
2=7 7%2=1 1/4=0 所以a+x%3*(int)(a+b)%2/4=2.5+0=2.5
17.若已定義:int a[9],*p=a;並在以後的語句中未改 變 p 的值,不能表示 a[1] 地址的表示式是( ) a) p+1 b)
11樓:匿名使用者
c a c c a
10*(p+5)
*(str+i) i
int *z
最後一題不做了 考試?
若有定義語句:int x[5]={0, 1, 2, 3, 4}, *p;,則以下數值不為2的表示式是?
12樓:金色潛鳥
b 的表示式是 (p=x+2, *p++),按"字尾++" 規定,在表示式內 先用原值,出了表示式再自增1。所以 b 的表示式 可以寫成: (p=x+2, *p)。
p=x+2 就是 p=&x[2],
*p 就等於 x[2], 等於 2.
c 的表示式是 (p=x+1, *(p++) ), 按字尾++規定,在表示式內 先用原值,出了表示式再自增1。所以 c 的表示式 可以寫成: (p=x+1, *(p) ),
p=x+1 就是 p=&x[1],
*(p) 就等於 x[1], 等於 1. 數值不為2的表示式 選 c
13樓:匿名使用者
p++的返回值是p原來的值,而不是增加後的值
b *p++ 返回*(x+2) x[2]=2
c *(p++) 雖然有括號先執行p++,p本身自增了,但返回值是x+1 ,*(x+1)=1
設有定義:int x=2;,以下表示式中,值不為6的是______。 a. x*=x+1
14樓:匿名使用者
逗號運算子是順序點,也就是說在2*x運算前,自增運算子+1的***已發生,x成為3
寫出符合下列要求的化學反應的文字表示式(1)生成物能使澄清
1 碳燃燒生成bai二氧化碳的反應 du,可知反應物 生成zhi物 反dao應條件為點燃版,故碳 氧氣點燃 二氧化碳 權 2 有氧氣生成的分解反應 過氧化氫分解制取氧氣,過氧化氫二氧化錳水 氧氣 加熱氯酸鉀或高錳酸鉀製取氧氣,則高錳酸鉀加熱錳酸鉀 二氧化錳 氧氣 或氯酸鉀二氧化錳 加熱氯化鉀 氧氣 ...
若int型變數x11,則表示式x13的值是多少
你說的是c語言吧 因為x是int型別的,所以表示式最後的結果也是對 11 1 3 3.6666 進行強制型別轉為int 結果是3.等於3。因為先用x的值是11,除以3後得到3.設有int x 11 則表示式 x 1 3 的值是 x 執行語句後,再自增1 執行表示式時,x 11 11 1 3,整型運算...
C語言邏輯表示式021的值為什麼是1求具體解
表示式的值會被轉化為1或者0,也就是true 1或者false 0 所以 3 5 0等同於8 0為true 1 本題考查是運算 符的優先順序!1.優先順序最高的是!非運算 2 0 2.算術運算子比邏輯運算子級別高 0 5 1 3.邏輯運算子的順序是 與 有0為0 或 有1為1 0 1 4.最後結果 ...