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

下载本文档

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

文档简介

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

及答案(共四套)

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

及答案(一)

1.下列叙述中正确的是

A)结点中具有两个指针域的链表一定是二叉链表

B)结点中具有两个指针域的链表可以是线性结构,也可以是非线性

结构

C)二叉树只能采用链式存储结构

D)循环链表是非线性结构

参考答案:B

(2020.9)2.某二叉树的前序序列为ABCD,中序序列为DCBA,则后序序

列为

A)BADC

B)DCBA

C)CDAB

D)ABCD

参考答案:B

(2020.9)3.下面不能作为软件设计工具的是

A)PAD图

B)程序流程图

C)数据流程图(DFD图)

D)总体结构图

参考答案:C

(2020.9)4.逻辑模型是面向数据库系统的模型,下面属于逻辑模型的

A)关系模型

B)谓词模型

C)物理模型

D)实体-联系模型

参考答案:A

(2020.9)5.运动会中一个运动项目可以有多名运动员参加,一个运动

员可以参加多个项目。则实体项目和运动员之间的联系是

A)多对多

B)一对多

C)多对一

D)一对一

参考答案:A

(2020.9)6.堆排序最坏情况下的时间复杂度为

0(户)

A)

O(wlogn)

B):

o(X"D)

C)2

D)℃°g2«)

参考答案:B

(2020.9)7.某二叉树中有15个度为1的结点,16个度为2的结点,贝1J该

二叉树中总的结点数为

A)32

B)46

C)48

D)49

参考答案:C

2020.9)8.下面对软件特点描述错误的是

A)软件没有明显的制作过程

B)软件是一种逻辑实体,不是物理实体,具有抽象性

C)软件的开发、运行对计算机系统具有依赖性

D)软件在使用中存在磨损、老化问题

参考答案:D

(2020.9)

某系统结构图如下图所示

该系统结构图中最大屈人是

A)0

B)1

C)2

D)3

参考答案:C

(2020.9)10.设有表示公司和员工及雇佣的三张表,员工可在多家公司

兼职,其中公司C(公司号,公司名,地址,注册资本,法人代表,

员工数),员工S(员工号,姓名,性别,年龄,学历),雇佣E(公

司号,员工号,工资,工作起始时间)。其中表C的键为公司号,表

S的键为员工号,则表E的键(码)为

A)公司号,员工号

B)员工号,工资

C)员工号

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

参考答案:A

(2020.9)11.算法应当具有的特性不包括

A)可行性

B)有穷性

C)确定性

D)美观性

参考答案:D

(2020.9)12.若想给已定义为int型的变量a、b、c、d赋整数L以下选

项中错误的语句是

A)d=c,c=b,b=a,a=l;

B)d=c=b=a=l;

C)d=(b=c=(a=l));

D)d=l,c=d,b=c,a=b;

参考答案:A

(2020.9)13.以下选项中,合法的C语言常量是

A)21.84

B)'CPP'

C)〃\1.0

D)2MB

参考答案:A

(2020.914.下面叙述正确的是

A)C语言程序的语句经过编译和链接转换成二进制机器指令后才

能执行

B)任何算法需要包含三种基本结构中的两种以上

C)复杂算法是不能用三种基本结构来表达的

D)只要是简单算法,它的操作步骤都不会超过20步

参考答案:A

(2020.9)15.若已有定义语句:inta,b,c;,且变量已正确赋初值,

则以下选项中正确的赋值表达式是

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

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

C)a=(b==c)='A';

D)a+b=c+1;

参考答案:A

(2020.9)16.以下表达式的值与x无关、其值恒为真的是

A)0<x<5

B)x>10&&x<5

C)x>10&&x<5

D)x<10&&x>5

参考答案:A

(2020.9)17.以下非法的字符常量是

A)'\\n,

B),\]0],

C)'\x21'

D)'\0,

参考答案:A

(2020.9)18.若有定义:inta=0,b=0,c=0,d=0;,以下关于C语言表达

式:(++a||++b)?++c:++d执行顺序的叙述正确的是

A)先执行++a,表达式++a的值为1;再执行++b,表达式++b的值为1,

由此可确定(++a||++b)值为1,因此执行++c

B)先执行++a,表达式++a的值为1,由此可确定(++a||++b)值为1,

因此执行++c

C)先执行++b,表达式++b的值为1;再执行++a,表达式++a的值为1,

由此可确定(++a||++b)值为1,因此执行++c

D)先执行++b,表达式++b的值为1,由此可确定(++a||++b)值为1,

因此执行++c

参考答案:B

(2020.9)19.有如下程序

ftinclude<stdio.h>

main()

(

inti,data;

scanf("%d”,&data);

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

if(i>data)break;

printf("%d,”,i);

程序运行时,从键盘输入:3〈回车》后,程序输出结果为

A)3,4,5,

B)1,2,3,

C)2,3,4,

