當前位置:才華齋>計算機>計算機二級>

2016年計算機二級C語言考試上機試題及答案

計算機二級 閱讀(2.97W)

  一、選擇題(每小題1分,共40小題,共40分)

2016年計算機二級C語言考試上機試題及答案

1.演算法的空間複雜度是指( )。

A.演算法程式的長度

B.演算法程式中=的指令條數

C.演算法程式所佔的儲存空間

D.演算法執行過程中所需要的儲存空間

2.下列敘述中正確的是( )。

A.一個邏輯資料結構只能有一種儲存結構

B.邏輯結構屬於線性結構,儲存結構屬於非線性結構

C.一個邏輯資料結構可以有多種儲存結構,且各種儲存結構不影響資料處理的效率

D.一個邏輯資料結構可以有多種儲存結構,且各種儲存結構影響資料處理的效率

3.簡單的交換排序方法是( )。

A.快速排序

B.選擇排序

C.堆排序

D.氣泡排序

4.關於結構化程式設計原則和方法的描述錯誤的是( )。

A.選用的結構只准許有一個入口和一個出口

B.複雜結構應該用巢狀的基本控制結構進行組合巢狀來實現

C.不允許使用GOT0語句

D.語言中若沒有控制結構,應該採用前後一致的方法來模擬

5.相對於資料庫系統,檔案系統的主要缺陷有資料關聯差、資料不一致性和( )。

A.可重用性差

B.安全性差

C.非永續性

D.冗餘性

6.面向物件的設計方法與傳統的面向過程的方法有本質不同,它的基本原理是( )。

A.模擬現實世界中不同事物之間的聯絡

B.強調模擬現實世界中的演算法而不強調概念

C.使用現實世界的概念抽象地思考問題從而自然地解決問題

D.不強調模擬現實世界中的演算法而強調概念

7.對如下二叉樹進行後序遍歷的結果為( )。

EF

FC

CF

CA

8.軟體設計包括軟體的結構、資料介面和過程設計,其中軟體的過程設計是指( )。

A.模組間的關係

B.系統結構部件轉換成軟體的過程描述

C.軟體層次結構

D.軟體開發過程

9.兩個或兩個以上模組之間關聯的緊密程度稱為( )。

A.耦合度

B.內聚度

C.複雜度

D.資料傳輸特性

10.下列描述錯誤的是( )。

A.繼承分為多重繼承和單繼承

B.物件之間的通訊靠傳遞訊息來實現

C.在外面看不到物件的內部特徵是基於物件的“模組獨立性好”這個特徵

D.類是具有共同屬性、共同方法的物件的集合

11.資料庫DB、資料庫系統DBS、資料庫管理系統DBMS之間的關係是( )。

包含DBS和DBMS

包含DB和DBS

包含DB和DBMS

D.沒有任何關係

12.下列合法的宣告語句是( )。

_abc=50;

le int=3+5e2.5;

do=1L:

t 3_asd=3e-3;

13.設x、Y和z是int型變數,且x=4,y=6,z=8,則下列表達式中值為0的是( )。

A.x&&Y

B.x<=Y

C.x‖y+z&&y-z

