2020年全國計算機二級等級考試全真模擬試卷及答案(共六套)_第1頁
2020年全國計算機二級等級考試全真模擬試卷及答案(共六套)_第2頁
2020年全國計算機二級等級考試全真模擬試卷及答案(共六套)_第3頁
2020年全國計算機二級等級考試全真模擬試卷及答案(共六套)_第4頁
2020年全國計算機二級等級考試全真模擬試卷及答案(共六套)_第5頁
已閱讀5頁,還剩144頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2020年全國計算機二級等級考試全真模擬試卷

及答案(共六套)

2020年全國計算機二級等級考試全真模擬試卷

及答案(第一套)

1.在最壞情況下

A)快速排序的時間復(fù)雜度比冒泡排序的時間復(fù)雜度要小

B)快速排序的時間復(fù)雜度比希爾排序的時間復(fù)雜度要小

C)希爾排序的時間復(fù)雜度比直接插入排序的時間復(fù)雜度要小

D)快速排序的時間復(fù)雜度與希爾排序的時間復(fù)雜度是一樣的

參考答案:C

2.在深度為7的滿二叉樹中,度為2的結(jié)點個數(shù)為

A)64

B)63

C)32

D)31

參考答案:B

3.設(shè)棧的順序存儲空間為S(l:m),初始狀態(tài)為top=m+l?,F(xiàn)經(jīng)過一

系列入棧與退棧運算后,top=20,則當前棧中的元素個數(shù)為

A)30

B)20

C)m-19

D)m-20

參考答案:C

4.算法空間復(fù)雜度的度量方法是

A)算法程序的長度

B)算法所處理的數(shù)據(jù)量

C)執(zhí)行算法所需要的工作單元

D)執(zhí)行算法所需要的存儲空間

參考答案:D

5.下面不屬于軟件開發(fā)階段任務(wù)的是

A)測試

B)可行性研究

C)設(shè)計

D)實現(xiàn)

參考答案:B

6.下面屬于字符類的實例是

A)'518'

B)〃5"

C),nm

D),\n,

參考答案:D

7.某系統(tǒng)結(jié)構(gòu)圖如下圖所示

該系統(tǒng)結(jié)構(gòu)圖的最大扇出數(shù)是

A)n

B)1

C)3

D)4

參考答案:A

8.一個興趣班可以招收多名學(xué)生,而一個學(xué)生可以參加多個興趣班。

則實體興趣班和實體學(xué)生之間的聯(lián)系是

A)1:1聯(lián)系

B)l:m聯(lián)系

C)m:1聯(lián)系

D)m:n聯(lián)系

參考答案:D

9.有三個關(guān)系表R、S和T如下,其中三個關(guān)系對應(yīng)的關(guān)鍵字分別為A,

B和復(fù)合關(guān)鍵字(A,B)。

表T的記錄項(b,q,4)違反了

A)實體完整性約束

B)參照完整性約束

C)用戶定義的完整性約束

D)關(guān)系完整性約束

參考答案:B

10.在數(shù)據(jù)庫系統(tǒng)中,給出數(shù)據(jù)模型在計算機上物理結(jié)構(gòu)表示的是

A)概念數(shù)據(jù)模型

B)邏輯數(shù)據(jù)模型

C)物理數(shù)據(jù)模型

D)關(guān)系數(shù)據(jù)模型

參考答案:C

11.若有定義語句:inta=12;,則執(zhí)行語句:a+=a-=a*a;后,a的

值是

A)-264

B)552

C)144

D)264

參考答案:A

12.若在程序中變量均已定義成int類型,且已賦大于1的值,則下列

選項中能正確表示代數(shù)式五的表達式是

A)1.0/a/b/c

B)l/(a*b*c)

C)1.0/a*b*c

D)1/a/b/(double)c

參考答案:A

13.有以下程序

ftinclude<stdio.h>

main()

(

intx=010,y=10;

printf("%d,%d\n”,++x,y一);

}

程序運行后的輸出結(jié)果是

A)9,10

B)11,10

C)010,9

D)10,9

參考答案:A

14.以下選項中敘述正確的是

A)C語言的標識符可分為關(guān)鍵字、預(yù)定義標識符和用戶標識符三類

B)C語言的標識符可分為語句、變量和關(guān)鍵字三類

C)C語言的標識符可分為函數(shù)名、變量和預(yù)定義標識符三類

D)C語言的標識符可分為運算符、用戶標識符和關(guān)鍵字三類

參考答案:A

15.以下選項中敘述正確的是

A)函數(shù)體必須由{開始

B)C程序必須由main語句開始

C)C程序中的注釋可以嵌套

D)C程序中的注釋必須在一行完成

參考答案:A

16.已知a=5,b=6,c=7,d=8,m=2,n=2,執(zhí)行(m=a>b)&&(n=c〈d)后n的值

A)2

B)0

C)1

D)-1

參考答案:A

17.有以下程序

ftinclude<stdio.h>

main()

(

intx=23;

do

(

printf("%2d\n”,x一);

}while(!x);

程序的執(zhí)行結(jié)果是

A)輸出23

B)輸出321

C)不輸出任何內(nèi)容

D)陷入無限循環(huán)

參考答案:A

18.有以下程序

ftinclude<stdio.h>

main()

(

charc;

while((c=getchar())!='\n')

(

switch(c,2')

{

case0:

case1:putchar(c+4)

case2:putchar(c+4);break;

case3:putchar(c+3)

default:putchar(c+2);break;

printf(〃\n〃);

程序運行后從第一列開始輸入以下數(shù)據(jù)

2473〈回車〉

程序的輸出結(jié)果是

A)668977

B)4444

C)6677877

D)68766

