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

來源:文萃谷 6.63K

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

2016年9月計算機二級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]!=’