二級c語言選擇題 兩道求詳細解釋

時間 2022-01-21 09:15:11

1樓:匿名使用者

a的意思是取n的地址賦給指標p ,*p表示取指標p裡的變數值,正確是p=&n;

b同理,輸出的是變數值,而不是地址,正確是printf("%d\n」,*p);

c格式輸入函式scanf後面引數是取地址值,乍看&p好像對,但是別忘了p是指標變數,本身作用就是儲存地址,所以正確是scanf("%d",p);

第一題嘛,if(a=1)b=1;後面有一個分號,看到了嗎,這樣if語句就結束了,所以後面還加else語句就會出錯咯

2樓:

a. 這麼理解,p就是記憶體地址,*p就是指向p的內容。&n,是取n的地址

b. printf 後面帶的是內容,不是地址

c. scanf是記憶體地址,如果前面是int n, p,那麼這樣就對了

3樓:釋竹陽花

24)中,

a:定義中*p表示p是指標;而語句「*p=&n」,表示將變數n的地址存放在指標p的地址中。而不是用指標p指向變數n的地址。正確的應該是p=&n;故a錯

b:輸出的是指標p的地址,而不是指標指向的內容,正確的應該是printf("%d\n",*p);

c:p本來就是一個指標,如果在對其取址,則表示將資料輸入給地址變數p對應的地址中,而不是賦給指標p指向的儲存空間中。正確的應該是scanf("%d",p).

c語言選擇題兩道,求詳細解釋。謝謝

4樓:匿名使用者

1:x = 12345 , y =0

while(x) true

x%10 = 5

case 5: y+=2, x/=10; break;

x = 1234, y =2;

while(x) true

x%10 = 4

default: y+=3 x/=10

x = 123 y = 5

while(x) true

x%10 = 3

case 3: y++ , x/=10

case 5: y+=2; x/=10

break;

x = 1, y = 8

while(x) true

x%10 = 1

case 1:

case 3:y++ , x/=10

case 5:y+=2, x/=10 , break;

y = 11, x = 0

while(x) false

printf y , 11

2:if(x-->1/* x = 2*/) z=f*f; //x=1, 1+3*1+3 = 7

5樓:匿名使用者

22題1 y+=2; ==>2

2 y+=3; ==>3

3 y++; y+=2; ==>3

4 y+=3; ==>3

即來2+3+3+3 = 11

所以答案是源11

23題define是巨集定義,只是起替代作用。

x-->1 此後x = 1, y=3

z = f*f = x+y*x+y = 1+3*1+3 = 1+3+3 = 7

所以答案是7

6樓:匿名使用者

x%10=5    y+=2; ==>y=2x%10=4    y+=3

x%10=3   y++;x/=10; 沒有dubreak,繼續執zhi行daoy+=2;x/=10;

x%10=1   y++;x/=10; 沒有break,繼續執行y+=2;x/=10;

最終專y=11

if(x-->1)  x--,返回2,此時屬x=1,y=3z=x+y*x+y = 1+3*1+3 = 7

國家二級c語言考試兩道選擇題求詳細解答~!

7樓:匿名使用者

對於只接收2位整數,也就是55,接下來的"%f"接收一個浮點數(可以有符號和有小數點),空格會結束"%f"的讀入過程,所以f的值是566.000000,接下來的7777abc會賦給name。所以答案是b。

第一次呼叫函式fun()時,函式返回2,靜態變數x保持2的值,不會因為函式結束而改變。第二次呼叫函式fun()時,x的值是2,返回4,第三次呼叫函式fun()時,x的值是4,函式返回8。

1 * 2 * 4 * 8 = 64。所以答案是b。

8樓:王者不農藥

%2d%f%s 輸入 55566時,%2d限定2個字元寬度的整數,則x=55,後面的數歸y,則y=566.由於y是浮點,則b最接近

下面這題,s的結果確實是64.選b

9樓:匿名使用者

上機一試試就知道, 第一題%2d

第二static int x是關鍵

c語言選擇題求詳解

10樓:匿名使用者

選擇d,可以用任意表示式

表示式只要值為非零整數,即為真,否則為假

c語言選擇題求高手解答急急,C語言選擇題,求高手解答,急急。。

紫翼魔狼 1 c語言的基本資料型別不包括 d 陣列型別 2 以下敘述不正確的是 c c程式的基本組成單位是函式 3 以下敘述不正確的是 d 表示式x 和 x的值是相同的 4 設x 10,y 3,則x y運算後x,y的值分別為 b 13,3 5 實現將一個串 tom 輸出到終端,下面程式段正確的是 d...

C語言選擇題,速度給出詳細解題思路!急

1 因為對應的輸入格式為 12a34b 整型資料之間的輸入用空格隔開 如scanf d d a,b 輸入格式為 12 34 但若為字元型 不能用空格隔開 如scanf c c c,d 輸入格式為 ab 中間不能有空格 若有空格,因為空格也是一個字元,就會被讀入。2 在函式裡,要想真正改變引數的值,必...

c語言 兩道題 解釋詳細點 謝謝

第一題 fun6 35 首先執行k num 10 根據優先順序,上述表示式等價於 k k num 10 1 35 10 1 5 5 然後執行num 10 即num 35 10 3 之後while 3 條件成立繼續迴圈。首先執行k num 10 根據優先順序,上述表示式等價於 k k num 10 5...