2020年全国计算机二级等级考试全真模拟试卷及答案(共八套)_第1页
2020年全国计算机二级等级考试全真模拟试卷及答案(共八套)_第2页
2020年全国计算机二级等级考试全真模拟试卷及答案(共八套)_第3页
2020年全国计算机二级等级考试全真模拟试卷及答案(共八套)_第4页
2020年全国计算机二级等级考试全真模拟试卷及答案(共八套)_第5页
已阅读5页,还剩182页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020年全国计算机二级等级考试全真模拟试卷

及答案(共八套)

2020年全国计算机二级等级考试全真模拟试卷

及答案(第一套)

1.设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针

top=30(指向栈顶元素)。则栈中的元素个数为

A)30

B)29

C)20

D)19

参考答案:C

2.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树

的深度(根结点在第1层)为

A)2

B)3

C)4

D)5

参考答案:C

3.下列叙述中正确的是

A)存储空间连续的数据结构一定是线性结构

B)存储空间不连续的数据结构一定是非线性结构

C)没有根结点的非空数据结构一定是线性结构

D)具有两个根结点的数据结构一定是非线性结构

参考答案:D

4.下列叙述中正确的是

A)带链队列的存储空间可以不连续,但队头指针必须大于队尾指针

B)带链队列的存储空间可以不连续,但队头指针必须小于队尾指针

C)带链队列的存储空间可以不连续,且队头指针可以大于也可以小

于队尾指针

D)带链队列的存储空间一定是不连续的

参考答案:C

5.某系统结构图如下图所示

该系统结构图的宽度是

A)2

B)3

C)4

D)n

参考答案:D

6.下面不能作为软件需求分析工具的是

A)PAD图

B)数据字典(DD)

C)数据流程图(DFD图)

D)判定树

参考答案:A

7.下面不属于对象基本特点的是

A)标识唯一性

B)可复用性

C)多态性

D)封装性

参考答案:B

8.在数据库设计中,描述数据间内在语义联系得到E-R图的过程属于

A)逻辑设计阶段

B)需求分析阶段

C)概念设计阶段

D)物理设计阶段

参考答案:C

9.有两个关系R,S如下,由关系R和S得到关系T,则所使用的操作

A)并

B)自然连接

C)差

D)交

参考答案:A

10.关系数据模型

A)只能表示实体间1:1联系

B)只能表示实体间l:m联系

C)可以表示实体间m:n联系

D)能表示实体间l:n联系而不能表示实体间n:l联系

参考答案:C

11.以下选项中叙述正确的是

A)C程序中的语句要经过编译才能转换成二进制机器指令

B)算法需要包含所有三种基本结构

C)有些算法不能用三种基本结构来表达

D)简单算法的操作步骤不能超过20步

参考答案:A

12.以下选项中叙述正确的是

A)复杂任务可以分解成简单子任务

B)C语言程序中的所有函数必须保存在同一个源文件中

C)全部三种基本结构都包含的才是结构化程序

D)C语言程序可以定义多个不同内容的main函数

参考答案:A

13.以下选项中,合法的数值型常量是

A)3.1415

B)〃A〃

C)092

D)OxDH

参考答案:A

14.以下选项中,合法的实数是

A)4.5E2

B)E1.3

C)7.11E

D)1.2E1.2

参考答案:A

15.若有定义inta,b,c;以下选项中的赋值语句正确的是

A)a=(b=c)+1;

B)(a=b)=c=1;

C)a=(b==c)=1;

D)a+b=c;

参考答案:A

16.有如下程序

ftinclude<stdio.h>

main()

intx=0x13;

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

}

程序运行后的输出结果是

A)20

B)14

C)12

D)13

参考答案:A

17.对于if(表达式)语句,以下叙述正确的是

A)〃表达式〃的值可以是任意合法的数值

B)在〃表达式〃中不能出现变量

C)在〃表达式〃中不能出现常量

D)〃表达式〃的值必须是逻辑值

参考答案:A

