《2025年全国计算机二级等级考试全真模拟试卷及答案(共六套).docx》由会员分享,可在线阅读,更多相关《2025年全国计算机二级等级考试全真模拟试卷及答案(共六套).docx(131页珍藏版)》请在课桌文档上搜索。
1、2025年全国计算机二级等级考试全真模拟试卷及答案(共六套)2025年全国计算机二级等级考试全真模拟试卷及答案(第一套)1 .在最坏情况下A)快速排序的时间混杂度比冒泡排序的时间复杂度要小B)快速排序的时间及杂度比希尔排序的时间复杂度要小C)希尔排序的时间复杂度比宜接插入排序的时间复杂度要小D)快速排序的时间竟杂度与希尔排序的时间复杂度是一样的参考答案:C2 .在深度为7的满二叉树中,度为2的结点个数为A) 64B) 63C) 32D) 31参考答案:B3 .设栈的顺序存储空间为S(1:m),初始状态为IOP=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为A) 30
2、B) 20C) m19D) m-20参考答案:C4 .算法空间复杂度的度量方法是A)算法程序的长度B)算法所处理的数据量C)执行弊法所需要的工作单元D)执行算法所需要的存储空间参考答案:D5 .下面不属于软件开发阶段任务的是A)测试B)可行性研究C)设计D)实现参考答案:B6 .下面属于字符类的实例是A) 518B) 5C) nmD) ,n,参考答案:D7 .某系统结构图如下图所示某东妩该系统结构图的最大扇出数是A) nB) 1C) 3D) 4参考答案:A8 .一个兴趣班可以招收多名学生,而一个学生可以参加多个兴趣班。则实体兴趣班和实体学生之间的联系是A) 1:1联系B) l:m联系C) m:
3、l联系D) m:n联系参考答案:D9 .有三个关系表R、S和T如卜其中三个关系对应的关键字分别为A,B和复合关键字(A,B).RB*11IBIBlIB2IIAIBIC| ,小aI3 I;yIbIQ卜I表T的记录项(b,q,4)违反了A)实体完整性约束B)参照完整性约束C)用户定义的完整性约束D)关系完整性约束参考答案:B10 .在数据库系统中,给出数据模型在计算机上物理结构表示的是A)概念数据模型B)逻辑数据模型C)物理数据模型D)关系数据模型参考答案:C11 .若有定义语句:inta=12;,则执行语句:a+=a-=a*a;后,a的值是A) -264B) 552C) 144D) 264参考答
4、案:A12 .若在程序中变量均已定义成int类型,且已赋大于1的值,则下列1选项中能正确衣示代数式五的表达式是A) 1.0abcB) l(a*b*c)C) 1.0a*b*cD) lab(double)c参考答案:A13 .有以下程序includemain()i11tX=OlO1y=10:printfC,%d,%dn*,+x,y):)程序运行后的输出结果是A) 9,10B) 11,10C) 010,9D) 10,9参考答案:14 .以下选项中叙述正确的是A) C语言的标识符可分为关键字、预定义标识符和用户标识符三类B) C语言的标识符可分为语句、变量和关键字三类C) C语言的标识符可分为函数名、
5、变量和预定义标识符三类D) C语言的标识符可分为运算符、用户标识符和关键字三类参考答案:A15 .以下选项中叙述正确的是A)函数体必须由开始B) C程序必须由main语句开始C) C程序中的注释可以嵌套D) C程序中的注释必须在一行完成参考答案:A16.已知a=5,b=6,c=7,d=8,m=2,n=2,执行(m=ab)&(n=cd)后n的值为A) 2B) OC) 1D) -1参考答案:A17 .有以下程序#includemain()(intx=23;do(printf(w%2dn*,x-);while(!x):)程序的执行结果是A)输出23B)输出321C)不输出任何内容D)陷入无限循环参考
6、答案:A18 .有以下程序/includemain()(charc:while(c=getchar()I=n)switch(c-*2,)(case0:case 1 :putchar(c+4):case 2 :putchar(c+4);break;case 3 :putchar(c+3);default:putchar(c+2);break;printf(n);)程序运行后从第一列开始输入以下数据2473程序的输出结果是A) 668977B) 4444C) 6677877D) 68766参考答案:19 .有以下程序includemain()i11ti=0,SUiri=I;dosum+=i+;wh
7、ile(ib)printf(x=%d,”,x);elsePrintf(y=%d,y);if(ab)printf(*x=%d,x);j+;elseprintf(*y=%d,w,y);i+;B) if(ab)printf(*x=%d,w,x);i+;elseprintf(y=%d,”,y);j+;C) if(a=b)printf(*x=%d,zz,x);i+;elseprintf(*y=%d,*,y);j+;参考答案:A21 .以下程序的功能是判断输入的一个整数是否能被3或7整除,若能整除,输出YES,否则输出M)。在下划线处应填入的选项是includemain()intk;Printf(Ente
8、raintnumber:);SCanf(飞d”,&k):ifprintfC,YESn*);elseprintf(z,N0n*);printfC,%dn*1k%3);)A) (k%3=0)i(k%7=0)B) (k3=0)(k7=0)C) (k%3=0)(k%7=0)D) (k%3=0)&(k%7=0)参考答案:A22 .以下选项中,不能对主函数中变量i和j的值进行交换的程序是A) includevoidswap(int*p,int*q)int*t;*t=*p;*p=*q;*q=*t;)mainO(inti=10,j=20,*a=&i,*b=&j;swap(a,b);printf(*i=%dj=
9、%dn*,i,j);)B) includevoidswap(int*p,int*q)intt;t=*p;*p=*q:*q=t:mainO(inti=10,j=20,*a=&i,*b=&j;swap(a,b);Printf(i=%dj三%dn*,i,j);)C) #include#includevoidswap(int*p,int*q)int*t:t=(int*)malIoc(sizeof(int):*t=*p;*p=*q;*q=*t;free(t);)main()(i11ti=10,j=20;swap(&i,&j):printf(*i=%dj=%dn*,i,j);)D) /includevoi
10、dswap(int*p,int*q)intt;t=*p;*p=*q;*q=t;main()inti=10,j=20,*x=i,*y=&j;swap(x,y);printf(wi=%dj=%dn*,i,j):)参考答案:23 .有以下程序includeprintf(*%d,*,*(p+);printf(,%dn*,*(+p);)程序运行后的输出结果是A) 1,5B) 3,5C) 3,7D) 1,3参考答案:A24.有以下程序#includemain()i11t*p,x=l00;p=&x;x=*p+10;printf(z,%dn*1x);)程序运行后的输出结果是A) 110B) 120C) 100
11、D) 90参考答案:A25.以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处#includemain()(inta10,i=0;while(i10)SCanf(%d,);IA) a+(i+)B) ftai+lC) a+iD) &a(i+)参考答案:26.有以下程序#includevoidfun(intx,inty,int*z)*z=yx;main()i11ta,b,c;fun(10,5,&a):fun(7,a,&b):fun(a,b,&c):printf(,%d,%d,%dn*,a,b1c):)程序运行后的输出结果是A) -5,-12,-7B) 5,2,3C) -5,-1
12、2,-17D) 5,-2,-7参考答案:A27.有以下程序#includevoidfun(int*s,intnl,intn2)inti,j,t:i=nl;j=112;while(ij)t=*(s+i);*(s+i)=*(s+j);*(s+j)=t;i+:j:)i11ta10=1,2,3,4,5,6,7,8,9,O:,i,*p=a;fun(p,O,3);fun(p,4,9);fun(p,O,9);for(i=O;i10;i+)printf(%d”,*(a+i);printf(*n*):)程序运行后的输出结果是A) 5678901234B) 0987654321C) 4321098765D) 09
13、87651234参考答案:A28 .当没有指定C语言中函数形参的存储类别时函数形参的存储类别是A)自动(auto)B)静态(StatiC)C)寄存器(register)D)外部(extern)参考答案:29 .当没有指定C语言中函数形参的存储类别时,函数形参的存储类别是A)自动(aut。)B)静态(StatiC)C)寄存器(register)D)外部(extern)参考答案:30 .以下语句的输出结果是printf(*%dn*,strlen(*tV065xffn*);)5B)8014D)输出项不合法,无正常输出参考答案:A31.若有说明和语句:charstr=Hello,*p;p=str;,则
14、此时*(p+5)中的值为A) ,0,B) ,o,C)。的地址D)不确定的值参考答案:A32 .有以下程序/include#includechars=z,Bcijing*;printf(*%dn*,strlen(strcpy(s,*China*);)程序运行后的输出结果是A) 5B) 7C) 12D) 14参考答案:A33 .有以下函数intfun(char*s,char*t)while(*s)&(*t)&(*t+=*s+);return(*s-*t);)函数的功能是A)比较两个字符串的大小B)求字符串的长度C)将字符串S复制到字符串t中D)连接字符串S和字符串I参考答案:A34 .以下叙述正确
15、的是A) EOF只能作为文本文件的结束标志,其值为TB) EOF可以作为所有文件的结束标志C) EoF只能作为二进制文件的结束标志D)任何文件都不能用EOF作为文件的结束标志参考答案:35 .以下叙述正确的是A)在C语言中调用f。Pen函数就可把程序中要读、写的文件与磁盘上实际的数据文件联系起来B) f。Pen函数的调用形式为:fopen(文件名)C) f。PCn函数的返回值为NU1.1.时,则成功打开指定的文件D) f。Pen函数的返回值必须赋给一个任意类型的指针变量参考答案:A36 .以下不能对文件进行输出的库函数是A) fpoutB) fputcC) fwriteD) fprintf参考
16、答案:A37 .有以下程序/includeSdefineN2#defineMN+l/defineMUN(M1)*M2main()printf(飞dn”,MUN);)程序运行后的输出结果是A) 8B) 9C) 5D) 6参考答案:A38 .有以下程序#includestruct1inkintdata:structlink*next;;main()structlink*h,a,b;h=&a;a.data=10;a.next=Ab;b.data=20;)程序运行时不能输出10,20的语句是A) printf(*%d,%dn*,h-dataa.next,data);B) printf(*%d,%dnw
17、,a.data,(*a.next),data):C) printf(zr%d,%dnr,h-data,(*a.next),data);D) printf(,%d,%dn,ta.data,a.next-data);参考答案:A39.有以下程序#includemainOinta=3,b=3;printfC,%dn”,a&b);程序运行后的输出结果是A) 3B) 1C) 0D) 6参考答案:40.有以下程序段FI1.E*fp:if(fp=fOPen(lest,txt,w)=NU1.1.)Printf(不能打开文件!);exit(O):)elsePrintf(成功打开文件!“);若指定文件test,t
18、xt不存在,且无其他异常,则以下叙述错误的是A)输出“不能打开文件!”B)输出成功打开文件!”C)系统将按指定文件名新建文件D)系统将为写操作建立文本文件参考答案:A2025年全国计算机二级等级考试全真模拟试卷及答案(第二套)1 .下列叙述中正确的是A) 一个算法的空间红杂度大,则其时间复杂度也必定大B) 一个算法的空间复杂度大,则其时间爱杂度必定小C) 一个算法的时间熨杂度大,则其空间复杂度必定小D)算法的时间复杂度与空间复杂度没有宜接关系参考答案:D2 .下列叙述中正确的是A)循环队列中的元素个数随队头指针与队尾指针的变化而动态变B)循环队列中的元素个数随队头指针的变化而动态变化0循环队列
19、中的元素个数随队尾指针的变化而动态变化D)以上说法都不对参考答案:3 .棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为A) 219B) 229O230D)231参考答案:B4.对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为)9B)10O450)90参考答案:C5 .构成计算机软件的是)源代码B)程序和数据O程序和文档D)程序、数据及相关文档参考答案:D6 .软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是A)测试B)设计C)可行性研究D)实现参考答案:C7 .下面不能作为结构化方法软件需求分析工具的是A)系统结构图B)数据字典
20、(DD)C)数据流程图(DFD图)D)判定表参考答案:8 .在关系模型中,每一个二维表称为一个A)关系B)属性0元组D)主码(健)参考答案:A9 .若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是)一对一B)一对多0多对一D)多对多参考答案:B有三个关系R,S和T如下,“ST1.IJABCa2b21C31d32,则由关系R和S得到关系T的操作是)选择B)投影0交D)并参考答案:D11.以下叙述中正确的是A) C语言程序所调用的函数必须放在main函数的前面B) C语言程序总是从最前面的函数开始执行C) C语言程序中main函数必须放在程序的开始位置D) C语言程序总是
21、从main函数开始执行12.C语言程序中,运算对象必须是整型数的运算符是)&B)/0%D)*参考答案:C13 .有以下程序#includemain()intsum,pad,pAd;sum=pad=5;pAd=+sum,pAd+z+pad;printf(%dn,pad);)程序的输出结果是)5B) 6C) 7D) 814 .有以下程序Sincludemain()(inta=3;a+=a-=a*a;printf(%dn,a);程序的输出结果是A) 0B) 9C) 3D) -12参考答案:D15 .SiZeOf(double)是A) 一个整型表达式B) 一个双精度型表达式0一个不合法的表达式D)一种
22、函数调用参考答案:A16.有以下程序Mincludemain()(inta=2,c=5;printf(a=%d,b=%dn,a,c);程序的输出结果是A) a=2zb=5B) a=%2,b=%5C) a=%d,b=%dD) a=%d,b=%d参考答案:C17 .若有定义语句:chara=,82;则变量aA)说明不合法B)包含1个字符0包含2个字符D)包含3个字符参考答案:A18 .有以下程序Sincludemain()(charcl=,A,c2=,Y,;printf(%d,%dn,cl,c2);程序的输出结果是)输出格式不合法,输出出错信息B)65,89065,90D)A,Y参考答案:B19
23、.若变量已正确定义for(x=0,y=0;(y!=99&x4);x+)则以上for循环A)执行3次B)执行4次O执行无限次D)执行次数不定参考答案:B20 .对于While(IE)s;,若要执行循环体s,则E的取值应为:A) E等于1B) E不等于OC) E不等于1D) E等于0参考答案:D21 .有以下程序0includemain()(intx;for(x=3;x6;X+)printf(x%2)?,*%d):(#%d),x);printf(n);)程序的输出结果是A) *3#4*5B) #3*4#50*3*4#5D)*3#4#5参考答案:A22 .有以下程序Mincludemain()int
24、a,b;for(a=l,b=l;a=2O)break;ifb%3=1)b=b+3;continue;b=b-5;printf(%dn,a);程序的输出结果是A) 10B) 9C) 8D) 7参考答案:B23 .有以下程序Mincludevoidfun(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%dn,c,d);)程序的输出结果是A) 00B) 43C) 34D) 71参考答案:D24 .有以下程序includevoidfun(int*p,int*q)(ntt;t=*p
25、;*p=*q;*q=t;*q=*p;main()inta=0,b=9;fun(&a,&b);printf(%d%dn,a,b);程序的输出结果是)9OB) OOC) 99D) O9参考答案:C25.有以下程序#includemain()nta=2A610,x,*p,y=l;P=&a;for(x=0;3;X+)y+=*(p+x);printf(%dn,y);)程序的输出结果是A)13C) 11D) 15参考答案:B26 .有以下程序tfincludemain()(iti,x3113=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+)printf(%dzxi112-i);printf
26、(nH);程序的输出结果是A) 150B) 357C) 147D) 369参考答案:B27 .设有某函数的说明为int*funcinta(10,intn);则下列叙述中,正确的是A)形参a对应的实参只能是数组名B)说明中的a10写成a)或*a效果完全一样C)func的函数体中不能对a进行移动指针(如a+)的操作D)只有指向10个整数内存单元的指针,才能作为实参传给a参考答案:B28 .有以下程序#includecharfunchar*c)(if(*c=A)*c-三,A,-,a;return*c;main()chars81),*p=s;gets(三);while(*p)(*=funp;ptcha
27、r(*p);P+;printf(n);)若运行时从键盘上输入OPENTHEDooR回车,程序的输出结果是A)OPENTHEDOORB)OPENtHEdOOROopenthedoorD)OpenTheDoor参考答案:C29 .设有定义语句:char*aa2=abcdzABCD;则以下叙述正确的是A) aa存放了字符串abed的首地址B) aa数组的两个元素只能存放含有4个字符的一维数组的首地址C) aa数组的值分别是字符串abed和ABCDD) aa是指针变量,它指向含有两个元素的字符型数组参考答案:A30 .有以下程序#includeintfun(char*s)char*p=s;while*
28、p!=0)p+;return(p-s);)main()printf(%dn,fun(goodbey!);程序的输出结果是A) 0B) 6C) 7D) 8参考答案:C31 .有以下程序Aincludeintfun(intn)nta;if(n=l)return1;a=n+fun(n-1);return(八);main()printf%dn,fun(5);程序的输出结果是)9B)14010D)15参考答案:D32 .有以下程序includeintd=l;voidfun(intP)intd=5;d+=p+;printf(%d,d);)main()inta=3;fun(八);d+=a+;printf(%
29、dn,d);程序的输出结果是A) 84B) 96C) 94D) 85参考答案:A33 .有以下程序ftincludeintfun(intA)intb=0;staticintc=3;a=c+,b+);returna);main()inta=2,i,k;for(i=0;i2;i+)k=funa+);printf(%dn,k);)程序的输出结果是)4B) 0C) 1D) 2参考答案:B34.有以下程序#includemain()charc25=6934,8254),*p2;nti,j,s=0;for(i=0;i2;i+)pi=ci;for(i=0;iO&pi(j=9,;j+=2)s=10s+p(ij
30、-,0;printf(%dn,s);O)10参考答案:B36.有以下程序#includemain()charx=2,y=2,z;z=(yl)&(xl);printf(%dn,z);程序的输出结果是)1B) 0C) 4D) 8参考答案:B37.有以下程序#includestructSinta;intb;main()structSa,*p=&a;a.a=99;printf(,%dn);程序要求输出结构体中成员a的数据,以下不能填入横线处的内容是A) a.aB) *p.aC) p-aD) (*p).a参考答案:B38.有以下程序einclude#includevoidfun(double*pl,do
31、uble*p2,double*s)s=(double*)calloc(l,sizeof(double);*s=*pl+*(p2+l);main()doublea(2=1.1,2.2,b2=10.0,20.0,*s=a;fun(a,b,s);Printf(%5.2fn”,*s);程序的输出结果是)21.10B)11.10O12.10D)1.10参考答案:D若已建立以下琏表结构,指针p、S分别指向如图所示结点datanextdatanextdatanextQQ则不能将S所指结点插入到链表末尾的语句组是A) p=p-next;S-net=p;p-next=s;B) s-next=,0,;p=p-ne
32、xt;p-next=s;C) p=p-net;s-next=p-next;p-next=s;D) p=(*p).next;(*s),next=*p).next;(*p).next=s;参考答案:A40.若fp已定义为指向某文件的指针,且没有读到该文件的末尾,则C语言函数feof(fp)的函数返回值是A)EOFB)非0O-1D)0参考答案:D2025年全国计算机二级等级考试全真模拟试卷及答案(第三套)1 .下列叙述中正确的是A)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是一一对应的D)算法的时间复杂度与空间复
33、杂度一定相关参考答案:B2 .下列叙述中正确的是A)线性表链式存储结构的存储空间一般要少于顺序存储结构B)线性表链式存储结构与顺序存储结构的存储空间都是连续的O线性表链式存储结构的存储空间可以是连续的,也可以是不连续的D)以上说法均错误参考答案:C3 .某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)A) 3B) 6O8C)需求评审D)需求获取参考答案:A8.一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的)记录B)行0属性D)元组参考答案:CC则由关系R和S得到关系T的操作是A)选择B)差0交D)并参考答案:B10 .有表示公司和职
34、员及工作的三张表,职员可在多家公司兼职。其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),职员S(职员号,姓名,性别,年龄,学历),工作W(公司号,职员号,工资),则表W的键(码)为A)公司号,职员号B)职员号,工资0职员号D)公司号,职员号,工资参考答案:A11 .以下叙述中正确的是)每个后缀为.C的C语言源程序都可以单独进行编译B)每个后缀为.C的C语言源程序都应该包含一个main函数0在C语言程序中,main函数必须放在其他函数的最前面D)在C语言程序中,只有main函数才可单独进行编译参考答案:A12 .C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的
35、是A)关键字可用作用户标识符,但失去原有含义B)预定义标识符可用作用户标识符,但失去原有含义C)在标识符中大写字母和小写字母被认为是相同的字符D)用户标识符可以由字母和数字任意顺序组成参考答案:B13 .以下选项中合法的常量是A) 999B) 2.7eC) OXabD) 123E0.2参考答案:C14 .C语言主要是借助以下哪种手段来实现程序模块化A)定义函数B)定义常量和外部变量O使用丰富的数据类型D)使用三种基本结构语句参考答案:A15 .以下叙述中错误的是A)数值型常量有正值和负值的区分B)常量可以用一个符号名来代表O定义符号常量必须用类型名来设定常量的类型D)常量是在程序运行过程中值不
36、能被改变的量参考答案:C16 .若有定义和语句:inta,b;scanf(%d,%d,&a,&b);以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是A) 3z5,4B) 3,5C) 3,5,D) 3,5参考答案:D17. C语言中Char类型数据占字节数为A) 1B) 203D)4参考答案:A18.下列关系表达式中,结果为假的是A) 3=4B) (36D)(3I=4)2参考答案:D19.若以下选项中的变量a,b,y均已正确定义并赋值,则语法正确的SWitCh语句是)switch(a*a+b*b)default:break;case3:y=a+b;break;case2:y=a-b;
37、break;B) switch(a+b)easel:case3:y=a+b;break;case:case4:y=a-b;)C) switch(a+9)casea:y=a-b;caseb:y=a+b;)D) switcha*bcaseIO:y=a+b;default:y=a-b;参考答案:A20 .有以下程序Aincludeinta=-2,b=O;while(a+&+b);printf(%d,%dn,a,b);程序运行后输出结果是A) 0,2B) 0,3C) 1,3D) 1,2参考答案:D21 .设有定义:intx=0,*p;紧接着的赋值语句正确的是)*p=NU1.1.;B) p=NU1.1.
38、;C) p=x;D) *p=x;参考答案:B22 .下列叙述中正确的是)空字符串不占用内存,其内存空间大小是0B)两个连续的单引号(D是合法的字符常量0可以对字符串进行关系运算D)两个连续的双引号()是合法的字符串常量参考答案:D23 .有以下程序includemain()chara=,H;a=(a=,A&a=,Z,)?(a+32):a;printf(%cn,a);程序运行后的输出结果是)HB) hC) AO)a参考答案:B24.有以下程序#includeintf(intX);inta,b=0;for(a=0;a3;a+=l)b+=fa);putchar(,A,+b);intf(int)returnx*+l;程序运行后输出结果是A) ABEB) BCDC) BDID) BCF参考答案:C25.设有定义:i11t23;则以下关于二维数组X的叙述错误的是A)元素X可看作是由3个整型元素组成的一维数组B)数组X可以看作是由x0和xl两个元素组成的一维数组0可以用X=0;的形式为数组所有元素赋初值0D)x0和xl是数组名,分别代表一个地址常量参考答案:C26.设P是指针变量,语句P=NU1.