D)0,1,2,3

参考答案:D

20.有以下程序

ftinclude<stdio.h>

main()

inti=4;

for(printf("%d”,i);i<2;i++)printf('%d”,i);

printf('\n");

}

程序运行后的输出结果是

A)12

B)4

C)1

D)0

参考答案:A

21.有以下程序

ftinclude<stdio.h>

main()

if('\0'==0)putchar(JT);

if('O'==0)putchar('2');

if('a'>'b')putchar('3');

}

程序运行后的输出结果是

A)1

B)123

C)23

D)3

参考答案:A

22.有如下程序段

intk;

for(k=2;k==0;)printf(〃%d”,k-);

则for循环体执行的次数是

A)0次

B)1次

C)2次

D)无限次

参考答案:A

23.有以下程序

ftinclude<stdio.h>

intk=5;

voidf(int*s)

{s=&k;

*s=7;

)

main()

{intm=3;

f(&m);

printf("%d,%d\n”,m,k)

程序运行后的输出结果是

A)3,5

B)7,7

C)5,7

D)3,7

参考答案:D

24.有以下程序

ttinclude<stdio.h>

voidfun(inta[],intn)

(

inti;

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

if(i%3==0)

a[i]-=n;

else

a[i]+=n;

}

}

main()

{intc[5]={6,7,8,9,10},i;

fun(c,5);

for(i=0;i<5;i++)printf("%d,",c[i]);

printf("\n");

}

程序运行后的输出结果是

A)1,12,13,4,15,

B)10,9,8,7,6,

C)1,7,13,9,15,

D)10,12,8,4,6

参考答案:A

25.有以下程序

ftinclude<stdio.h>

intsub(doublea,doubleb)

(

return(int)(a-b-1.3);

)

main()

(

printf("%d\n”,sub(3.2,4.1));

}

程序运行后的输出结果是

A)-2

B)1.7

C)-3

D)2.0

参考答案:A

26.有以下程序

ftinclude<stdio.h>

main()

(

inti,*ptr;

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

for(ptr=array,i=0;i<3;i++)printf('%d,",*ptr++);

printf('\n");

}

程序运行后的输出结果是

A)1,2,4,

B)1,3,4,

C)1,1,3,

D)1,4,3,

参考答案:C

27.有以下程序

ftinclude<stdio.h>

main()

{intx[]={8,2,6,12,5,15),fl,f2;

int*p=x;

fl=f2=x[0];

for(;p<=x+5;p++)

{if(fl〈*p)fl=*p;

if(f2>*p)f2=*p;

}

printf("%d,%d\n”,fl,f2);

}

程序的运行结果是

A)15,2

B)15,15

C)2,15

D)8,8

参考答案:A

28.有以下程序

ftinclude<stdio.h>

main()

{intx[3][4]={1,3,5,7,9,11,2,4,6,8,10,12}

int(*p)[4]=x,k=1,m,n=0;

for(m=0;m<2;m++)n+=*(*(p+m)+k);

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

}

程序的运行结果是

A)10

B)20

C)14

D)16

参考答案:C

29.有以下程序

ftinclude<stdio.h>

main()

{charb[4][10],c;

inti,j;

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

{j=0;

while((c=getchar())!=,'&&c!='\n')b[i][j++]=c;

b[i][j]='\(r;

}

printf(,,%s%s%s%s\n,/,b[0],b[l],b[2],b[3]);

程序运行时从第一列开始输入:

Peachflowerispink.<回车〉

则输出结果是

A)Peachflowerispink.

B)Peachflowerispink.

C)Peachflowerispink.

D)Peachflowerispink.

参考答案:A

30.有如下程序

ftinclude<stdio.h>

voidconvert(charch)

(

if(ch<'X')convert(ch+1);

printf(,,%c,/,ch);

main()

convert('W');

printf('\n");

程序运行后的输出结果是

A)YZ

B)VW

C)XY

D)XW

参考答案:D

31.有以下程序

ftinclude<stdio.h>

ftinclude<string.h>

main()

{chara[20]="ab”,b[20]="cdef";

intk=0;

strcat(a,b);

while(a[k]!=,\0'){b[k]=a[k];k++;}

puts(b);

}

程序的运行结果是

A)abcdef

B)cbcdef

C)cdef

D)ab

参考答案:A

32.以下使指针指向一个字符串的选项错误的是

A)charstr[]="string",*ps;

*ps=str;

B)charstr[]="string",*ps;

*ps=str;

C)charstr[]="string",*ps;

ps=str;

D)char*ps;

ps="string”;

参考答案:A

33.有以下程序

ftinclude<stdio.h>

typedefstructstu{

charname[10];

chargender;

intscore;

}STU;

voidf(STUa,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,Qian,f,350

B)Qian,m,290,Zhao,m,290

C)Qian,f,350,Qian,f,350