參考答案:A

19.有以下程序

ftinclude<stdio.h>

main()

{inti=0,sum=l;

do

(

sum+=i++;

}while(i<6);

printf(,z%d\n”,sum);

程序的輸出結(jié)果是

A)16

B)18

C)20

D)22

參考答案:A

20.有以下程序段,若變量已正確定義并賦值

if(a>b)printf("x=%d,”,x);

elseprintf("y=%d,”,y);

if(a<=b)i++;

elsej++;

則與此程序段功能相同的選項是

A)if(a>b){printf("x=%d,”,x);j++;}

else{printf("y=%d,”,y);i++;}

B)if(a>b){printf("x=%d,”,x);i++;}

else{printf("y=%d,”,y);j++;}

C)if(a〈=b){printf("x=%d,”,x);i++;}

else{printf("y=%d,”,y);j++;}

D)if(a>=b){printf("x=%d,”,x);i++;}

else{printf("y=%d,”,y);j++;}

參考答案:A

21.以下程序的功能是判斷輸入的一個整數(shù)是否能被3或7整除,若能

整除,輸出YES,否則輸出NO。在下劃線處應(yīng)填入的選項是

ftinclude<stdio.h>

main()

{intk;

printf("Enteraintnumber:");scanf("%d",&k);

ifprintf("YES'n");

elseprintf("N0\n");

printf("%d\n",k%3);

}

A)((k%3==0)||(k%7==0))

B)(k/3==0)||(k/7==0)

C)((k%3=0)||(k%7=0))

D)((k%3==0)&&(k%7==0))

參考答案:A

22.以下選項中,不能對主函數(shù)中變量i和j的值進行交換的程序是

A)ttinclude<stdio.h>

voidswap(int*p,int*q)

{int*t;

*t=*p;*p=*q;*q=*t;

main()

inti=10,j=20,*a=&i,*b=&j;

swap(a,b);printf(,,i=%dj=%d\n”,i,j);

}

B)ttinclude<stdio.h>

voidswap(int*p,int*q)

{intt;

t=*p;*p=*q;*q=t;

}

main()

(

inti=10,j=20,*a=&i,*b=&j;

swap(a,b);printf(,,i=%dj=%d\n〃,i,j);

)

C)ftinclude<stdio.h>

ftinclude<stdlib.h>

voidswap(int*p,int*q)

{int*t;

t=(int*)malloc(sizeof(int));

*t=*p;*p=*q;*q=*t;

free(t);

main()

(

inti=10,j=20;

/,,,

swap(&i,&j);printf(i=%dj=%d\n,i,j);

)

D)#include<stdio.h>

voidswap(int*p,int*q)

{intt;

t=*p;*p=*q;*q=t;

)

main()

(

inti=10,j=20,*x=&i,*y=&j;

swap(x,y);printf(,,i=%dj=%d\n〃,i,j);

)

參考答案:A

23.有以下程序

ttinclude<stdio.h>

main()

inta[10]={1,3,5,7,11,13,17},*p=a;

printf("%d,",*(p++));

printf("%d\n",*(++p));

}

程序運行后的輸出結(jié)果是

A)1,5

B)3,5

C)3,7

D)1,3

參考答案:A

24.有以下程序

ftinclude<stdio.h>

main()

(

int*p,x=100;

p=&x;x=*p+10;

printf("%d\n",x);

}

程序運行后的輸出結(jié)果是

A)110

B)120

C)100

D)90

參考答案:A

25.以下程序中給數(shù)組所有元素輸入數(shù)據(jù),請從選項中選擇正確的答

案填入下劃線處

ftinclude<stdio.h>

main()

(

inta[10],i=0;

while(i<10)scanf("%d",);

I

}

A)a+(i++)

B)&a[i+l]

C)a+i

D)&a(i++)

參考答案:A

26.有以下程序

ftinclude<stdio.h>

voidfun(intx,inty,int*z)

{*z=y-x;}

main()

inta,b,c;

fun(10,5,&a);fun(7,a,&b);fun(a,b,&c);

printf("%d,%d,%d\n”,a,b,c);

}

程序運行后的輸出結(jié)果是

A)-5,-12,-7

B)5,2,3

C)-5,-12,-17

D)5,-2,-7

參考答案:A

27.有以下程序

ftinclude<stdio.h>

voidfun(int*s,intnl,intn2)

{inti,j,t;

i=nl;j=n2;

while(i<j)

{t=*(s+i);*(s+i)=*(s+j);*(s+j)=t;

i++;j—;

}

main()

inta[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a;

fun(p,0,3);fun(p,4,9);fun(p,0,9);

for(i=0;i<10;i++)printf("%d”,*(a+i));

printf("\n");

}

程序運行后的輸出結(jié)果是

A)5678901234

B)0987654321

C)4321098765

D)0987651234

參考答案:A

28.當沒有指定C語言中函數(shù)形參的存儲類別時,函數(shù)形參的存儲類

別是

A)自動(auto)

B)靜態(tài)(static)

C)寄存器(register)

D)外部(extern)

參考答案:A

29.當沒有指定C語言中函數(shù)形參的存儲類別時,函數(shù)形參的存儲類

別是

A)自動(auto)

B)靜態(tài)(static)

C)寄存器(register)

D)外部(extern)

參考答案:A

30.以下語句的輸出結(jié)果是

printf("%d\n”,strlen("\t\"\065\xff\n〃));

A)5

B)8

C)14

D)輸出項不合法,無正常輸出

參考答案:A

31.若有說明和語句:charstr*p;p=str;,則此時

*(p+5)中的值為

A),\0,

B)'o'

C)'o'的地址

D)不確定的值

參考答案:A

32.有以下程序

