這道c語言選擇題,網上有答案,但是我依舊不理解A和D的區別

2021-04-01 08:14:28 字數 3279 閱讀 2523

1樓:匿名使用者

a是先取值 再自加。 所以表示式值是原始值,2, 呼叫後,才變成3的

而d是先自加為3,再取值。 所以這個是3,而a是2

c語言的問題,這道題選a還是選d?我選的是d,答案是a,我感覺我選的沒錯

2樓:匿名使用者

『cd』表示的不對,如果是字串應該是「cd」,單個字元應該是『c』,『d』

c表示轉義字元,\a 響鈴(bel) 007

c語言的選擇題,求解析,25題我感覺答案是a,結果是d謝謝大家了,本人菜鳥級

3樓:白一戸

25題:兩個%在printf的雙引號裡會解釋成一個%輸出 後邊的字母d會原樣輸出

所以答案是專d

26題:逗號

表示式就是從左至又屬依次執行 但是返回的是最後一個表示式的值(在這裡是a+5)

由於第一句執行的是a=3*5 所以a的值為15第二句是a*4 這句沒有給a賦值所以a的值不變只要沒有=賦值運算 不論對a做什麼運算a的值都不會變最後一句a+5的值為20 也就是整個逗號表示式的值所以輸出的是20

但是這句依然沒有改變a的值

所以a的值還是為15

答案是c

4樓:匿名使用者

這個%%和%從左到右的結合,%%顯示就是% 然後結合字母d,但此時不是格式版

控制符%d,

逗號運算:假權設b=2,c=7,d=5,

a1=(++b,c--,d+3);   a2=++b,c--,d+3;

對於第一行**,有三個表示式,用逗號分開,所以最終的值應該是最後一個表示式的值,也就是d+3,為8,所以a1=8。

對於第二行**,那麼也是有三個表示式,這時的三個表示式為a2=++b、c--、d+3,(這是因為賦值運算子比逗號運算子優先順序高)所以最終表示式的值雖然也為8,但a2=3。   注意:逗號運算的結合性是從左至右,完畢之後整個表示式的值是最後一個表示式的值

5樓:匿名使用者

25,d。%%表示輸出%,所以後面跟的那個d就是個字元了。

26,b。逗號運算子,整個表示式的值是最後一個表示式的值。所以是a+5,a=3*5嘛,所以最後結果是20

6樓:匿名使用者

%%兩個和在一起是百分號;

20;逗號運算子

7樓:匿名使用者

連續2個%表示輸出%,如果要得到答案a,則應該有3個%

8樓:戎好人

第一條選a吧,第二題選20,因為逗號表示式看最後一個值!

9樓:匿名使用者

i dont know

c語言問題!這道題完全不懂,->是什麼意思,為什麼選a,還有為什麼d答案是20?謝謝

10樓:匿名使用者

1首先定義了結構體st ,和結構體指標變數pt和結構體陣列c[2]。並將陣列初始化c[2] = ;

你可以看成c[0] = ;c[1] = ;也就是c[0].x = 10; c[0].y = a;c[1] . x = 20; c[1].y = b;

pt=c,及時將c陣列的首地址(c[0]的地址)賦給pt. ++pt ->x 相當於++(pt ->x)=++(c[0].x),所以a等於11.

(pt++)->x,其中(pt++)= c[1]的首地址所以(pt++)->x =c[1].x

11樓:匿名使用者

struct st *pt;

int a = ,b = ;

struct st c[2] = ;

/*20,

parray_b:}*/

pt = c;

a) + + pt -> x ++(pt->x) == ++((*pt).x) == ++(c[0].x), so is 10+1=11

b) pt -> x so is 10

c) *pt -> y *(pt->y) ==*((*pt).y) ,since (pt->y) point to a[0], so *(pt->y) is 1

d) (pt + +) -> x (pt++), since pt point to c[0]=, (pt++) point to c[1]=, so (pt++)->x == c[1].x, is 20

***********************************===

注意點,

(1)指標的++或--操作是針對給型別的大小pt++,實際指標數值移動sizeof(struct st)

就如同若是int指標,pint++,實際移動的是sizeof(int)

而int++,就是int變數數值加1

(2)a,b為a,b陣列的起始地址

實際a=&a[0],b=&b[0]

(3)最後要注意的就是(++指標)還是(++(*指標)),後者根據*對指標解封裝後的資料型別而定,如(*pint)解封后就是int,對int++就是數值遞加,而(++指標)是相當於陣列元素的位置移動

c語言選擇題,答案選b,我覺得應該是d啊

12樓:架構工程師

『cd』表示的不對,如果是字串應該是「cd」,單個字元應該是『c』,『d』

c表示轉義字元,\a 響鈴(bel) 007

13樓:如此_青春

因為a=b和c=a之間有;號,所以當第一個if判斷語句不成立時c=a能執行,然後第二個if判斷語句不成立。所以最後答案是b

14樓:呂萬事如意

這個題目的答案

就是應該選擇b

15樓:q微

看了一一眼差點變白痴 被你害死啦 要採納呀

c語言題目 如圖 答案是d 我覺得應該選a啊!還有這個程式為什麼int 在main 的上面啊?

16樓:匿名使用者

我來給你解釋吧。int a[max]在main函式外面,說明它是一個全域性陣列。

你以為是a正確,其實,對於函式sub2中的陣列a,改變的只是sub2函式內部的陣列a,不是全域性陣列a。

說白了就是變數的就近原則,區域性變數優先於全域性變數。

c語言一道選擇題,我選c說明這裡面就一個0.參***是d,答案是不是錯了

c語言選擇題,詳解,C語言選擇題,求詳解

6 5 下面定義了一個日期結構date 結構變數date1和date2 struct datedate1 date2 對結構變數date2正確操作的語句是 a date2 date1 b strcpy date2,date1 c date2 d date2 你的回答 c 參 a 7 下面定義了一個日...

c語言選擇題,C語言程式選擇題。

short int 定義的和int定義在32位計算機上是一樣的,都是兩個位元組,有符號的整型數。兩個位元組,如果是無符號的數,最大可以是0xffff,即65535 如果是有符號的數,可以存放的數是 32768到32767。32769明顯已經超出範圍了,所以變成了負值。至於具體為何是那個值,你使用二進...

c語言選擇題

c 選擇題集 1.下列的各類函式中,不是類的成員函式。c a 建構函式b 解構函式c 友元函式d 拷貝初始化建構函式 2.作用域運算子 的功能是 b a 標識作用域的級別的b 指出作用域的範圍的 c 給定作用域的大小的d 標識成員是屬於哪個類的 3.下列說明中const char ptr 其中ptr...