計算機二級C語言基礎選擇易錯題及答案解析(五)

2021-10-02 17:28:42 字數 3268 閱讀 2551

1.以下敘述中錯誤的是()

a、可以給指標變數賦乙個整數作為位址值

b、函式可以返回位址值

c、改變函式形參的值,不會改變對應實參的值

d、當在程式的開頭包含標頭檔案stio時,可以給指標變數賦null

解析:

不能將乙個整數直接賦給指標變數作為位址,所以a)是錯誤的。函式的返回值可以是位址,即指標。

函式呼叫中形參值的變化不會傳遞給實參。

2.有以下程式

#include

main()

程式執行後的輸出結果是(d)

6.若有定義: floatx=1.5; inta=1, b=3,c=2;則正確的switch語句是(a )。

解析:

b)選項中switch((

int)x)

; 語句中不應該有最後的分號

switch

(expr1),中的expr1不能用浮點型別或long型別,也不能為乙個字串,所以c)錯誤。

case後面常 量表示式的型別必須與switch後面表示式的型別一致,所以d錯誤。

有以下程式:

#include<stdio.h>

main()

int i,j,m=1;

for(i=

1;i<3

;i++

)for

(j=3

;j>0

;j--)if

(i*j>3

)break;m*

=i*j;

printf

("m=%d\n"

,m);

程式執行後的輸出結果是()

a.m=6

b.m=2

c.m=4

d.m=5

解析:

這道題考查了for迴圈的巢狀應用。

對於外層for迴圈來說,變數i從1增到2,迴圈執行2次。

當變數i的值等於1時,對於內層for迴圈來說,變數j從3減到1,求得變數m的值等於6。

當變數i的值等於2時,第一遍執行內層for迴圈,變數j的值等於3,那麼i*j的值等於6,其值大於3,這時執行break語句,退出內層for迴圈的執行。

所以程式輸出變數m的值為6。

有以下程式:

#include

intfun

(int x,

int y)

main()

程式執行後的輸出結果是(  )。

a 3b 6

c 8d 12

解析:

fun的功能是求兩數的平均數,並且引數和結果都為整型。

題中是用乙個函式作為另乙個函式的引數,所以應該先做裡面巢狀的函式即fun

(b,c),值為5。

fun(

2*a,fun

(b,c)

)即為計算fun(2

*4,5

),所以結果為(5+

8)/2

=6。

9.有以下程式

#include

intadd(

int a,

int b)

main()

以下函式語句錯誤的是()

解析:

d)選項中*

f(a, b)表示呼叫後返回乙個指向整型資料的位址指標

即該函式的返回值為指標型別,所以不能將其賦值給整形變數k。

10.下列定義陣列的語句中,正確的是()

a、#define n 10

int x[n];

b、int n= 10;

int x[n];

c、int x[0…10];

d.int x[ ];

解析:

陣列說明的一般形式為:型別說明符陣列名[常表示式]。

b)中n是變數,不能用變數定義陣列長度。

c)選項中陣列長度是非法的一串數字。

定義陣列時必須為其指明長度,d)選項中陣列長度為空,所以非法。

有以下程式

#include

main()

,i;for

(i=0;i<

4;i++

)switch

(i%2

)break;

case

1:a[i]

=o;}

for(i=o;i<

4;i++

)prinff

(「%d」,a[i]

);prinff

(「\n」);

}

程式執行後的輸出結果是

a.3 3 4 4

b.2 0 5 0

c.3 0 4 0

d.0 3 0 4

解析:

第一次迴圈,i=

0,i%2

=0,a[

0]%2

=0,a[0]

=a[0]+

1=3;第二次迴圈,i=l,1%2

=1,a[1]

=0;第三次迴圈,i=

2,a[

2]%2

=l,a[2]

=a[2]-

1=4;第四次迴圈,i=

3,i%2

=1,a[3]

=0。

計算機二級C語言基礎選擇易錯題及答案解析(二)

1.有兩個關係r,s如下 由關係r通過運算得到關係s,則所使用的運算為 a 選擇 b 投影 c 插入 d 連線 解析 投影運算是指對於關係內的域指定可引入新的運算。本題中s是在原有關係r的內部進行的,是由r中原有的那些域的列所組成的關係。所以選擇b 2.對於迴圈佇列,下列敘述中正確的是 a 隊頭指標...

計算機二級C語言基礎選擇易錯題及答案解析(三)

1.某二叉樹共有七個節點,其中葉子節點只有乙個,則該二叉樹的深度為 假設根節點在第一層 a 3b 4 c 6d 7 解析 根據二叉樹的基本性質3 在任意 棵二叉樹中,多為的葉子結點總比度為2的結點多 個,所以本題中度為2的結點為1 1 0個,所以可以知道本題目中的二叉樹的每乙個結點都有乙個分支,所以...

計算機二級C語言基礎選擇易錯題及答案解析(六)

1.有以下程式 include main 在vc6平台上編譯執行,程式執行後的輸出結果是 a.2,4 b.1,4 c.4,8 d.10,6 解析 c語言中利用sizeof 函式判斷資料型別長度,在vc6.0平台中,整型int占有4個位元組,double型資料占有8個位元組。2.有以下程式 inclu...