ftinclude<stdio.h>

ftinclude<string.h>

main()

chars[]="Beijing”;

printf("%d\n",strlen(strcpy(s,"China")));

}

程序運行后的輸出結(jié)果是

A)5

B)7

C)12

D)14

參考答案:A

33.有以下函數(shù)

intfun(char*s,char*t)

{while((*s)&&(*t)&&(*t++==*s++));

return(*s-*t);

}

函數(shù)的功能是

A)比較兩個字符串的大小

B)求字符串的長度

C)將字符串s復(fù)制到字符串t中

D)連接字符串s和字符串t

參考答案:A

34.以下敘述正確的是

A)EOF只能作為文本文件的結(jié)束標志,其值為

B)EOF可以作為所有文件的結(jié)束標志

C)EOF只能作為二進制文件的結(jié)束標志

D)任何文件都不能用EOF作為文件的結(jié)束標志

參考答案:A

35.以下敘述正確的是

A)在C語言中調(diào)用fopen函數(shù)就可把程序中要讀、寫的文件與磁盤上

實際的數(shù)據(jù)文件聯(lián)系起來

B)fopen函數(shù)的調(diào)用形式為:fopen(文件名)

C)fopen函數(shù)的返回值為NULL時,則成功打開指定的文件

D)fopen函數(shù)的返回值必須賦給一個任意類型的指針變量

參考答案:A

36.以下不能對文件進行輸出的庫函數(shù)是

A)fpout

B)fputc

C)fwrite

D)fprintf

參考答案:A

37.有以下程序

ftinclude<stdio.h>

ftdefineN2

ftdefineMN+l

ftdefineMUN(M+l)*M/2

main()

printf("%d\n",MUN);

}

程序運行后的輸出結(jié)果是

A)8

B)9

C)5

D)6

參考答案:A

38.有以下程序

ftinclude<stdio.h>

structlink(

intdata;

structlink*next;

);

main()

{structlink*h,a,b;

h=&a;a.data=10;a.next=&b;b.data=20;

■I

I

}

程序運行時不能輸出10,20的語句是

A)printf("%d,%d\n,z,h->data,a.next,data);

B)printf("%d,%d\n”,a.data,(*a.next).data);

C)printf("%d,%d\n”,h->data,(*a.next).data);

D)printf("%d,%d\n”,a.data,a.next->data);

參考答案:A

39.有以下程序

ftinclude<stdio.h>

main()

{inta=3,b=3;

printf("%d\n',a&b);

}

程序運行后的輸出結(jié)果是

A)3

B)1

C)0

D)6

參考答案:A

40.有以下程序段

FILE*fp;

if((fp=fopen("test,txt","w"))==NULL)

{printf(〃不能打開文件!〃);

exit(0);}

else

printf(〃成功打開文件!”);

若指定文件test,txt不存在,且無其他異常,則以下敘述錯誤的是

A)輸出〃不能打開文件!〃

B)輸出〃成功打開文件!〃

C)系統(tǒng)將按指定文件名新建文件

D)系統(tǒng)將為寫操作建立文本文件

參考答案:A

2020年全國計算機二級等級考試全真模擬試卷

及答案(第二套)

1.下列敘述中正確的是

A)一個算法的空間復(fù)雜度大,則其時間復(fù)雜度也必定大

B)一個算法的空間復(fù)雜度大,則其時間復(fù)雜度必定小

C)一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小

D)算法的時間復(fù)雜度與空間復(fù)雜度沒有直接關(guān)系

參考答案:D

2.下列敘述中正確的是

A)循環(huán)隊列中的元素個數(shù)隨隊頭指針與隊尾指針的變化而動態(tài)變

B)循環(huán)隊列中的元素個數(shù)隨隊頭指針的變化而動態(tài)變化

0循環(huán)隊列中的元素個數(shù)隨隊尾指針的變化而動態(tài)變化

D)以上說法都不對

參考答案:A

3.棵二叉樹中共有80個葉子結(jié)點與70個度為1的結(jié)點,則該二叉樹中

的總結(jié)點數(shù)為

A)219

B)229

C)230

D)231

參考答案:B

4.對長度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)

A)9

B)10

C)45

D)90

參考答案:C

5.構(gòu)成計算機軟件的是

A)源代碼

B)程序和數(shù)據(jù)

0程序和文檔

D)程序、數(shù)據(jù)及相關(guān)文檔

參考答案:D

6.軟件生命周期可分為定義階段、開發(fā)階段和維護階段,下面不屬

于開發(fā)階段任務(wù)的是

A)測試

B)設(shè)計

C)可行性研究

D)實現(xiàn)

參考答案:C

7.下面不能作為結(jié)構(gòu)化方法軟件需求分析工具的是

A)系統(tǒng)結(jié)構(gòu)圖

B)數(shù)據(jù)字典(DD)

0數(shù)據(jù)流程圖(DFD圖)

D)判定表

參考答案:A

8.在關(guān)系模型中,每一個二維表稱為一個

A)關(guān)系

B)屬性

0元組

D)主碼(鍵)

參考答案:A

9.若實體A和B是一對多的聯(lián)系,實體B和C是一對一的聯(lián)系,則實體A

和C的聯(lián)系是

A)一對一

B)一對多

0多對一

D)多對多

參考答案:B

有三個關(guān)系R,S和T如下

RST

ABCABC

a12a12

b21b21

c31c31

d32

10則由關(guān)系R和S得到關(guān)系T的操作是。

A)選擇

B)投影

0交

D)并

參考答案:D

11.以下敘述中正確的是

A)C語言程序所調(diào)用的函數(shù)必須放在main函數(shù)的前面

B)C語言程序總是從最前面的函數(shù)開始執(zhí)行

