版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020年全国计算机二级等级考试全真模拟试卷
及答案(共四套)
2020年全国计算机二级等级考试全真模拟试卷
及答案(第一套)
1.下列叙述中正确的是
A)栈与队列都只能顺序存储
B)循环队列是队列的顺序存储结构
0循环链表是循环队列的链式存储结构
D)栈是顺序存储结构而队列是链式存储结构
参考答案:B
2.设某二叉树的前序序列为ABC,中序序列为CBA,则该二叉树的后
序序列为
A)BCA
B)CBA
C)ABC
D)CAB
参考答案:B
3.下列排序方法中,最坏情况下时间复杂度最小的是
A)冒泡排序
B)快速排序
0堆排序
D)直接插入排序
参考答案:C
4.为了对有序表进行对分查找,则要求有序表
A)只能顺序存储
B)只能链式存储
0可以顺序存储也可以链式存储
D)任何存储方式
参考答案:A
5.软件设计中模块划分应遵循的准则是
A)低耦合低内聚
B)高耦合高内聚
0低耦合高内聚
D)内聚与耦合无关
参考答案:C
6.下面属于整数类的实例是
A)0x518
B)0.518
C)“-518〃
D)518E-2
参考答案:A
7.下面属于白盒测试方法的是
A)边界值分析法
B)基本路径测试
0等价类划分法
D)错误推测法
参考答案:B
8.设有一个商店的数据库,记录客户及其购物情况,由三个关系组
成:商品(商品号,商品名,单价,商品类别,供应商),客户(客
户号,姓名,地址,电邮,性别,身份证号),购买(客户号,商品
号,购买数量),则关系购买的键为
A)客户号
B)商品号
0客户号,商品号
D)客户号,商品号,购买数量
参考答案:C
9.有两个关系R,S如下,由关系R和S通过运算得到关系T,则所使用
的操作为
RST
回nBCD
回a0kl
口n
n
A)并
B)自然连接
0差
D)交
参考答案:D
10.在数据库管理系统提供的数据语言中,负责数据的查询、增加、
删除和修改等操作的是
A)数据定义语言
B)数据管理语言
0数据操纵语言
D)数据控制语言
参考答案:C
11.流程图是描述算法的很好的工具,一般的流程图中由几种基本图
形组成。其中判断框的图形是
A)菱形
B)长方形
0平行四边形
D)椭圆型
参考答案:A
12.以下叙述错误的是
A)在进行模块化程序设计的时候,应首先完成每个模块的编写调试,
再集中考虑主程序中的算法
B)同一程序各模块可由一组人员同时进行编写调试,可提高编写程
序的效率
0模块化的程序设计是采用自顶向下、逐步细化的原则
D)程序的每个模块都可通过三种基本结构实现
参考答案:A
13.关于C语言的变量名,以下叙述正确的是
A)变量名不可以与关键字同名
B)变量名不可以与预定义标识符同名
0变量名必须以字母开头
D)变量名是没有长度限制的
参考答案:A
14.有以下程序
ftinclude<stdio.h>
main()
{inta;
a=(int)1.99*3;
printf("%d\n",a);
)
程序的运行结果是
A)3
B)5
C)6
D)结果不确定
参考答案:A
15有以下程序
ftinclude<stdio.h>
main()
{intk=-17;
printf("%d,%o,%x\n”,k,1-k,1-k);
}
程序的运行结果是
A)-17,22,12
B)-17,12,22
C)-17,-22,-12
D)17,22,12
参考答案:A
16.若有定义:inta;floatb;doublec;,程序运行时输入:
a=l,b=2,c=3〈回车》,能把值1输入给变量a、值2输入给变量b、值3
输入给变量c的输入语句是
A)scanf(,,a=%d,b=%f,c=%lf,/,&a,&b,&c);
B)scanf”,&a,&b,&c);
C)scanf(,,a=%d,b=%lf,c=%lf/,,&a,&b,&c);
D)scanf(z/a=%d,b=%f,c=%f",&a,&b,&c);
参考答案: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);
}
程序的运行结果是
A)1,0,1,0
B)1,1,0,1
C)1,0,0,1
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++);
printf('\n");
执行时输入:123〈回车〉,则输出结果是
A)1,2,3,2,3,3,
B)1,2,3,
02,3,4,3,4,4,
D)1,1,1,2,2,3
参考答案:A
19.有以下程序
ftinclude<stdio.h>
main()
{inta=l,b=l;
while(a一)
b—;
printf("%d,%d\n”,a,b);
}
程序的运行结果是
A)-1,0
B)0,0
0-1,-1
D)1,1
参考答案:A
20.有以下程序
ftinclude<stdio.h>
main()
{inta=l,b=0;
for(;a<5;a++)
{if(a%2==0)break;
b+=a;
}
printf("%d\n',b);
}
程序的运行结果是
A)1
B)10
C)0
D)4
参考答案:A
21.以下能正确输出字符a的语句是
A)printf"a");
B)printf("%s",'a');
C)printf(〃%c","a");
D)printf("%d",'a');
参考答案:A
22.有以下程序
ftinclude<stdio.h>
main()
{charc;
do{
c=getchar();
putchar(c);
}while(c!=';
printf("\n");
}
执行时如输入:abcdefg##〈回车》,则输出结果是
A)abcdefg#
B)abcdefg
C)abcdefg##
D)##
参考答案:A
23.以下关于C语言函数参数传递方式的叙述正确的是
A)数据只能从实参单向传递给形参
B)数据可以在实参和形参之间双向传递
0数据只能从形参单向传递给实参
D)C语言的函数参数既可以从实参单向传递给形参,也可以在实参
和形参之间双向传递,可视情况选择使用
参考答案:A
24以下关于指针的叙述正确是
A)所有类型的指针变量所占内存的大小是一样的
B)指针变量所占内存的大小与其类型有关,char型指针变量只占1
个字节,double型指针变量占8个字节
0指针变量可直接指向任何类型的变量,而不会出现编译或运行错
误
D)指针变量既可以直接指向结构体,也可直接指向结构体中某个成
员,而不会出现编译或运行错误
参考答案:A
25.有以下程序
ftinclude<stdio.h>
intk=5;
voidf(int*s)
{s=&k;}
main()
{intm=3,*p=&m;
f(p);
printf("%d,%d\n”,m,*p);
程序的运行结果是
A)3,3
B)5,5
C)3,5
D)5,3
参考答案:A
26.有以下程序
ftinclude<stdio.h>
int*f(int*s,int*t)
{if(*s<*t)
*s=*t;
returns;
}
main()
{inti=3,j=5,*p=&i,*q=&j,*r;
r=f(p,q);
printf("%d,%d,%d,%d,%d\n”,i,j,*p,*q,*r);
}
程序的运行结果是
A)5,5,5,5,5
B)3,5,5,5,5
C)5,3,3,3,5
D)3,5,3,5,5
参考答案:A
27.有以下程序
ftinclude<stdio.h>
ftdefineN4
voidfun(inta[][N])
{intb[N][N],i,j;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
b[i][j]=a[N-l-j][i];
for(i=0;i<N;i++)
for(j=0;j<N;j++)
a[i][j]=b[i][j];
}
main()
{intx[N][N]={{1,2,3,4},
{5,6,7,8),
{9,10,11,12),
{13,14,15,16}
},i;
fun(x);fun(x);
for(i=0;i<N;i++)
printf("%d,",x[i][i]);
printf('\n");
程序的运行结果是
A)16,11,6,1,
B)1,6,11,16,
C)4,7,10,13,
D)13,10,7,4,
参考答案:A
28.有以下程序
ftinclude<stdio.h>
voidfun(inta[],intn)
{inti,j=0,k=n/2,b[10];
for(i=n/2-l;i>=0;i一)
{b[i]=a[j];
b[k]=a[j+l];
j+=2;k++;
}
for(i=0;i<n;i++)
a[i]=b[i];
}
main()
{intc[10]={10,9,8,7,6,5,4,3,2,1},i
fun(c,10);
for(i=0;i<10;i++)
printf(〃%d,",c[i]);
printf("\n");
}
程序的运行结果是
A)2,4,6,8,10,9,7,5,3,1,
B)10,8,6,4,2,1,3,5,7,9,
C)1,2,3,4,5,6,7,8,9,10,
D)1,3,5,7,9,10,8,6,4,2,
参考答案:A
29.有以下程序
ftinclude<stdio.h>
ftinclude<string.h>
main()
{inti;
chara[]=,,Howareyou!”;
for(i=0;a[i];i++)
if(a[i]=='')
{strcpy(a,&a[i+l]);
i=0;
printf("%s\n",a);
程序的运行结果是
A)you!
B)Howareyou!
C)areyou!
D)areyou!
参考答案:A
30.有以下程序(其中的strstr()函数头部格式为:char
*strstr(char*pl,char*p2)确定p2字符串是否在pl中出现,并返
回p2第一次出现的字符串首地址)
ftinclude<stdio.h>
ftinclude<string.h>
char*a="you";
char*b="WelcomeyoutoBeijing!”;
main()
{char*p;
p=strstr(b,a)+strlen(a)+1;
printf("%s\n",p);
程序的运行结果是
A)toBeijing!
B)youtoBeijing!
C)WelcomeyoutoBeijing!
D)Beijing!
参考答案:A
31有以下程序
#include<stdio.h>
main()
{charb[4][10];inti;
for(i=0;i<4;i++)
scanf(绘s”,b[i]);
,,,,
printf(%s%s%s%s\nJb[0],b[l],b[2],b[3]);
执行时若输入:Figflowerisred.〈回车》则输出结果是
A)Figflowerisred.
B)Figflowerisred.
C)Figflowerisred.
D)Figflowerisred.
参考答案:A
32.有以下程序
ftinclude<stdio.h>
ftinclude<string.h>
main()
{charw[20],a[5][10]={"abcdef","ghijkl","mnopq","rstuv”,
〃〃]
wxyz./;
inti;
for(i=0;i<5;i++)
w[i]=a[i][strlen(a[i])-1];
w[5]='\0';
puts(w);
}
程序的运行结果是
A)flqv.
B)agmrw
C)ekpuy
D)flqvz
参考答案:A
33.有以下程序
ftinclude<stdio.h>
voidf(intx[],intn)
{if(n>1)
{f(&x[l],n-1);
printf("%d,”,x[0]);
}
else
printf("%d,”,x[0]);
}
main()
{intz[6]={1,2,3,4,5,6};
f(z,6);printf('\n");
}
程序的运行结果是
A)6,5,4,3,2,1,
B)1,1
01,1,1,1,1,1,
D)1,2,3,4,5,6,
参考答案:A
34.有以下程序
ftinclude<stdio.h>
inta=2;
intf()
{staticintn;
intm;
m=n=O;
n++;a++;m++;
returnn+m+a;
}
main()
{intk;
for(k=0;k<3;k++)
printf("%d,”,f());
printf("\n");
}
程序的运行结果是
A)5,6,7,
B)5,7,9,
05,8,11,
D)5,5,5,
参考答案:A
35.有以下程序
ftinclude<stdio.h>
#defineS(x)x*x
main()
{intk=5,j=2;
printf("%d,%d\n”,S(k+j+2),S(j+k+2));
程序的运行结果是
A)21,18
B)81,81
C)21,21
D)18,18
参考答案:A
36.有以下程序
ftinclude<stdio.h>
typedefstructstu{
charname[10];
chargender;
intscore;
}STU;
voidf(STU*a,STU*b)
{*b=*a;
printf("%s,%c,%d,”,b->name,b->gender,b->score);
main()
{STUa={"Zhao〃,'m',290},b={"Qian",'f',350};
f(&a,&b);
printf("%s,%c,%d\n”,,b.gender,b.score);
程序的运行结果是
A)Zhao,m,290,Zhao,m,290
B)Zhao,m,290,Qian,f,350
C)Qian,f,350,Qian,f,350
D)Qian,f,350,Zhao,m,290
参考答案:A
37.有以下程序
ftinclude<stdio.h>
ftinclude<string.h>
typedefstructstu{
charname[10];
chargender;
intscore;
}STU;
voidf(char*name,chargender,intscore)
{strcpy(name,"Qian");
gender='f';
score=350;
main()
{STUa={〃Zhao〃,'m',290},b;
b=a;
f(,b.gender,b.score);
printf("%s,%c,%d,”,,a.gender,a.score);
printf("%s,%c,%d\n”,,b.gender,b.score);
}
程序的运行结果是
A)Zhao,m,290,Qian,m,290
B)Zhao,m,290,Zhao,m,290
C)Zhao,m,290,Qian,m,350
D)Zhao,m,290,Qian,f,350
参考答案:A
38.若有定义
typedefintT[10];
T*a[20];
则与上述定义完全等价的说明语句是
A)int*a[20][10];
B)int*a[20];
C)int*a[10];
D)int*a[10][20];
参考答案:A
39.有以下程序
ftinclude<stdio.h>
main()
{intc,d;
c=13&5;d=10&&5:
printf("%d,%d\n”,c,d);
}
程序的运行结果是
A)5,1
B)1,1
C)18,1
D)13,1
参考答案:A
40.有以下程序
ftinclude<stdio.h>
main()
{FILE*fp;
inti,a[6]={l,2,3,4,5,6},k;
fp=fopen(,zdata.dat,z,"w+b");
fwrite(&a[0],sizeof(int),1,fp);
for(i=l;i<6;i++)
{fseek(fp,0L,0);
fread(&k,sizeof(int),1,fp);
fseek(fp,0L,0);
a[i]+=k;
fwrite(&a[i],sizeof(int),1,fp);
}
rewind(fp);
fread(&k,sizeof(int),1,fp);
fclose(fp);
printf("%d\n",k);
)
程序的运行结果是
A)21
B)6
C)123456
D)11
参考答案: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)程序和数据
C)程序和文档
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
a12回a12
b21□b21
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,Y
参考答案:B
19.若变量已正确定义
for(x=O,y=O;(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
C)34
D)71
参考答案:D
24,有以下程序
#include<stdio.h>
voidfur)(int*p,int*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,10},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
0openthedoor
D)OpenTheDoor
参考答案:C
29.设有定义语句:
char*aa[2]={"abcd","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!=O)p++;
return(p-s);
)
main()
{printf("%d\n"zfun("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
39则不能将s所指结点插入到旗表末尾的语句组是
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语言函数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语句程序效率高
0应避免滥用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
匚□
回tnEJtlJ□LD
EJLD
q则由关系R和S得到关系T的操作是一
A)选择
B)差
C)交
D)并
参考答案:B
10.有表示公司和职员及工作的三张表,职员可在多家公司兼职。其
中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),
职员S(职员号,姓名,性别,年龄,学历),工作W(公司号,职员
号,工资),则表W的键(码)为
A)公司号,职员号
B)职员号,工资
0职员号
D)公司号,职员号,工资
参考答案:A
11.以下叙述中正确的是
A)每个后缀为.C的C语言源程序都可以单独进行编译
B)每个后缀为.C的C语言源程序都应该包含一个main函数
C)在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\rT,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)两个连续的单引号(“)是合法的字符常量
0可以对字符串进行关系运算
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⑼可看作是由3个整型元素组成的一维数组
B)数组x可以看作是由x⑼和x四两个元素组成的一维数组
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]U];
}
}
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("%d",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];
aQ][0]=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",azb);
}
程序运行后的输出结果是
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}z*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,%d,",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],
c[l].scorefl]);
}
程序运行后输出结果是
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(a[i]);
}
程序运行后输出结果是
A)1,2,3,456,
B)6,5,4,3,2,1,
04,5,6,1,2,3,
D)1,2,3,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.下面属于系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西河池市天峨县大数据发展局公开招聘就业见习人员3人参考考试试题及答案解析
- 王坪施工方案试卷教案
- 2025年甘肃省新华书店招聘考试备考资料包(公共基础知识)参考考试试题及答案解析
- 2025浙江长兴空域产业发展有限公司招聘职业经理人1人备考考试试题及答案解析
- 2025河北廊坊大厂回族自治县殡仪馆招聘2人模拟笔试试题及答案解析
- 2025中国农业科学院饲料研究所家禽营养与饲料创新团队科研助理招聘1人(北京)参考考试试题及答案解析
- 商务谈判实战技巧培训课件
- 2025浙江杭州市西湖区西溪街道办事处招聘5人备考笔试试题及答案解析
- 2025下半年四川锅炉高级技工学校考核招聘中职教育专业技术人才16人参考考试题库及答案解析
- 物流配送合同条款风险防范须知
- 管理金字塔游戏
- 培训机构课程顾问述职报告
- 桥梁拆除机械破碎施工方案
- 2025年中药资源考试试题及答案
- 2025年青海省西宁市城区中考英语试卷
- 2025秋期版国开电大专科《个人与团队管理》机考真题(第二套)
- 卫生器材与装备操作使用试题和答案
- 2026中水淮河规划设计研究有限公司新员工招聘笔试考试参考题库及答案解析
- DBJ50-T-516-2025 危险性较大的分部分项工程安全管理标准
- 2025-2026学年湖南省永州市高三上学期一模化学试题及答案
- 洗鞋知识技能培训课件
评论
0/150
提交评论