D)Zhao,m,290,Zhao,m,290

参考答案:D

34.若有定义

typedefint*T;

Ta[20];

则以下与上述定义中a类型完全相同的是

A)int*a[20];

B)int(*a)[20];

C)inta[20];

D)int**a[20];

参考答案:A

35.有如下程序

ftinclude<stdio.h>

structperson

(

charname[10];

intage;

};

main()

(

structpersonroom[2]={{"Wang",19},{“Li”,20}};

printf("%s:%d\n”,(room+l)->name,room->age);

程序运行后的输出结果是

A)Li:19

B)Wang:19

C)Li:20

D)Wang:17

参考答案:A

36.以下关于编译预处理的叙述中错误的是

A)预处理命令行必须位于源程序的开始

B)源程序中凡是以#开始的控制行都是预处理命令行

C)一行上只能有一条有效的预处理命令

D)预处理命令是在程序正式编译之前被处理的

参考答案:A

37.以下关于宏的叙述错误的是

A)宏替换不具有计算功能

B)宏替换不具有类型

C)宏名必须用大写字母构成

D)宏替换不占用运行时间

参考答案:C

38.有以下程序

ftinclude<stdio.h>

structS

intx,y;

};

main()

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

inti;

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

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

printf('\n");

}

程序运行后的输出结果是

A)41;20;80;

B)41;22;64;

C)40;21;80;

D)43;20;81;

参考答案:A

39.以下叙述正确的是

A)文件指针是指针类型的变量

B)文件指针变量的值是文件的当前读取位置

C)文件指针变量的值是文件的当前读取位置

D)调用fscanf函数能向所有类型的文件中写入任意字符

参考答案:A

40.有以下程序

ftinclude<stdio.h>

typedefstructstu{

charname[10];

chargender;

intscore;

}STU;

voidf(STUa,STU*b)

{a=*b;

printf("%s,%c,%d,〃,,a.gender,a.score);

)

main()

{STUa={〃Zhao〃,'m',290},b={"Qian",'f',350};

f(a,&b);

printf("%s,%c,%d\n”,,a.gender,a.score);

程序运行后的输出结果是

A)Qian,f,350,Qian,f,350

B)Zhao,m,290,Qian,f,350

Qian,f,350,Zhao,m,290

D)Zhao,m,290,Zhao,m,290

参考答案:C

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

及答案(二)

1.下列关于算法复杂度叙述正确的是

A)最坏情况下的时间复杂度一定高于平均情况的时间复杂度

B)时间复杂度与所用的计算工具无关

0对同一个问题,采用不同的算法,则它们的时间复杂度是相同的

D)时间复杂度与采用的算法描述语言有关

参考答案:B

(2020.9)2.设有栈S和队列Q,初始状态均为空。首先依次将

A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z

入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退

出,则退队元素的顺序为

A)DEFXYZABC

B)DEFXYZABC

C)FEDXYZCBA

D)DEFZYXABC

参考答案:B

(2020.9)3.下列叙述中正确的是

A)有两个指针域的链表称为二叉链表

B)循环链表是循环队列的链式存储结构

0带链的栈有栈顶指针和栈底指针,因此又称为双重链表

D)结点中具有多个指针域的链表称为多重链表

参考答案:D

(2020.9)4.某二叉树共有845个结点,其中叶子结点有45个,则度为1

的结点数为

A)400

B)754

C)756

D)不确定

参考答案:C

(2020.9)5.软件需求分析阶段的主要任务是

A)确定软件开发方法

B)确定软件开发工具

0确定软件开发计划

D)确定软件系统的功能

参考答案:D

(2020.9)6.下面对软件测试描述错误的是

A)严格执行测试计划,排除测试的随意性

B)随机地选取测试数据

0随机地选取测试数据

D)软件测试是保证软件质量的重要手段

参考答案:B

(2020.9)7.结构化程序的三种基本控制结构是

A)顺序、选择和重复(循环)

B)过程、子程序和分程序

0顺序、选择和调用

D)调用、返回和转移

参考答案:A

(2020.9)8.数据库中对概念模式内容进行说明的语言是

A)数据定义语言

B)数据操纵语言

0数据控制语言

D)数据宿主型语言

参考答案:A

(2020.9)9.某个工厂有若干个仓库,每个仓库存放有不同的零

件,相同零件可能放在不同的仓库中。则实体仓库和零件间的联系是

A)多对多

B)一对多

0多对一

D)——对——

参考答案:A

(2020.9)10.

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

RST

ABCABC

a12d32回回

b21c31EJ

c31f47

e45

d32

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

A)交

B)差

0并

D)选择

参考答案:A

(2020.9)11.以下叙述正确的是

A)计算机只接收由0和1代码组成的二进制指令或数据

B)计算机只接收由0和1代码组成的十进制指令或数据

0计算机可直接接收并运行C源程序