C)C語言程序中main函數(shù)必須放在程序的開始位置

D)C語言程序總是從main函數(shù)開始執(zhí)行

參考答案:D

12.C語言程序中,運算對象必須是整型數(shù)的運算符是

A)&&

B)/

0%

D)*

參考答案:C

13.有以下程序

#include<stdio.h>

main()

(

intsum,pad,pAd;

sum=pad=5;

pAd=++sum,pAd++,++pad;

printf("%d\n",pad);

}

程序的輸出結(jié)果是

A)5

B)6

C)7

D)8

參考答案:B

14,有以下程序

#include<stdio.h>

main()

(

inta=3;

a+=a-=a*a;

printf("%d\n",a);

}

程序的輸出結(jié)果是

A)0

B)9

C)3

D)-12

參考答案:D

15.sizeof(double)是

A)一個整型表達式

B)一個雙精度型表達式

0一個不合法的表達式

D)一種函數(shù)調(diào)用

參考答案:A

16.有以下程序

#include<stdio.h>

main()

(

inta=2,c=5;

printf("a=%%d,b=%%d\n"/a,c);

)

程序的輸出結(jié)果是

A)a=2,b=5

B)a=%2,b=%5

C)a=%d,b=%d

D)a=%%d,b=%%d

參考答案:C

17.若有定義語句:

chara='\82';

則變量a

A)說明不合法

B)包含1個字符

0包含2個字符

D)包含3個字符

參考答案:A

18.有以下程序

#include<stdio.h>

main()

(

charcl='A',c2='Y';

printf("%d,%d\n",cl,c2);

}

程序的輸出結(jié)果是

A)輸出格式不合法,輸出出錯信息

B)65,89

C)65,90

D)A,Y

參考答案:B

19.若變量已正確定義

for(x=0,y=0;(y!=99&&x<4);x++)

則以上for循環(huán)

A)執(zhí)行3次

B)執(zhí)行4次

0執(zhí)行無限次

D)執(zhí)行次數(shù)不定

參考答案:B

20.對于while(!E)s;,若要執(zhí)行循環(huán)體s,則E的取值應(yīng)為:

A)E等于1

B)E不等于0

0E不等于1

D)E等于0

參考答案:D

21.有以下程序

#include<stdio.h>

main()

(

intx;

for(x=3;x<6;x++)

printf((x%2)?("*%d"):("#%d"),x);

printf("\n");

}

程序的輸出結(jié)果是

A)*3#4*5

B)#3*4#5

C)*3*4#5

D)*3#4#5

參考答案:A

22.有以下程序

#include<stdio.h>

main()

{inta,b;

for(a=l,b=l;a<=100;a++)

{if(b>=20)break;

if(b%3==1){b=b+3;continue;}

b=b-5;

}

printf("%d\n",a);

}

程序的輸出結(jié)果是

A)10

B)9

C)8

D)7

參考答案:B

23.有以下程序

#include<stdio.h>

voidfun(intx,inty,int*c,int*d)

{*c=x+y;*d=x-y;}

main()

{inta=4,b=3,c=0,d=0;

fun(a,b,&c,&d);

printf("%d%d\n",c,d);

)

程序的輸出結(jié)果是

A)00

B)43

C)34

D)71

參考答案:D

24,有以下程序

#include<stdio.h>

voidfun(int*p7int*q)

{intt;

t=*p;*p=*q;*q=t;

*q=*p;

}

main()

{inta=0,b=9;

fun(&a,&b);

printf("%d%d\n",a,b);

)

程序的輸出結(jié)果是

A)90

B)00

C)99

D)09

參考答案:C

25.有以下程序

#include<stdio.h>

main()

{inta[]={2,4,6,8,10Lx,*p,y=l;

P=&a[l];

for(x=0;x<3;x++)y+=*(p+x);

printf("%d\n",y);

}

程序的輸出結(jié)果是

A)13

B)19

C)11

D)15

參考答案:B

26.有以下程序

#include<stdio.h>

main()

(

inti,x[3][3]={t,2,3,4,5,6,7,8,9};

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

printf("%d",x[i][2-i]);

printf("\n");

}

程序的輸出結(jié)果是

A)150

B)357

C)147

D)369

參考答案:B

27,設(shè)有某函數(shù)的說明為

int*func(inta[10],intn);

則下列敘述中,正確的是

A)形參a對應(yīng)的實參只能是數(shù)組名

B)說明中的a[10]寫成a口或*a效果完全一樣

C)func的函數(shù)體中不能對a進行移動指針(如a++)的操作

D)只有指向10個整數(shù)內(nèi)存單元的指針,才能作為實參傳給a

參考答案:B

28.有以下程序

#include<stdio.h>

charfun(char*c)

(

if(*c<='Z'&&*c>='A')

*c-='A'-'a';

return*c;

)

main()

(

chars[81]z*p=s;

gets(s);

while(*p)

(

*P=fun(p);

putchar(*p);

P++;

}

printf("\n");

}

若運行時從鍵盤上輸入OPENTHEDOOR〈回車〉,程序的輸出結(jié)果

A)OPENTHEDOOR

B)OPENtHEdOOR

0openthedoor

D)OpenTheDoor

參考答案:C

29.設(shè)有定義語句:

char*aa[2]={"abcd","ABCD"};

則以下敘述正確的是

A)aa[0]存放了字符串"abed"的首地址

B)aa數(shù)組的兩個元素只能存放含有4個字符的一維數(shù)組的首地址

0aa數(shù)組的值分別是字符串"abed"和"ABCD"

D)aa是指針變量,它指向含有兩個元素的字符型數(shù)組

參考答案:A