D.!((x  14.若ch為char型變數,k為int型變數(已知字元a的ASCIl碼是97),則執行下列語句後輸出的結果為( )。

ch=’b’;

k=10:

printf("%X,%o,",ch,ch,k);

printf("k=%%dn",k);

A.因變數型別與格式描述符的型別不匹配,輸出無定值

B.輸出項與格式描述符個數不符,輸出為0值或不定值

C.62,142,k一%d

D.62,142,k一%l0

15.有下列程式: 、

fun(int X,int y){return(x+y);)

main()

{ int a=1,b=2,c=3,sum;

sum=fun((a++,b++,a+b),c++);

printf("%dn",sum);

}

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

A.6

B.7

C.8

D.9

16.假定x和Y為double型,則表示式x=2,y—x+3/2的值是( )。

A.3.500000

B.3

C.2.000000

D.3.000000

17.有如下程式:

main()

{int x=1,a=0,b=0;

switch(x)

{

case 0:b++;

case l:a++;

case 2:a++;b++;

)

printf("a=%d,b=%dn",a,b);

)

該程式的輸出結果是( )。

A.a=2,b=1

B.a=1,b=1

C.a=1,b=0

D.a=2,b=2

18.下列程式的輸出結果是( )。

main()

{int i=1,j=2,k=3;

if(i++= =1&&(++j= =3= =‖k++= =3))

printf("%d%d%dn",i,J,k);

)

A.1 2 3

B.2 3 4

C.2 2 3

D.2 3 3

19.下列程式的輸出結果是( )。

#include

main()

{ int a=0,i;

for(i=1;i<5;i++)

{ switch(i)

{ case 0:

case 3:a+=1;

case l:

case 2:a+=2;

default:a+=3;

)

printf("%d",i);

)

A.19 B.1 C.6 D.8

20.有以下程式:

main()

{int X,i;

for(i=1;i<=50;i++)

{x=i;

if(X%2=O)

if(x%3=O)

if(X%7=0) .

printf("%d,i)";

)

)

輸出結果是( )。

A.28

B.27

C.42

D.41

21.以下程式的輸出結果是( )。

main()

{int a[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;

for(i=1;i<3;i++)

for(j=0;j<=i;j++)s+=a[i][j];

printf("%dn",s);

}

A.18

B.19

C.20

D.21

22.有下列程式:

main()

{ int k=5;

while(--k) printf("%d",k=1);

printf("/n");

)

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

A.1

B.2

C.4

D.死迴圈

23.若有定義:“int a[2][3];”,則對a陣列的第i行第J列元素的正確引用為( )。

A.*(*(a+i)+j)

B.(a+i)[j]

C.*(a+i+j)

D.*(a+i)+j

24.下列能正確進行字串賦值的是( )。

s[5]={"ABCDE"};

s[5]={’A’,’B’,’C’,’D’,’E’}; 、

*S;S="ABCDE";

*s;printf("%《",s);

25.現有以下結構體說明和變數定義,如圖所示,指標P、q、r分別指定一個連結串列中連續的3個結點。

struct node

{har data;

struct node*next;)*P,*q,*r;

現要將q和r所指結點交換前後位置,同時要保持連結串列的結構,下列不能完成此操作的語句是( )。

A.q-:>next=r->next;p--:>next=r;rm:>next=q;

B.q-:>next=r;q->next=r->next;r->next=q;

C.q-:>next=r->next;r->next=q;p->next=r;

D.q-:>next=q;p->next=r;q->next=r->next;

26.有下列程式:

main()

{int i,j,x=0;

for(i=0,i<2;i++)

{x++;

for(j=0;j<=3;j++)

{if(j%2)continue;

x++:

)

x++:

}

printf("x=%dn"x);

}

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

A.x=4

B.x=8

C.x=6

D.x=12

27.有下列程式:

int funl(double a){return a*=a;} 、

int fun2(double x,double y)

{double a=0,b=0;

a=funl(x);b=funl(y);return(int)(a+b);

)

main()

{double w;w=fun2(1.1,2.0),……}

程式執行後變數w中的值是( )。 、

A.5.21 B.5 C.5.0 D.0.0

28.有下列程式:

main()

{int i,s=0,t[]={1,2,3,4,5,6,7,8,9};

for(i=0;i<9;i+=2)s+=*(t+i);

printf("%dn",s);

}

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

A.45

B.20

C.25

D.36

29.有下列程式:

int fun(int n)

{if(n= =1))return l;

else

return(n+fun(n-1)):

}

main()

{ int x;

seanf("%d",&x);x=fun(x);printf("%dn",x);

}

執行程式時,給變數x輸入l0,程式的輸出結果是( )。

A.55

B.54

C.65

D.45

30.有下列程式:

int fun(int x[],int n)

{ static int sum=0,i;

for(i=0;i   return sum;

}

main()

{int a[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;

s=fun(a,5)+fun(b,4);printf("%dn",s);

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

A.45

B.50

C.60

D.55

31.有下列程式:

main()

f char*P[]={"3697","2584");

int i,j;long num=0;

for(i=0;i<2;i++)

{j=0;

while(p[i][j]!=’