D)计算机可直接接收并运行任意高级语言编写的源程序

参考答案:A

(2020.9)12.若有C语言表达式2+3*4+7/3,以下选项中叙述正确的

执行顺序是

A)先执行3*4得12,再执行7/3得2.5,最后执行2+12+2.5得16.5

B)先执行3*4得12,再执行2+12得14,再执行7/3得2,最后执行14+2

得16

0先执行7/3得2,再执行3*4得12,再执行12+2得14,最后执行2+14

得16

D)先执行2+3得5,再执行5*4得20,再执行20+7得27,最后执行27/3

得9

参考答案:B

(2020.9)13.若有定义:charc;intd;程序运行时输入:

c=l,d=2〈回车》,能把字符1输入给变量c、整数2输入给变量d的输入

语句是

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

B)scanf("c=%cd=%d",&c,&d);

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

D)scanf("c=%c,d=%d〃,&c,&d);

参考答案:D

(2020.9)14.以下选项中,与门刁++完全等价的表达式是

A)n=i,i=i+l

B)n+=i+l

C)i=i+l,n=i

D)n=++i

参考答案:A

(2020.9)15.设有定义:

intn=1234;

doublex=3.1415;

则语句

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

的输出结果是

A)1234,3.142

B)123,3.142

C)1234,3.141

D)123,3.141

参考答案:A

(2020.9)16.有以下程序

#include<stdio.h>

main()

{inta,b;

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

{scanf&b);

switch(b)

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

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

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

}

执行时输入:123〈回车》,则输出结果是

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

B)2,3,4,

C)2,3,3,4,5,6,

D)2,3,4,3,4,4,

参考答案:C

(2020.9)17.设变量m为float类型,变量n为int类型,则以下能实现

将m中的数值保留小数点后两位,第三位进行四舍五入运算的表达式

A)m=(m*100+0.5)/100.0

B)n=m*100+0.5,m=n/100.0

C)n=m/100+0.5,m=n*100.0

D)m=m*100+0.5/100.0

参考答案:B

(2020.9)18.有以下程序

ftinclude<stdio.h>

main()

{inta=1,b=1;

for(;a—;)

b—;

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

程序运行后的输出结果是

A)-1,0

B)0,0

c)-1,-1

D)1,1

参考答案:A

(2020.9)19.若有定义:

chars[30]={0};

运行时输入:

Thisisastring.〈回车>

则以下不能正确读入整个字符串:

Thisisastring.

到字符数组s中的语句组是

A)i=Ojwhile((c=getchar())!='\n')s[i++]=c;

B)gets(s);

C)for(i=0;(c=getchar())!='\n';i++)s[i]=c;

D)scanf("%s",s);

参考答案:D

(2020.9)20.有如下程序

ftinclude<stdio.h>

main()

(

inta=0,b=1;

if(a++&&b++)

printf("TRUE");

else

printf("FALSE");

printf(,,_0UT:a=%d,b=%d\n,/,a,b);

程序运行后的输出结果是

printf("FALSE");

printf("_OUT:a=%d,b=%d\n”,a,b);

程序运行后的输出结果是

A)FALSE_OUT:a=l,b=l

B)FALSE_OUT:a=O,b=2

C)TRUE_0UT:a=l,b=2

D)TRUE_OUT:a=O,b=l

参考答案:A

(2020.9)21.有如下程序

ftinclude<stdio.h>

main()

inti,data;

scanf("%d”,&data);

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

(

if(i<data)continue;

printf(〃%d-",i);

)

)

程序运行时,从键盘输入:3<回车》后,程序输出结果为

A)3-4-

B)1-2-3-

C)0-1-2-

D)0-1-2-3-

参考答案:A

(2020.9)22.有以下程序

ftinclude<stdio.h>

main()

inta=0,b=1;

if(++a==b++)

printf(〃1");

else

printf("0〃);

printf(,,a=%d,b=%d\nz,,a,b);

}

程序运行后的输出结果是

A)la=0,b=l

B)0a=l,b=2

C)la=l,b=2

D)0a=0,b=2

参考答案:C

(2020.9)23.有如下程序段

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

if(i<=5)break;

则循环结束后i的值为

A)1

B)0

C)5

D)10

参考答案:B

(2020.9)24.设有定义:inta=0,b=l;,以下表达式中,会产生〃短

路〃现象,致使变量b的值不变的是

A)a++&&b++

B)a++||++b

C)++a&&b++

D)+a||++b

参考答案:A

(2020.9)25.有如下程序段

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

if(i>5)break;

则循环结束后i的值为

A)10

B)5

C)9

D)6

参考答案:D

(2020.9)26.有以下程序段

intx,i;

for(i=l;i<=100;i++)

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

if(x<0)continue;

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

}

下面针对上述程序段的描述正确的是

A)最多可以输出100个非负整数

B)当x<0时结束整个循环

