1 下列表示式沒有錯誤的是int x

2021-06-01 04:42:47 字數 3298 閱讀 7438

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.最後結果 ...