30,有以下程序

#include<stdio.h>

intfun(char*s)

{char*p=s;

while(*p!=0)p++;

return(p-s);

)

main()

{printf("%d\n",fun("goodbey!"));}

程序的輸出結(jié)果是

A)0

B)6

C)7

D)8

參考答案:C

31.有以下程序

#include<stdio.h>

intfun(intn)

{inta;

if(n==l)return1;

a=n+fun(n-1);

return(a);

}

main()

{printf("%d\n",fun(5));}

程序的輸出結(jié)果是

A)9

B)14

C)10

D)15

參考答案:D

32,有以下程序

#include<stdio.h>

intd=l;

voidfun(intp)

(

intd=5;

d+=p++;

printf("%d",d);

)

main()

inta=3;

fun(a);

d+=a++;

printf("%d\n",d);

}

程序的輸出結(jié)果是

A)84

B)96

C)94

D)85

參考答案:A

33.有以下程序

#include<stdio.h>

intfun(intA)

(

intb=0;

staticintc=3;

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

return(a);

}

main()

inta=2,i,k;

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

k=fun(a++);

printf("%d\n",k);

}

程序的輸出結(jié)果是

A)4

B)0

01

D)2

參考答案:B

34,有以下程序

#include<stdio.h>

main()

{charc[2][5]={"6934","8254"},*p[2];

inti,j,s=0;

for(i=0;i<2;i++)p[i]=c[i];

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

for(j=0;p[i][j]>0&&p[i][j]<='9';j+=2)

s=10*s+p[i][j]-'O';

printf("%d\n",s);

}

程序的輸出結(jié)果是

A)693825

B)69825

C)63825

D)6385

參考答案:D

35.有以下程序

#include<stdio.h>

#defineSQR(X)X*X

main()

(

inta=10,k=2,m=l;

a/=SQR(k+m)/SQR(k+m);

printf("%d\n",a);

}

程序的輸出結(jié)果是

A)0

B)1

C)9

D)10

參考答案:B

36.有以下程序

#include<stdio.h>

main()

{charx=2,y=2,z;

z=(y?l)&(x?l);

printf("%d\n",z);

}

程序的輸出結(jié)果是

A)1

B)0

C)4

D)8

參考答案:B

37,有以下程序

#include<stdio.h>

structS{inta;intb;};

main()

{structSa,*p=&a;

a.a=99;

printf("%d\n",);

}

程序要求輸出結(jié)構(gòu)體中成員a的數(shù)據(jù),以下不能填入橫線處的內(nèi)容是

A)a.a

B)*p.a

C)p->a

D)(*p).a

參考答案:B

38.有以下程序

#include<stdio.h>

#include<stdlib.h>

voidfun(double*pl,double*p2,double*s)

{s=(double*)calloc(l,sizeof(double));

*s=*pl+*(p2+l);

}

main()

{doublea[2]={1.1,2.2},b[2]={10.0,20.0},*s=a;

fun(a,b,s);

printf("%5.2f\n",*s);

}

程序的輸出結(jié)果是

A)21.10

B)11.10

C)12.10

D)1.10

參考答案:D

若已建立以下畦表結(jié)構(gòu),指針P、s分別指向如圖所示結(jié)點

datanextdatanextdatanext

39則不能將s所指結(jié)點插入到旗表末尾的語句組是

A)p=p->next;s->next=p;p->next=s;

B)s->next='\0';p=p->next;p->next=s;

C)p=p->next;s->next=p->next;p->next=s;

D)p=(*p).next;(*s).next=(*p).next;(*p).next=s;

參考答案:A

40.若fp已定義為指向某文件的指針,且沒有讀到該文件的末尾,則

C語言函數(shù)feof(fp)的函數(shù)返回值是

A)EOF

B)非。

0-1

D)0

參考答案:D

2020年全國計算機二級等級考試全真模擬試卷

及答案(第三套)

1.下列敘述中正確的是

A)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)

B)算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量

C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的

D)算法的時間復(fù)雜度與空間復(fù)雜度一定相關(guān)

參考答案:B

2.下列敘述中正確的是

A)線性表鏈式存儲結(jié)構(gòu)的存儲空間一般要少于順序存儲結(jié)構(gòu)

B)線性表鏈式存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)的存儲空間都是連續(xù)的

0線性表鏈式存儲結(jié)構(gòu)的存儲空間可以是連續(xù)的,也可以是不連

續(xù)的

D)以上說法均錯誤

參考答案:C

3.某二叉樹共有12個結(jié)點,其中葉子結(jié)點只有1個。則該二叉樹的深

度為(根結(jié)點在第1層)

A)3

B)6

C)8

D)12

參考答案:D

4.對長度為n的線性表作快速排序,在最壞情況下,比較次數(shù)為

A)n

B)n-1

C)n(n-1)

D)n(n-l)/2

參考答案:D

5.結(jié)構(gòu)化程序設(shè)計中,下面對goto語句使用描述正確的是

A)禁止使用goto語句

B)使用goto語句程序效率高

0應(yīng)避免濫用goto語句

D)以上說法均錯誤

參考答案:C

6.下面不屬于軟件測試實施步驟的是

A)集成測試

B)回歸測試

0確認測試

D)單元測試

參考答案:B

7.下面不屬于軟件需求分析階段主要工作的是

A)需求變更申請

B)需求分析

C)需求評審

D)需求獲取

參考答案:A

8.一般情況下,當對關(guān)系R和S進行自然連接時,要求R和S含有一個

或者多個共有的

A)記錄

B)行

0屬性

D)元組

參考答案:C

Q則由關(guān)系R和S得到關(guān)系T的操作是?,

A)選擇

B)差

0交

D)并