0当x>=0时没有任何输出

D)printf函数调用语句总是被跳过

参考答案:A

(2020.9)27.关于地址和指针,以下说法正确的是

A)通过强制类型转换可以将一种类型的指针变量赋值给另一种类

型的指针变量

B)可以取一个常数的地址赋值给同类型的指针变量

0可以取一个表达式的地址赋值给同类型的指针变量

D)可以取一个指针变量的地址赋值给基类型相同的指针变量

参考答案:A

(2020.9)28.有以下程序

ftinclude<stdio.h>

ftdefineN4

voidfun(inta[][N])

inti;

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

a[0][i]+=a[N-l][N-l-i];

}

main()

{intx[N][N]={{1,2,3,4},

{5,6,7,8),

(9,10,11,12),

(13,14,15,16}},i;

fun(x);

for(i=0;i<N;i++)printf("%d,",x[i][i]);

printf("\n");

}

程序运行后的输出结果是

A)4,7,10,13,

B)1,6,11,16,

C)17,6,11,16,

D)5,13,21,29,

参考答案:C

(2020.9)29.关于C语言函数说明的位置,以下叙述正确的是

A)在函数说明之后对该函数进行调用,编译时不会出现错误信息

B)函数说明可以出现在源程序的任意位置,在程序的所有位置对该

函数的调用,编译时都不会出现错误信息

0函数说明只能出现在源程序的开头位置,否则编译时会出现错误

信息

D)函数说明只是为了美观和编译时检查参数类型是否一致,可以写

也可以不写

参考答案:A

(2020.9)30.以下叙述正确的是

A)不能在数组说明符的一对方括号中使用表达式

B)charcl,*c2,**c3,c4[2];是C语言的合法语句

0数组下标的最小值可以是负值

D)若有数组定义intarray[5];则语句

printf('%d”,array[1.23]);是合法的

参考答案:B

(2020.9)31.有以下程序

ftinclude<stdio.h>

main()

(

inta=2,*ptr;

ptr=&a;

*ptr=8;

a=(*ptr)++;

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

程序运行后的输出结果是

A)9,9

B)8,9

02,4

D)0,4

参考答案:A

(2020.9)32.有以下程序

ftinclude<stdio.h>

main()

(

inti,*ptr;

intarray[4]={0,1};

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

if(*ptr==0)

putchar('#');

else

putchar('M'+*ptr);

)

printf('\n");

)

程序运行后的输出结果是

A)MO#

B)#F#

C)MMM

D)#N#

参考答案:D

(2020.9)33.有以下程序段:

intm[2][3],(*p)[3];

P=m;

则以下对m数组元素的引用正确的是

A)(p+1)[0]

B)*(*(p+2)+l)

0*(p[l]+l)

D)p[l]+2

参考答案:C

(2020.9)34.有以下程序

ttinclude<stdio.h>

char*a="you";

char*b="WelcomeyoutoBeijing!”;

main()

{char*p;

P=b;

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

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

}

程序运行后的输出结果是

A)youtoBeijing!

B)toBeijing!

C)WelcomeyoutoBeijing!

D)Beijing!

参考答案:A

(2020.9)35.有以下程序

ftinclude<stdio.h>

voidf(intx[],intn)

{if(n>1)

{printf("%d,”,x[n-l]);

f(x,n-1);

printf("%d,”,x[n-l]);

)

else

printf("%d,”,x[0]);

}

main()

{intz[3]={1,2,3};

f(z,3);

printf('\n");

}

程序运行后的输出结果是

A)3,1,3,

B)3,2,1,2,3,

01,2,3,1,2,3,

D)1,2,3,2,1,

(2020.9)36.有以下程序

Winclude<stdio.h>

inta=2;

intf(intk)

{staticintn;

intm;

m=n=0;

n++;a++;m++;k++;

returnn+m+a+k;

)

main()

{intk;

for(k=0;k<2;k++)printf("%d,”,f(k));

printf('\n");

程序运行后的输出结果是

A)6,8,

B)6,9,

06,6,

D)6,7,

参考答案:A

(2020.9)37.有以下程序

ftinclude<stdio.h>

intsum(int*array,intlen)

(

if(len==1)

returnarray[1];

else

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

}

main()

intarray[5]={0,9,1,2},res;

res=sum(array,3);

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

}

程序运行后的输出结果是

A)27

B)11

C)8

D)12

参考答案:D

(2020.9)38.有以下程序

ftinclude<stdio.h>

main()

chars[10]="verygood",*ps=s;

〃.〃

ps=too;

s[4]=,\0,;

puts(ps);

}

程序的运行结果是

A)too

B)verygood

C)very

D)good

参考答案:A

(2020.9)39.以下叙述中错误的是

A)函数中的形参属于局部变量

B)在函数内部定义的变量只能在本函数范围内使用

0在函数外部定义的变量在所有函数中都有效