18.以下程序段中,不能实现条件〃如果a<b则x=10,否则x=-10〃的是

A)if(a<b)x=10;

if(b<a)x=-10;

B)if(a<b)x=10;

elsex=-10;

C)x=-10;

if(a<b)x=10;

D)x=(a>=b)?-10:10;

参考答案:A

19.以下能够实现计算5!的程序段是

A)intfac=l,k=0;

do{k++;fac*=k;}while(k<5);

B)intfac=0,k=l;

do{fac*=k;k++;}while(k<5);

C)intfac=l,k=l;

do{k++;fac*=k;}while(k<=5);

D)intfac=l,k=0;

do{fac*=k;k++;}while(k<5);

参考答案:A

20.有以下程序

ttinclude<stdio.h>

main()

{

intx=0,y=6;

do

{while(-y)x++;}

while(y一);

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

程序的运行结果是

A)5,-1

B)6,0

C)5,0

D)6,-1

参考答案:A

21.有以下程序

ttinclude<stdio.h>

main()

{char*s="120119110”;

intnO,nl,n2,nn,i;

n0=nl=n2=nn=i=0;

do{

switch(s[i++])

{default:nn++;

case'O':nO++;

case'r:nl++;

case'2':n2++;

}

}while(s[i]);

printf("nO=%d,nl=%d,n2=%d,nn=%d\n”,nO,nl,n2,nn);

程序的运行结果是

A)n0=3,nl=8,n2=9,nn=l

B)n0=2,nl=5,n2=l,nn=l

C)n0=2,nl=7,n2=10,nn=l

D)n0=4,nl=8,n2=9,nn=l

参考答案:A

22.有以下程序

ttinclude<stdio.h>

intml(intx,inty)

{returnx<=y?x:y;}

intm2(intx,inty)

{returnx<=y?y:x;}

intfun(inta,intb)

{returna+b;}

main()

{intx=2,y=3,z=l;

printf("%d\n”,fun(ml(x,y),m2(y,z)));

}

程序的运行结果是

A)5

B)6

C)4

D)3

参考答案:A

23.有如下程序

ftinclude<stdio.h>

intsub(doublea,doubleb)

(

return(int)(a-b);

)

main()

(

printf("%d\n”,sub(3.8,2.1));

}

程序运行后的输出结果是

A)1

B)1.7

C)2

D)2.0

参考答案:A

24.有如下程序

ftinclude<stdio.h>

main()

char*pl=0;

int*p2=0;

double*p3=0;

printf("%d,%d,%d\n”,sizeof(pl),sizeof(p2),

sizeof(p3));

}

程序运行后的输出结果是

A)4,4,4

B)1,4,8

C)0,0,0

D)1,2,4

参考答案:A

25.有如下程序

ftinclude<stdio.h>

main()

(

inta=0,*ptr;

ptr=&a;

*ptr=3;

a=(*ptr)++;

printf("%d,%d\n”,a,*ptr);

程序运行后的输出结果是

A)4,4

B)0,1

C)1,4

D)0,4

参考答案:A

26.有如下程序

ftinclude<stdio.h>

main()

(

inti,k;

intarray[4][2]={{1,2},{4,9},{6}};

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

for(k=0;k<4;k++)

(

printf("%d,”,array[k][i]);

)

printf('\n");

}

程序运行后的输出结果是

A)1,4,6,0,2,9,0,0,

B)1,2,4,9,6,

C)2,9,0,0,1,4,6,0,

D)2,9,6,94,

参考答案:A

27.有如下程序

ftinclude<stdio.h>

main()

(

inti,*ptr;

intarray[3]={8,2,4};

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

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

printf('\n");

}

程序运行后的输出结果是

A)8,2,

B)8,8,

C)2,4,

D)4,8,

参考答案:A

28.有如下程序

ftinclude<stdio.h>

main()

inti,*ptr;

intarray[5]={5,3,1};

for(ptr=array,i=0;i<5;i++,ptr++)

(

if(*ptr==0)

putchar('X');

else

putchar('A'+*ptr);

}