參考答案:B

10.有表示公司和職員及工作的三張表,職員可在多家公司兼職。其

中公司C(公司號,公司名,地址,注冊資本,法人代表,員工數(shù)),

職員S(職員號,姓名,性別,年齡,學(xué)歷),工作W(公司號,職員

號,工資),則表W的鍵(碼)為

A)公司號,職員號

B)職員號,工資

0職員號

D)公司號,職員號,工資

參考答案:A

11.以下敘述中正確的是

A)每個后綴為.C的C語言源程序都可以單獨進行編譯

B)每個后綴為.C的C語言源程序都應(yīng)該包含一個main函數(shù)

0在C語言程序中,main函數(shù)必須放在其他函數(shù)的最前面

D)在C語言程序中,只有main函數(shù)才可單獨進行編譯

參考答案:A

12.C語言中的標識符分為關(guān)鍵字、預(yù)定義標識符和用戶標識符,以

下敘述正確的是

A)關(guān)鍵字可用作用戶標識符,但失去原有含義

B)預(yù)定義標識符可用作用戶標識符,但失去原有含義

0在標識符中大寫字母和小寫字母被認為是相同的字符

D)用戶標識符可以由字母和數(shù)字任意順序組成

參考答案:B

13.以下選項中合法的常量是

A)999

B)2.7e

C)OXab

D)123E0.2

參考答案:C

14.C語言主要是借助以下哪種手段來實現(xiàn)程序模塊化

A)定義函數(shù)

B)定義常量和外部變量

0使用豐富的數(shù)據(jù)類型

D)使用三種基本結(jié)構(gòu)語句

參考答案:A

15.以下敘述中錯誤的是

A)數(shù)值型常量有正值和負值的區(qū)分

B)常量可以用一個符號名來代表

0定義符號常量必須用類型名來設(shè)定常量的類型

D)常量是在程序運行過程中值不能被改變的量

參考答案:C

16.若有定義和語句:

inta,b;

scanf("%d,%d,",&a,&b);

以下選項中的輸入數(shù)據(jù),不能把值3賦給變量a、5賦給變量b的是

A)3,5,4

B)3,5

03,5,

D)3,5

參考答案:D

17.C語言中char類型數(shù)據(jù)占字節(jié)數(shù)為

A)1

B)2

C)3

D)4

參考答案:A

18.下列關(guān)系表達式中,結(jié)果為"假"的是

A)3<=4

B)(3<4)==1

C)(3+4)>6

D)(3!=4)>2

參考答案:D

19.若以下選項中的變量a,b,y均已正確定義并賦值,則語法正確的

switch語句是

A)switch(a*a+b*b)

{default:break;

case3:y=a+b;break;

case2:y=a-b;break;

)

B)switch(a+b)

{easel:case3:y=a+b;break;

caseO:case4:y=a-b;

}

C)switch(a+9)

{casea:y=a-b;

caseb:y=a+b;

}

D)switcha*b

{case10:y=a+b;

default:y=a-b;

}

參考答案:A

20,有以下程序

#include<stdio.h>

main()

{inta=-2,b=0;

while(a++&&++b);

printf("%d,%d\n",a,b);

)

程序運行后輸出結(jié)果是

A)0,2

B)0,3

01,3

D)1,2

參考答案:D

21.設(shè)有定義:

intx=0,*p;

緊接著的賦值語句正確的是

A)*p=NULL;

B)p=NULL;

C)p=x;

D)*p=x;

參考答案:B

22.下列敘述中正確的是

A)空字符串不占用內(nèi)存,其內(nèi)存空間大小是0

B)兩個連續(xù)的單引號(“)是合法的字符常量

C)可以對字符串進行關(guān)系運算

D)兩個連續(xù)的雙引號("")是合法的字符串常量

參考答案:D

23.有以下程序

#include<stdio.h>

main()

{chara='H';

a=(a>='A'&&a<='Z')?(a+32):a;

printf("%c\n",a);

)

程序運行后的輸出結(jié)果是

A)H

B)h

C)A

D)a

參考答案:B

24,有以下程序

#include<stdio.h>

intf(intx);

main()

{inta,b=0;

for(a=0;a<3;a+=l)

{b+=f(a);putchar('A'+b);}

}

intf(intx)

{returnx*x+l;}

程序運行后輸出結(jié)果是

A)ABE

B)BCD

C)BDI

D)BCF

參考答案:C

25.設(shè)有定義:

intx[2][3];

則以下關(guān)于二維數(shù)組x的敘述錯誤的是

A)元素x⑼可看作是由3個整型元素組成的一維數(shù)組

B)數(shù)組x可以看作是由x⑼和x[l]兩個元素組成的一維數(shù)組

0可以用x[0]=0;的形式為數(shù)組所有元素賦初值0

D)x[0]和x⑴是數(shù)組名,分別代表一個地址常量

參考答案:C

26.設(shè)p是指針變量,語句p=NULL;等價于

A)p='O';

B)p=

0p=

D)p=0;

參考答案:D

27,有以下程序

#include<stdio.h>

main()

{inta[]={10,20,30,40},*p=a,i;

for(i=0;i<=3;i++){a[i]=*p;p++;}

printf("%d\n",a[2]);

)

程序運行后的輸出結(jié)果是

A)10

B)20

C)30

D)40

參考答案:C

28有以下程序

#include<stdio.h>

#defineN3

voidfun(inta[][N],intb[])

{inti,j;

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

{b[i]=a[i][0];

for(j=l;j<N;j++)

if(b[i]<a[i][j])b[i]=a[i]0];

)

}

main()

{intx[N][N]={l,2,3,4,5,6,7,8,9},y[N],i;

fun(x,y);

for(i=0;i<N;i++)printf(y[i]);

printf("\n");

}