D)在不同的函数中可以使用相同名字的变量

参考答案:C

(2020.9)40.有以下程序

ftinclude<stdio.h>

main()

{FILE*fp;

inti,a[6]={1,2,3,4,5,6),k;

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

fprintf(fp,"%d\n",a[0]);

for(i=l;i<6;i++)

{rewind(fp);

fprintf(fp,"%d\rT,a[i]);

rewind(fp);

fscanf(fp,"%d",&k);

fclose(fp);

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

程序运行后的输出结果是

A)6

B)21

C)123456

D)654321

参考答案:A

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

及答案(三)

(2020.9)1.下列叙述中正确的是

A)每一个结点有两个指针域的链表一定是非线性结构

B)所有结点的指针域都为非空的链表一定是非线性结构

0循环链表是循环队列的链式存储结构

D)线性结构的存储结点也可以有多个指针

参考答案:D

(2020.9)2.使用白盒测试方法时,设计测试用例应根据

A)程序的内部逻辑

B)程序的复杂结构

0程序的功能

D)使用说明书

参考答案:A

(2020.9)3.在医院,每个医生只属于某一个诊疗科,医生同一天

可为多位患者看病,而一名患者可在多个科室治疗。则实体医生和患

者之间的联系是

A)多对多

B)多对一

0一对多

D)一对一

参考答案:A

(2020.9)

4.设序列长度为n,在最坏情况下,时间复杂度为0(log2n)的算法是

A)二分法查找

B)顺序查找

0分块查找

D)哈希查找

参考答案:A

(2020.9)5.设数据集合为D={1,3,5,7,9},D上的关系为R,下列数

据结构B=(D,R)中为非线性结构的是

A)R={(5,1),(7,9),(1,7),(9,3)}

B)R={(9,7),(1,3),(7,1),(3,5)}

0R={(1,9),(9,7),(7,5),(5,3)}

D)R={(1,3),(3,5),(5,9)}

参考答案:D

(2020.9)6.深度为7的二叉树共有127个结点,则下列说法中错误的是

A)该二叉树有一个度为1的结点

B)该二叉树是满二叉树

0该二叉树是完全二叉树

D)该二叉树有64个叶子结点

参考答案:A

(2020.9)7.某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序

列为

A)DCBA

B)BDCA

C)ABCD

D)BADC

参考答案:C

(2020.9)8.下面能作为软件需求分析工具的是

A)PAD图

B)程序流程图

0甘特图

D)数据流程图(DFD图)

参考答案:D

(2020.9)9.下面不属于对象主要特征的是

A)唯一性

B)多态性

0可复用性

D)封装性

参考答案:C

(2020.9)10.

关系R经过运算八。>4八。>3(尺)的结果为

R

ABCD

aa24

be12

cc114

ee61

A)(c,c,11,4)

B)(b,b,11,4)

C)(a,a,2,4)

D)(a,a,2,4"D(e,e,6,l)

参考答案:A

(2020.9)11.简单程序设计步骤中不包括

A)编码

B)确定算法

0安装编译程序

D)调试

参考答案:C

(2020.9)12.若想给已定义为int型的变量a,b,c,d赋值为1,以下选项

中错误的语句是

A)d=l,c=d,b=c,a=b;

B)a=b=c=d=l;

C)a=l,b=a,c=b,d=c;

D)a=b,b=c,c=d,d=l;

参考答案:D

(2020.9)13.有C语言表达式2*3+4+15%3,关于其执行顺序,以下叙

述正确的是

A)先执行2*3得6,再执行6+4得10,再执行15%3得0,最后执行10+0

得10

B)先执行2*3得6,再执行15%3得5,最后执行6+4+5得15

0先执行15%3得0,再执行2*3得6,最后执行6+4+0得10

D)先执行15%3得3,再执行4+3得7,再执行2*3得6,最后执行6+7

得13

参考答案:A

(2020.9)14.若有定义:inta;floatb;doublec;,程序运行

时输入:1,2,3〈回车》,能把1输入给变量a、2输入给变量b、3输入给

变量c的输入语句是

A)scanf("%d,%f,”,&a,&b,&c);

B)scanf〃,&a,&b,&c);

C)scanf&a,&b,&c);

D)scanf("%d,%f,%f〃,&a,&b,&c);

参考答案:A

(2020.9)15.以下选项中,合法的C语言实数是

A)E1

B).leO

C)0.10E

D)2.leO.2

参考答案:B

(2020.9)16.关于程序中的注释,以下叙述正确的是

A)注释的内容必须放在一对/*和*/之间

B)注释必须置于所说明的语句前或语句后

0注释中间可以嵌套另一个注释

D)注释内容错误会导致编译出错

参考答案:A

(2020.9)17.有以下程序

ftinclude<stdio.h>

main()

{inta,b;

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

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

switch(b)

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

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

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

程序运行时输入:123〈回车》,则输出结果是

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

B)1,2,3,