printf('\n");

}

程序运行后的输出结果是

A)FDBXX

B)FFFXX

C)FDBBB

D)ABCDE

参考答案:A

29.有如下程序

ftinclude<stdio.h>

ftinclude<string.h>

main()

charname[10]="c-book”;

char*str=name;

printf("%d,%d,%d,%d\n”,sizeof(name),strlen(name),

sizeof(str),strlen(str));

}

程序运行后的输出结果是

A)10,6,4,6

B)11,6,11,6

C)11,6,1,6

D)10,7,1,7

参考答案:A

30.有如下程序

ftinclude<stdio.h>

main()

(

charname[10]={'S','T','R','I','N',

name[3]='E';name[5]=0;

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

}

程序运行后的输出结果是

A)STREN

B)STRIEG

C)STRENG

D)STRENO

参考答案:A

31.有如下程序

ftinclude<stdio.h>

intdisp(char*str)

(

while(*str)putchar(*str++);

return*str;

}

main()

(

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

)

程序运行后的输出结果是

A)NAMEO

B)NAMEE

C)NAME

D)NAME\O

参考答案:A

32.有如下程序

ftinclude<stdio.h>

main()

(

char*p,old_str[10]="wind";

intpassword;

scanf("%d”,&password);

p=old_str;

while(*p)

(

printf("%c",*p+password);

p++;

)

printf('\n");

}

程序运行时,从键盘输入2〈回车》,输出结果是

A)ykpf

B)wind

C)xjoe

D)2222

参考答案:A

33.有如下程序

ftinclude<stdio.h>

intsum(int*array,intlen)

if(len==0)

returnarray[0];

else

returnarray[0]+sum(array+1,len-1);

)

main()

(

intarray[5]={1,2,3,4,5};

intres=sum(array,4);

printfres);

}

程序运行后的输出结果是

A)15

B)10

C)8

D)1

参考答案:A

34.有如下程序

ftinclude<stdio.h>

int*sum(intdata)

staticintinit=0;

init+=data;

return&init;

}

main()

(

inti,*p;

for(i=l;i<=4;i++)sum(i);

p=sum(O);

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

}

程序运行后的输出结果是

A)10

B)0

C)1

D)15

参考答案:A

35.有如下程序

ftinclude<stdio.h>

#defineD(x)4*x+l

main()

inti=2,j=4;

printf("%d\n”,D(i+j));

}

程序运行后的输出结果是

A)13

B)25

C)9

D)12

参考答案:A

36.有如下程序

ftinclude<stdio.h>

structS

(

intx,y;

};

main()

(

structSdata[2]={4,3,1,9};

inti;

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

printf("%d,%d;”,data[i].x,data[i].y>>1);

printf('\n");

程序运行后的输出结果是

A)4,1;1,4;

B)4,1;2,4;

C)4,3;1,9;

D)4,3⑵3;

参考答案:A

37.有如下程序

ftinclude<stdio.h>

ftinclude<string.h>

structS

(

charname[10];

);

voidchange(structS*data,intvalue)

(

strcpy(data->name,”****");

value=13;

main()

structSinput;

intnum=4;

strcpy(input,name,"THIS");

change(&input,num);

printf("%s,%d\n”,input,name,num);

}

程序运行后的输出结果是

A)****,4

B)****,13

C)THIS,4

D)THIS,13

参考答案:A

38.有如下程序

ftinclude<stdio.h>

ftinclude<string.h>

structS

(

charname[10];

};

main()

structSsi,s2;

strcpy(,“12345");

strcpy(,"ABC");

si=s2;

printf("%s\n”,);

}

程序运行后的输出结果是

A)ABC

B)ABC45

C)12345

D)ABC12

参考答案:A

39.有如下程序

ftinclude<stdio.h>

main()

(

inti,array[5]={3,5,10,4};

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

printf("%d,”,array[i]&3);

printf('\n");

}

程序运行后的输出结果是

A)3,1,2,0,0,

B)3,5,10,4,0,