程序運行后的輸出結(jié)果是

A)3,5,7

B)1,3,5,

02,4,8,

D)3,6,9,

參考答案:D

29.有以下程序(strcpy為字符串復(fù)制函數(shù),strcat為字符串連接函數(shù))

#include<stdio.h>

#include<string.h>

main()

{chara[10]="abc",b[10]="012",c[10]="xyz";

strcpy(a+1,b+2);

puts(strcat(a,c+1));

}

程序運行后的輸出結(jié)果是

A)al2xyz

B)bc2yz

C)a2yz

D)12yz

參考答案:C

30.以下選項中,沒有編譯錯誤的是

A)charstr3[]={'d','e','b','u','g;'\0'};

B)charstrl[5]="pass",str2[6];str2=strl;

C)charname[10];name="china";

D)charstr4[];str4="helloworld";

參考答案:A

31.有以下程序

#include<stdio.h>

main()

(

char*s="12134";

intk=0,a=0;

while(s[k+1])

(

k++;

if(k%2==0)

(

a=a+(s[k]-'O'+1);

continue;

}

a=a+(s[k]-'O');

}

printf("k=%da=%d\n",k,a);

}

程序運行后的輸出結(jié)果是

A)k=5a=15

B)k=4a=12

C)k=6a=ll

D)k=3a=14

參考答案:B

32,有以下程序

#include<stdio.h>

main()

(

chara[5][10]={"one","two","three","four","five"};

inti,j;

chart;

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

for(j=i+l;j<5;j++)

if(a[i][0]>aU][0])

(

t=a[i][0];

a[i][O]=a[j][O];

aQ][O]=t;

}

puts(a[l]);

}

程序運行后的輸出結(jié)果是

A)owo

B)fwo

C)two

D)fix

參考答案:B

33.有以下程序

#include<stdio.h>

inta=l,b=2;

voidfunl(inta,intb)

{printf("%d%d",a,b);}

voidfun2()

{a=3;b=4;}

main()

{funl(5,6);fun2();

printf("%d%d\n",a,b);

}

程序運行后的輸出結(jié)果是

A)5612

B)3456

C)1256

D)5634

參考答案:D

34.有以下程序

#include<stdio.h>

voidfunc(intn)

(

staticintnum=1;

num+=n;

printf("%d",num);

}

main()

(

func(3);

func(4);

printf("\n");

)

程序運行后的輸出是

A)45

B)48

C)35

D)34

參考答案:B

35.有以下程序

#include<stdio.h>

#include<stdlib.h>

voidfun(int*pl,int*p2,int*s)

{s=(int*)calloc(l,sizeof(int));

*s=*pl+*p2;

free(s);

}

main()

{inta[2]={l,2},b[2]={40z50),*q=a;

fun(a,b,q);

printf("%d\n",*q);

}

程序運行后的輸出結(jié)果是

A)42

B)41

C)1

D)0

參考答案:C

36.有以下程序

#include<stdio.h>

structSTU{charname[9];charsex;intscore[2];};

voidf(structSTUa[])

{structSTUb={"Zhao",'m',85,90};

a[l]=b;

}

main()

1

{structSTUc[2]={{"Qian",'f,95z92},{"Sun",'m,98,99}};

f(c);

printf("%s,%c,%d,%dj,c[0].name,c[0].sex,c[0].score[0],

c[0].scorefl]);

printf("%s,%c,%d,%d\n",c口].name,c[l].sex,c[l].score[0],

c[l].score[l]);

}

程序運行后輸出結(jié)果是

A)Qian,f,95,92,Sun,m,98,99

B)Qian,f,95,92,Zhao,m,85,90

C)Zhao,m,85,90,Sun,m,98,99

D)Zhao,m,85,90,Qian,f,95,92

參考答案:B

37.以下敘述中錯誤的是

A)用typedef可以說明一種新的類型名

B)typedef的作用是用一個新的標識符來代表已存在的類型名

0可以用typedef說明的新類型名來定義變量

D)typedef說明的新類型名必須使用大寫字母,否則會出編譯錯誤

參考答案:D

38.以下敘述中錯誤的是

A)只要類型相同,結(jié)構(gòu)體變量之間可以整體賦值

B)函數(shù)的返回值類型不能是結(jié)構(gòu)體類型,只能是簡單類型

0可以通過指針變量來訪問結(jié)構(gòu)體變量的任何成員

D)函數(shù)可以返回指向結(jié)構(gòu)體變量的指針

參考答案:B

39.若有定義語句

intb=2;

則表達式(b?2)/(311b)的值是

A)0

B)2

C)4

D)8

參考答案:D

40.有以下程序

#include<stdio.h>

main()

{FILE*fp;inti,a[6]={1,2,3,4,5,6};

fp=fopen("d2.dat","w+");

for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]);

rewind(fp);

for(i=0;i<6;i++)fscanf(fp,"%d",&a[5-i]);

fclose(fp);

for(i=0;i<6;i++)printf(a[i]);

}

程序運行后輸出結(jié)果是

A)1,2,3,4,56

B)6,5,432,1,

04,5,6,1,2,3,

D)123,3,2,1,

參考答案:B

2020年全國計算機二級等級考試全真模擬試卷

及答案(第四套)

L下列敘述中正確的是

A)有且只有一個根結(jié)點的數(shù)據(jù)結(jié)構(gòu)一定是線性結(jié)構(gòu)

B)每一個結(jié)點最多有一個前件也最多有一個后件的數(shù)據(jù)結(jié)構(gòu)一定

是線性結(jié)構(gòu)