01,2,2,3,4,5,

D)1,1,1,2,2,3

参考答案:C

(2020.9)18.以下非法的定义语句是

A)longb=OL;

B)unsignedinta=-100u;

C)shortc2=0123;

D)intd=OxO;

参考答案:B

(2020.9)19.有以下程序

ftinclude<stdio.h>

main()

{inta=0,b=0;

for(;a<5;a++)

{if(a%2==0)continue;

b+=a;

break;

)

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

}

程序运行后的输出结果是

A)1

B)4

C)0

D)10

参考答案:A

(2020.9)20.有以下程序

ftinclude<stdio.h>

main()

{charc;

c=getchar();

do{

putchar(c++);

}whi1e((c=getchar())!=';

}

程序运行时从第一列开始输入:abcdefg#*回车>,则输出结果是

A)bcdefgh$

B)bcdefgh

C)abcdefg#

D)abcdefg

参考答案:D

(2020.9)21.有如下程序

ftinclude<stdio.h>

main()

(

chara='O',b='a;

inti;

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

(

if(i%3)putchar(a+i);

elseputchar(b+i);

程序运行后的输出结果是

A)al2d

B)ab3d

C)10ab

D)llac

参考答案:A

(2020.9)22.有以下程序

ftinclude<stdio.h>

main()

(

charch=';

while(ch!='K')

(

putchar(ch);

ch——;

}

程序运行后的输出结果是

A)ML

B)MK

C)OP

D)mm

参考答案:A

(2020.9)23.有以下程序

ftinclude<stdio.h>

intk=5;

voidf(int*s)

{s=&k;

*s=k;

main()

{intm=3;

f(&m);

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

程序运行后的输出结果是

A)3,3

B)5,5

C)3,5

D)5,3

参考答案:C

(2020.9)24.有如下程序

ftinclude<stdio.h>

intsum_mod(inta,intb)

(

returna+b%2;

}

main()

(

inti;

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

,,,,

printf(%d,sum_mod(i,4));

printf('\n〃);

}

程序运行后的输出结果是

A)12345

B)01234

C)45678

D)43210

参考答案:B

(2020.9)26.有如下程序段

int*p,a=l;

p=&a;

*p=10;

则变量a的值为

A)不能确定

B)1

C)10

D)11

参考答案:C

(2020.9)27.有以下程序

ftinclude<stdio.h>

inta=2;

intf(intk)

{staticintn=0;

intm=0;

n++;a++;m++;k++;

returnn+m+a+k;

)

main()

{intk;

for(k=0;k<2;k++)printf("%d,”,f(k));

printf("\n");

}

程序运行后的输出结果是

A)6,9,

B)6,10,

06,6,

D)6,7,

参考答案:A

(2020.9)28.有以下程序

ftinclude<stdio.h>

voidf(intx[],intn)

{if(n>1)

{printf("%d,",x[0]);

f(&x[l],n-1);

printf("%d,",x[0]);

}

else

printf("%d,",x[0]);

}

main()

{intz[3]={4,5,6);

f(z,3);

printf('\n");

程序运行后的输出结果是

A)6,5,4,6,5,4,

B)4,5,6,5,4,

04,5,6,4,5,6,

D)6,5,4,5,6,

参考答案:B

(2020.9)29.有如下程序

ftinclude<stdio.h>

ftinclude<string.h>

main()

(

chara[]="1234",*b="ABC”;

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

sizeof(b));

程序运行后的输出结果是

A)4,5,1,3

B)4,3,2,1

C)4,5,3,3

D)4,5,3,4

参考答案:D

(2020.9)30.有以下程序

ftinclude<stdio.h>

int*sum(intdata)

staticintinit=1;

init+=data;

return&init;

main()

int

for(i=l;i<=3;sum(i);

P=sum(l);

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

程序运行后的输出结果是

A)8

B)9

010

D)7

参考答案:A

(2020.9)31.以下对C语言函数的叙述中正确的是

A)调用函数时,只能把实参的值传给形参,形参的值不能传给实参

B)函数既能嵌套定义,又能递归定义

C)函数必须有返回值,否则不能使用

D)程序中有调用关系的所有函数必须放在同一个源程序中

参考答案:A

(2020.9)32.有以下程序

ftinclude<stdio.h>

#defineS(x)x/x*x

main()

{intk=6,j=3;

printf("%d,%d\n”,S(k+j),S(j+k));

程序运行后的输出结果是

A)27,27

B)9,9

C)27,29

D)29,29

参考答案:C

(2020.9)33.若有定义

typedefint*T;

T*a[20];

则以下与上述定义中a类型完全相同的是

A)int**a[20];

B)int(*a)[20];

C)int*(*a)[20];

D)int*a[20];

参考答案:A

(2020.9)34.设有以下程序段

structperson