C)3,3,3,3,0,

D)3,2,2,2,0,

参考答案:A

40.有如下程序

ftinclude<stdio.h>

main()

(

inti;

FILE*fp;

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

(

fp=fopen("output.txt","w");

fputc('A'+i,fp);

fclose(fp);

}

}

程序运行后,在当前目录下会生成一个。utput.txt文件,其内容是

A)E

B)EOF

C)ABCDE

D)A

参考答案:A

2020年全国计算机二级等级考试全真模拟试卷

及答案(第二套)

1.下列叙述中正确的是

A)一个算法的空间复杂度大,则其时间复杂度也必定大

B)一个算法的空间复杂度大,则其时间复杂度必定小

C)一个算法的时间复杂度大,则其空间复杂度必定小

D)算法的时间复杂度与空间复杂度没有直接关系

参考答案:D

2.下列叙述中正确的是

A)循环队列中的元素个数随队头指针与队尾指针的变化而动态变

B)循环队列中的元素个数随队头指针的变化而动态变化

0循环队列中的元素个数随队尾指针的变化而动态变化

D)以上说法都不对

参考答案:A

3.棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中

的总结点数为

A)219

B)229

C)230

D)231

参考答案:B

4.对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数

A)9

B)10

C)45

D)90

参考答案:C

5.构成计算机软件的是

A)源代码

B)程序和数据

0程序和文档

D)程序、数据及相关文档

参考答案:D

6.软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属

于开发阶段任务的是

A)测试

B)设计

C)可行性研究

D)实现

参考答案:C

7.下面不能作为结构化方法软件需求分析工具的是

A)系统结构图

B)数据字典(DD)

0数据流程图(DFD图)

D)判定表

参考答案:A

8.在关系模型中,每一个二维表称为一个

A)关系

B)属性

0元组

D)主码(键)

参考答案:A

9.若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A

和C的联系是

A)一对一

B)一对多

0多对一

D)多对多

参考答案:B

有三个关系R,S和T如下:。

RST

ABCABC

a12a12

b21b21

c31c31

d32

10则由关系R和S得到关系T的操作是“

A)选择

B)投影

0交

D)并

参考答案:D

11.以下叙述中正确的是

A)C语言程序所调用的函数必须放在main函数的前面

B)C语言程序总是从最前面的函数开始执行

C)C语言程序中main函数必须放在程序的开始位置

D)C语言程序总是从main函数开始执行

参考答案:D

12.C语言程序中,运算对象必须是整型数的运算符是

A)&&

B)/

0%

D)*

参考答案:C

13.有以下程序

#include<stdio.h>

main()

(

intsum,pad,pAd;

sum=pad=5;

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

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

}

程序的输出结果是

A)5

B)6

C)7

D)8

参考答案:B

14,有以下程序

#include<stdio.h>

main()

(

inta=3;

a+=a-=a*a;

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

}

程序的输出结果是

A)0

B)9

C)3

D)-12

参考答案:D

15.sizeof(double)是

A)一个整型表达式

B)一个双精度型表达式

0一个不合法的表达式

D)一种函数调用

参考答案:A

16.有以下程序

#include<stdio.h>

main()

(

inta=2,c=5;

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

}

程序的输出结果是

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);

}

程序的输出结果是

A)输出格式不合法,输出出错信息

B)65,89

C)65,90

D)A,丫

参考答案:B

19.若变量已正确定义

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

则以上for循环

A)执行3次

B)执行4次

0执行无限次

D)执行次数不定

参考答案:B

20.对于while(!E)s;,若要执行循环体s,则E的取值应为:

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");

}

程序的输出结果是

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);

}

程序的输出结果是

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);

)

程序的输出结果是

A)00

B)43

034

D)71

参考答案:D

24.有以下程序

#include<stdio.h>

voidfun(int*pzint*q)

{intt;

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

*q=*p;

)

main()

{inta=0,b=9;

fun(&a,&b);

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

)

程序的输出结果是

A)90

B)00

C)99

D)09

参考答案:C