0有且只有一個根結(jié)點的數(shù)據(jù)結(jié)構(gòu)一定是非線性結(jié)構(gòu)

D)有且只有一個根結(jié)點的數(shù)據(jù)結(jié)構(gòu)可能是線性結(jié)構(gòu),也可能是非線

性結(jié)構(gòu)

參考答案:D

2.下列敘述中錯誤的是

A)在雙向鏈表中,可以從任何一個結(jié)點開始直接遍歷到所有結(jié)點

B)在循環(huán)鏈表中,可以從任何一個結(jié)點開始直接遍歷到所有結(jié)點

0在線性單鏈表中,可以從任何一個結(jié)點開始直接遍歷到所有結(jié)點

D)在二叉鏈表中,可以從根結(jié)點開始遍歷到所有結(jié)點

參考答案:C

3.某二叉樹共有13個結(jié)點,其中有4個度為1的結(jié)點,則葉子結(jié)點數(shù)為

A)5

B)4

C)3

D)2

參考答案:A0

4.設(shè)棧的順序存儲空間為S(l:50),初始狀態(tài)為top=0。現(xiàn)經(jīng)過一系列

入棧與退棧運算后,top=20,則當前棧中的元素個數(shù)為

A)30

B)29

C)20

D)19

參考答案:C

5.設(shè)棧的順序存儲空間為S(l:50),初始狀態(tài)為top=0?,F(xiàn)經(jīng)過一系列

入棧與退棧運算后,top=20,則當前棧中的元素個數(shù)為

A)30

B)29

C)20

D)19

參考答案:C

6.程序測試的目的是

A)執(zhí)行測試用例

B)發(fā)現(xiàn)并改正程序中的錯誤

0發(fā)現(xiàn)程序中的錯誤

D)診斷和改正程序中的錯誤

參考答案:C

7.下面屬于系統(tǒng)軟件的是

A)財務(wù)管理系統(tǒng)

B)數(shù)據(jù)庫管理系統(tǒng)

0編輯軟件Word

D)殺毒軟件

參考答案:B

8.在關(guān)系A(chǔ)(S,SN,D)和B(D,CN,NM)中,A的主關(guān)鍵字是S,B的主關(guān)

鍵字是D,則D是A的

A)外鍵(碼)

B)候選鍵(碼)

0主鍵(碼)

D)元組

參考答案:A

9.有兩個關(guān)系R,S如下,由關(guān)系R和S通過運算得到關(guān)系T,則所使用

的操作為

A)并

B)自然連接

0笛卡爾積

D)差

參考答案:D

10.在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負責數(shù)據(jù)模式定義的是

A)數(shù)據(jù)定義語言

B)數(shù)據(jù)管理語言

0數(shù)據(jù)操縱語言

D)數(shù)據(jù)控制語言

參考答案:A

11.流程圖是描述算法的很好的工具,一般的流程圖中由幾種基本圖

形組成。其中輸入輸出框的圖形是

A)平行四邊形

B)長方形

C)橢圓型

D)菱形

參考答案:A

12.設(shè)有以下代碼

do{

while(條件表達式1)

循環(huán)體A;

}while(條件表達式2);

while(條件表達式1)

do{

循環(huán)體B;

}while(條件表達式2);

其中,循環(huán)體A與循環(huán)體B相同,以下敘述正確的是

A)循環(huán)體A與循環(huán)體B的執(zhí)行次數(shù)相同

B)循環(huán)體A比循環(huán)體B的執(zhí)行次數(shù)多一次

0循環(huán)體A比循環(huán)體B的執(zhí)行次數(shù)少一次

D)循環(huán)體A與循環(huán)體B的執(zhí)行次數(shù)不確定

參考答案:A

13.C語言的常量包括數(shù)值型常量和符號常量,以下敘述正確的是

A)數(shù)值型常量1.0和1所占內(nèi)存的大小不同

B)不能用sizeof求數(shù)值型常量所占內(nèi)存的大小

0不能用sizeof求符號常量所占內(nèi)存的大小

D)可以用&A取得符號常量A所占內(nèi)存的首地址

參考答案:A

14.有以下程序

ftinclude<stdio.h>

main()

{inta;

a=(int)(-1.53*3);

printf("%d\n",a);

程序的運行結(jié)果是

A)-4

B)-3

C)-5

D)結(jié)果不確定

參考答案:A

15.若有定義:charc;intd;,程序運行時輸入:1,2〈回車》,

能把值1輸入給變量c、值2輸入給變量d的輸入語句是

A)scanf("%c,%d",&c,&d);

B)scanf("%c%d”,&c,&d);

C)scanf("%d,%f",&c,&d);

D)scanf("%d%d”,&c,&d);

參考答案:A

16.有以下程序

ftinclude<stdio.h>

main()

{intk=33;

printf("%d,%o,%x\n”,k,k,k);

}

程序的運行結(jié)果是

A)33,41,21

B)33,33,33

C)41,33,21

D)33,21,41

參考答案:A

17.有以下程序

ftinclude<stdio.h>

main()

{inta=0,b=0,c=0,d=0;

(a++&&b++)?c++:d++;

printf("%d,%d,%d,%d\n”,a,b,c,d);

}

程序的運行結(jié)果是

A)1,0,0,1

B)1,1,0,1

01,0,1,0

D)1,1,1,0

參考答案:A

18有以下程序

ftinclude<stdio.h>

main()

{inta,b;

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

{scanf("%d",&b);

switch(b)

{case1:printf("%d,",++b);

case2:printf("%d,",++b);

default:printf("%d,〃,++b);

執(zhí)行時輸入:123〈回車》,則輸出結(jié)果是

A)2,3,4,3,4,4,

B)2,3,4,

C)2,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論