(

floatweight;

charsex;

charname[10];

}rec,*ptr;

ptr=&rec;

从键盘读入字符串给结构体变量rec的name成员,错误的输入语句是

A)scanf('%s",rec->name);

B)scanf('%s",);

0scanf('%s",(*ptr).name);

D)scanfptr->name);

参考答案:A

(2020.9)35.有如下程序

ftinclude<stdio.h>

structpair

(

intfirst,second;

};

structpairget_min_max(int*array,intlen)

inti;

structpairres;

res.first=array[0];

res.second=array[0];

for(i=l;i<len;i++)

(

if(array[i]<res.first)

res.first=array[i];

if(array[i]>res.second)

res.second=array[i];

}

returnres;

}

main()

(

intarray[6]={19,21,3,4};

structpairmin_max=get_min_max(array,6);

printf(,,min=%d,max=%d\n,\min_max.first,

min_max.second);

程序运行后的输出结果是

A)min=O,max=6

B)min=l,max=20

C)min=l,max=19

D)min=O,max=21

参考答案:D

(2020.9)36.有以下程序

ftinclude<stdio.h>

main()

(

inti;

FILE*fp;

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

(

fp=fopen("res.txt〃,"w");

fputc('K'+i,fp);

fclose(fp);

}

}

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

A)EOF

B)M

C)KLM

D)L

参考答案:B

(2020.9)37.有如下定义

structst

{intn;floatt;}a[20];

FILE*fp;

若文件已正确打开,则以下将文件内容读入数组a中的语句错误的是

A)for(i=0;i<20;i++)

fread(a[i],sizeof(structst),IL,fp);

B)fread(a,sizeof(structst),20L,fp);

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

fread(&a[i],2*sizeof(structst),IL,fp);

D)for(i=0;i<20;i++,i++)

fread(&a[i],sizeof(structst),2L,fp);

参考答案:A

(2020.9)38.有以下程序段

intm=33,n=66;

m=m'n;n=n*m;m=m"n;

执行上述语句后,m和n的值分别是

A)m=66,n=66

B)m=33,n=66

C)m=66,n=33

D)m=33,n=33

参考答案:C

(2020.9)39.有以下程序

#defineOut(n)n%2==0?"%c":"%d"

ftinclude<stdio.h>

main()

{intx;

for(x=65;x<69;x++)

printf(Out(x),x);

}

程序的运行结果是

A)ABCD

B)A66C68

C)65666768

D)65B67D

参考答案:D

(2020.9)40.有如下定义

structst

{intx;floaty;}rec,*px;

若要使指针px指向rec的成员x,正确的赋值语句是

A)px=(structst*)&rec.x;

B)px=(structst*)rec.x;

C)px=&rec.x;

D)*px=rec.x;

参考答案:A

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

及答案(四)

(2020.9)1.面向对象方法中,实现对象的数据和操作结合于统一体中

的是

A)结合

B)封装

C)隐藏

D)抽象

参考答案:B

2.在进行逻辑设计时,将E-R图中实体之间联系转换为关系数据库的

A)关系

B)元组

C)属性

D)属性的值域

参考答案:A

3.线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点

A)节省存储空间

B)插入与删除运算效率高

C)便于查找

D)排序时减少元素的比较次数

参考答案:B

4.深度为7的完全二叉树中共有125个结点,则该完全二叉树中的叶

子结点数为

A)62

B)63

C)64

D)65

参考答案:B

5.下列叙述中正确的是

A)所谓有序表是指在顺序存储空间内连续存放的元素序列

B)有序表只能顺序存储在连续的存储空间内

C)有序表可以用链接存储方式存储在不连续的存储空间内

D)任何存储方式的有序表均能采用二分法进行查找

参考答案:C

6.

设二叉树如下:

则后序序列为

参考答案:C

7.计算机软件包括

A)算法和数据

B)程序和数据

C)程序和文档

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

参考答案:D

8.下面描述中不属于软件需求分析阶段任务的是

A)撰写软件需求规格说明书

B)软件的总体结构设计

C)软件的需求分析

D)软件的需求评审

参考答案:B

9.当数据库中数据总体逻辑结构发生变化,而应用程序不受影响,称

为数据的

A)逻辑独立性

B)物理独立性

C)应用独立性

D)空间独立性

参考答案:A

10.

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

RST

ABCABC

a12回a12

b21EJ0□bX71

c31c31

e42d32

e42

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

A)并

B)投影

C)交

D)选择

参考答案:A

11.以下叙述正确的是

A)C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.obj

的二进制文件

B)C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.exe

的可执行文件

C)C编译程序把文件后缀为.obj的二进制文件编译成文件后缀

为.exe的可执行文件

D)链接程序把文件后缀为.c的源程序文件链接成文件后缀为.exe

的可执行文件

参考答案:A

12.以下

温馨提示

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

评论

0/150

提交评论