25.有以下程序

#include<stdio.h>

main()

{inta[]={2,4,6,8,l。},x,*p,y=l;

P=&a[l];

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

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

}

程序的输出结果是

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");

)

程序的输出结果是

A)150

B)357

C)147

D)369

参考答案:B

27,设有某函数的说明为

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

则下列叙述中,正确的是

A)形参a对应的实参只能是数组名

B)说明中的a[10]写成a□或*a效果完全一样

C)func的函数体中不能对a进行移动指针(如a++)的操作

D)只有指向10个整数内存单元的指针,才能作为实参传给a

参考答案:B

28.有以下程序

#include<stdio.h>

charfun(char*c)

(

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

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

return*c;

}

main()

(

chars[81]/*p=s;

gets(s);

while(*p)

(

*p=fun(p);

putchar(*p);

P++;

)

printf("\n");

}

若运行时从键盘上输入OPENTHEDOOR〈回车〉,程序的输出结果

A)OPENTHEDOOR

B)OPENtHEdOOR

C)openthedoor

D)OpenTheDoor

参考答案:C

29.设有定义语句:

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

则以下叙述正确的是

A)aa⑼存放了字符串"abed"的首地址

B)aa数组的两个元素只能存放含有4个字符的一维数组的首地址

0aa数组的值分别是字符串"abed"和"ABCD"

D)aa是指针变量,它指向含有两个元素的字符型数组

参考答案:A

30,有以下程序

#include<stdio.h>

intfun(char*s)

{char*p=s;

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

return(p-s);

}

main()

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

程序的输出结果是

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));}

程序的输出结果是

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);

}

程序的输出结果是

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);

)

程序的输出结果是

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);

}

程序的输出结果是

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);

)

程序的输出结果是

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);

)

程序的输出结果是

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",);

}

程序要求输出结构体中成员a的数据,以下不能填入横线处的内容是

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);

}

程序的输出结果是

A)21.10

B)11.10

C)12.10

D)1.10

参考答案:D

若已建立以下畦表结构,指针p、S分别指向如图所示结点

datanextdatanextdatanext

->E--------------->F\0G

Lst

QQ则不能将S所指结点插入到解表末尾的语句组是

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

B)s->next='\O';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语言函数feof(fp)的函数返回值是

A)EOF

B)非0

C)-1

D)0

参考答案:D

2020年全国计算机二级等级考试全真模拟试卷

及答案(第三套)

1.下列叙述中正确的是

A)算法的效率只与问题的规模有关,而与数据的存储结构无关

B)算法的时间复杂度是指执行算法所需要的计算工作量

C)数据的逻辑结构与存储结构是一一对应的

D)算法的时间复杂度与空间复杂度一定相关

参考答案:B

2.下列叙述中正确的是

A)线性表链式存储结构的存储空间一般要少于顺序存储结构

B)线性表链式存储结构与顺序存储结构的存储空间都是连续的

0线性表链式存储结构的存储空间可以是连续的,也可以是不连

续的

D)以上说法均错误

参考答案:C

3.某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深

度为(根结点在第1层)

A)3

B)6

C)8

D)12

参考答案:D

4.对长度为n的线性表作快速排序,在最坏情况下,比较次数为

A)n

B)n-1

C)n(n-1)

D)n(n-l)/2

参考答案:D

5.结构化程序设计中,下面对goto语句使用描述正确的是

A)禁止使用goto语句

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

C)应避免滥用goto语句

D)以上说法均错误

参考答案:C

6.下面不属于软件测试实施步骤的是

A)集成测试

B)回归测试

0确认测试

D)单元测试

参考答案:B

7.下面不属于软件需求分析阶段主要工作的是

A)需求变更申请

B)需求分析

C)需求评审

D)需求获取

参考答案:A

8.一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个

或者多个共有的

A)记录

B)行

0属性

D)元组

参考答案:C

有三个关系R,S和T如下:”

RST

匚回回

回ttj£Jtnttltn

02_□

0则由关系R和S得到关系T的操作是■,

A)选择

B)差

0交

D)并

参考答案:B

10.有表示公司和职员及工作的三张表,职员可在多家公司兼职。其

中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),

职员S(职员号,姓名,性别,年龄,学历),工作W(公司号,职员

号,工资),则表W的键(码)为

A)公司号,职员号

B)职员号,工资

0职员号

D)公司号,职员号,工资

参考答案:A

11.以下叙述中正确的是

A)每个后缀为.C的C语言源程序都可以单独进行编译

B)每个后缀为.C的C语言源程序都应该包含一个main函数

0在C语言程序中,main函数必须放在其他函数的最前面

D)在C语言程序中,只有main函数才可单独进行编译

参考答案:A

12.C语言中的标识符分为关键字、预定义标识符和用户标识符,以

下叙述正确的是

A)关键字可用作用户标识符,但失去原有含义

B)预定义标识符可用作用户标识符,但失去原有含义

0在标识符中大写字母和小写字母被认为是相同的字符

D)用户标识符可以由字母和数字任意顺序组成

参考答案:B

13.以下选项中合法的常量是

A)999

B)2.7e

C)OXab

D)123E0.2

参考答案:C

14.C语言主要是借助以下哪种手段来实现程序模块化

A)定义函数

B)定义常量和外部变量

0使用丰富的数据类型

D)使用三种基本结构语句

参考答案:A

15.以下叙述中错误的是

A)数值型常量有正值和负值的区分

B)常量可以用一个符号名来代表

0定义符号常量必须用类型名来设定常量的类型

D)常量是在程序运行过程中值不能被改变的量

参考答案:C

16.若有定义和语句:

inta,b;

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

以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是

A)3,5,4

B)3,5

03,5,

D)3,5

参考答案:D

17.C语言中char类型数据占字节数为

A)1

B)2

C)3

D)4

参考答案:A

18.下列关系表达式中,结果为"假"的是

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);

}

程序运行后输出结果是

A)0,2

B)0,3

01,3

D)1,2

参考答案:D

21.设有定义:

intx=0,*p;

紧接着的赋值语句正确的是

A)*p=NULL;

B)p=NULL;

C)p=x;

D)*p=x;

参考答案:B

22.下列叙述中正确的是

A)空字符串不占用内存,其内存空间大小是0

B)两个连续的单引号(“)是合法的字符常量

C)可以对字符串进行关系运算

D)两个连续的双引号("")是合法的字符串常量

参考答案:D

23.有以下程序

#include<stdio.h>

main()

{chara='H';

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

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

}

程序运行后的输出结果是

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;}

程序运行后输出结果是

A)ABE

B)BCD

C)BDI

D)BCF

参考答案:C

25.设有定义:

intx[2][3];

则以下关于二维数组x的叙述错误的是

A)元素x[0]可看作是由3个整型元素组成的一维数组

B)数组x可以看作是由x⑼和x[l]两个元素组成的一维数组

0可以用x[0]=0;的形式为数组所有元素赋初值0

D)x[0]和x⑴是数组名,分别代表一个地址常量

参考答案:C

26.设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]);

}

程序运行后的输出结果是

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][j];

)

}

main()

{intx[N][N]={1,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");

}

程序运行后的输出结果是

A)3,5,7

B)1,3,5,

02,4,8,

D)3,6,9,

参考答案:D

29.有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数)

#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));

)

程序运行后的输出结果是

A)al2xyz

B)bc2yz

C)a2yz

D)12yz

参考答案:C

30.以下选项中,没有编译错误的是

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

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);

}

程序运行后的输出结果是

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][0]=a[j][0];

aU][O]=t;

}

puts(a[l]);

}

程序运行后的输出结果是

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);

}

程序运行后的输出结果是

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]={40,50),*q=a;

fun(a,b,q);

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

}

程序运行后的输出结果是

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()

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

f(c);

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

c[0].score[l]);

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

c[l].score[l]);

}

程序运行后输出结果是

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)只要类型相同,结构体变量之间可以整体赋值

B)函数的返回值类型不能是结构体类型,只能是简单类型

0可以通过指针变量来访问结构体变量的任何成员

D)函数可以返回指向结构体变量的指针

参考答案: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("%d;",a[i]);

}

程序运行后输出结果是

A)1,234,5,6,

B)6,5,432,1,

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

D)123,3,2,1,

参考答案:B

2020年全国计算机二级等级考试全真模拟试卷

及答案(第四套)

L下列叙述中正确的是

A)有且只有一个根结点的数据结构一定是线性结构

B)每一个结点最多有一个前件也最多有一个后件的数据结构一定

是线性结构

0有且只有一个根结点的数据结构一定是非线性结构

D)有且只有一个根结点的数据结构可能是线性结构,也可能是非线

性结构

参考答案:D

2.下列叙述中错误的是

A)在双向链表中,可以从任何一个结点开始直接遍历到所有结点

B)在循环链表中,可以从任何一个结点开始直接遍历到所有结点

0在线性单链表中,可以从任何一个结点开始直接遍历到所有结点

D)在二叉链表中,可以从根结点开始遍历到所有结点

参考答案:C

3.某二叉树共有13个结点,其中有4个度为1的结点,则叶子结点数为

A)5

B)4

C)3

D)2

参考答案:A0

4.设栈的顺序存储空间为S(l:50),初始状态为top=0。现经过一系列

入栈与退栈运算后,top=20,则当前栈中的元素个数为

A)30

B)29

C)20

D)19

参考答案:C

5.设栈的顺序存储空间为S(l:50),初始状态为top=0。现经过一系列

入栈与退栈运算后,top=20,则当前栈中的元素个数为

A)30

B)29

C)20

D)19

参考答案:C

6.程序测试的目的是

A)执行测试用例

B)发现并改正程序中的错误

0发现程序中的错误

D)诊断和改正程序中的错误

参考答案:C

7.下面属于系统软件的是

A)财务管理系统

B)数据库管理系统

0编辑软件Word

D)杀毒软件

参考答案:B

8.在关系A(S,SN,D)和B(D,CN,NM)中,A的主关键字是S,B的主关

键字是D,则D是A的

A)外键(码)

B)候选键(码)

0主键(码)

D)元组

参考答案:A

9.有两个关系R,S如下,由关系R和S通过运算得到关系T,则所使用

的操作为

RST

nBCD

回Mb1nl

ttjEJsEJ

n2xlI

A)并

B)自然连接

0笛卡尔积

D)差

参考答案:D

10.在数据库管理系统提供的数据语言中,负责数据模式定义的是

A)数据定义语言

B)数据管理语言

0数据操纵语言

D)数据控制语言

参考答案:A

11.流程图是描述算法的很好的工具,一般的流程图中由几种基本图

形组成。其中输入输出框的图形是

A)平行四边形

B)长方形

C)椭圆型

D)菱形

参考答案:A

12.设有以下代码

do{

while(条件表达式1)

循环体A;

}while(条件表达式2);

while(条件表达式1)

do{

循环体B;

}while(条件表达式2);

}

其中,循环体A与循环体B相同,以下叙述正确的是

A)循环体A与循环体B的执行次数相同

B)循环体A比循环体B的执行次数多一次

0循环体A比循环体B的执行次数少一次

D)循环体A与循环体B的执行次数不确定

参考答案:A

13.C语言的常量包括数值型常量和符号常量,以下叙述正确的是

A)数值型常量1.0和1所占内存的大小不同

B)不能用sizeof求数值型常量所占内存的大小

0不能用sizeof求符号常量所占内存的大小

D)可以用&A取得符号常量A所占内存的首地址

参考答案:A

14.有以下程序

ftinclude<stdio.h>

main()

{inta;

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

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

)

程序的运行结果是

A)-4

B)-3

C)-5

D)结果不确定

参考答案: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.有以下程序

#include<stdio.h>

main()

{intk=33;

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

}

程序的运行结果是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论