




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年全国计算机二级等级考试全真模拟试卷及答案(共七套)2025年全国计算机二级等级考试全真模拟试卷及答案(第一套)1.设循环队列为Q(1:m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=15,rear=20。现要在该循环队列中寻找最大值的元素,最坏情况下需要比较的次数为A)4B)6C)m-5D)m-6参考答案:A2.下列叙述中正确的是A)循环队列属于队列的链式存储结构B)双向链表是二叉树的链式存储结构C)非线性结构只能采用链式存储结构D)有的非线性结构也可以采用顺序存储结构参考答案:D3.某二叉树中有n个叶子结点,则该二叉树中度为2的结点数为A)n+1B)n-1C)2nD)n/2参考答案:B4.下列叙述中错误的是A)算法的时间复杂度与算法所处理数据的存储结构有直接关系B)算法的空间复杂度与算法所处理数据的存储结构有直接关系C)算法的时间复杂度与空间复杂度有直接关系D)算法的时间复杂度与算法程序执行的具体时间是不一致的参考答案:C5.软件工程的三要素是A)方法、工具和过程B)建模、方法和工具C)建模、方法和过程D)定义、方法和过程参考答案:A6.通常软件测试实施的步骤是A)集成测试、单元测试、确认测试B)单元测试、集成测试、确认测试C)确认测试、集成测试、单元测试D)单元测试、确认测试、集成测试参考答案:B7.下面可以作为软件设计工具的是A)系统结构图B)数据字典(DD)C)数据流程图(DFD图)D)甘特图参考答案:A8.在数据库设计中,将E-R图转换成关系数据模型的过程属于A)逻辑设计阶段B)需求分析阶段C)概念设计阶段D)物理设计阶段参考答案:A9.设有关系表学生S(学号,姓名,性别,年龄,身份证号),每个学生学号唯一。除属性学号外,也可以作为键的是A)姓名B)身份证号C)姓名,性别,年龄D)学号,姓名参考答案:B10.在数据库系统中,考虑数据库实现的数据模型是A)概念数据模型B)逻辑数据模型C)物理数据模型D)关系数据模型参考答案:B11.以下选项中叙述正确的是A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构B)C语言源程序不编译也能直接运行C)使用N-S流程图不能描述复杂算法D)计算机能够直接运行C语言源程序,不必进行任何转换参考答案:A12.以下选项中叙述正确的是A)使用三种基本结构就可以实现任何复杂算法B)只要程序包含了三种基本结构中的任意一种,就是结构化程序C)程序语法错误要在运行时才能发现D)C语言程序不需要包含main()函数参考答案:A13.以下选项中,合法的C语言常量是A)1.234B)'C++'C)"\2.0D)2Kb参考答案:A14.以下选项中,合法的C语言实数是A).2e0B)3.1e0.4C)E13D)7.12E参考答案:A15.以下选项中,合法的C语言实数是A).2e0B)3.1e0.4C)E13D)7.12E参考答案:A16.有如下程序#include<stdio.h>main(){intx=072;printf("%d\n",x+1);}程序运行后的输出结果是A)59B)73C)115D)72参考答案:A17.有如下程序#include<stdio.h>main(){inta=0,b=1;if(a++&&b++)printf("T");elseprintf("F");printf("a=%d,b=%d\n",a,b);}程序运行后的输出结果是A)Fa=1,b=1B)Fa=0,b=2C)Ta=1,b=2D)Ta=0,b=1参考答案:A18.有如下程序#include<stdio.h>main(){inti,data;scanf("%d",&data);for(i=0;i<5;i++){if(i<data)continue;printf("%d,",i);}printf("\n");}程序运行时,从键盘输入:3<回车>后,程序输出结果为A)3,4,B)1,2,3,4,C)0,1,2,3,4,5,D)0,1,2,参考答案:A19.有如下程序#include<stdio.h>main(){inti,data;scanf("%d",&data);for(i=0;i<5;i++){if(i>data)break;printf("%d,",i);}printf("\n");}程序运行时,从键盘输入:3<回车>后,程序输出结果为A)0,1,2,3,B)0,1,C)3,4,5,D)3,4,参考答案:A20.有如下程序#include<stdio.h>main(){chara='3',b='A';inti;for(i=0;i<6;i++){if(i%3)putchar(a+i);elseputchar(b+i);}printf("\n");}程序运行后的输出结果是A)A45D78B)ABC678C)34CD78D)34AB78参考答案:A21.有如下程序#include<stdio.h>main(){inti;for(i=0;i<5;i++)putchar('9'-i);printf("\n");}程序运行后的输出结果是A)98765B)54321C)'9''8''7''6''5'D)'43210'参考答案:A22.有如下程序#include<stdio.h>main(){intx=0x13;if(x=0x18)printf("T");printf("F");printf("\n");}程序运行后的输出结果是A)TFB)TC)FD)TFT参考答案:A23.有如下程序#include<stdio.h>intsum(inta,intb){returna+b-2;}main(){inti;for(i=0;i<5;i++)printf("%d",sum(i,3));printf("\n");}程序运行后的输出结果是A)12345B)01234C)45678D)54321参考答案:A24.有如下程序#include<stdio.h>intchange(int*data){return(*data)++;}main(){intdata=123;change(&data);printf("%d,",data);data=change(&data);printf("%d,",data);printf("\n");}程序运行后的输出结果是A)124,124,B)123,124,C)124,123,D)123,123,参考答案:A25.有如下程序#include<stdio.h>voidchange(int*array,intlen){for(;len>=0;len--)array[len]+=2;}main(){inti,array[5]={1,2};change(array,4);for(i=0;i<4;i++)printf("%d,",array[i]);printf("\n");}程序运行后的输出结果是A)3,4,2,2,B)3,4,5,6,C)2,3,4,5,D)1,2,0,0,参考答案:A26.以下选项中叙述正确的是A)charc1,c2,*c3,c4[40];是合法的变量定义语句B)数组说明符的一对方括号中只能使用整型常量,而不能使用表达式C)数组下标的下限可以是负值D)若有数组定义floatarray[4];则语句printf("%f",array[3.12]);是合法的参考答案:A27.若有函数声明voidfun(floatarray[],int*ptr);以下叙述正确的是A)函数参数array,ptr都是指针变量B)函数参数array不是指针变量,ptr是指针变量C)调用函数时,实参数组的值将一一复制给array数组D)调用函数时,array是按值传送,ptr是按地址传送参考答案:A28.设有如下程序段inta[8]={0};intb[]={0};charc[2]={"A","B"};chard="AB";以下叙述正确的是A)只有a,b的定义是合法的B)a,b,c,d的定义都是合法的C)只有a,b,c的定义是合法的D)只有c的定义是合法的参考答案:A29.以下涉及字符串数组、字符指针的程序段,不会产生编译错误的是A)char*str,name[10];str="HelloWorld";B)char*str,name[10];name="HelloWorld";C)charstr1[10]="prog.c",str2[10];str2=str1;D)charhead_line[];head_line="=============";参考答案:A30.有如下程序#include<stdio.h>#include<string.h>main(){printf("%d\n",strlen("0\n011\1"));}程序运行后的输出结果是A)6B)8C)9D)4参考答案:A31.有如下程序#include<stdio.h>voidconvert(charch){if(ch<'D')convert(ch+1);printf("%c",ch);}main(){convert('A');printf("\n");}程序运行后的输出结果是A)DCBAB)ABCDC)AD)ABCDDCBA参考答案:A32.有如下程序#include<stdio.h>#include<string.h>main(){chara[]="THIS",*b="OK";printf("%d,%d,%d,%d\n",strlen(a),sizeof(a),strlen(b),sizeof(b));}程序运行后的输出结果是A)4,5,2,4B)4,4,2,1C)5,5,3,3D)4,5,2,3参考答案:A33.有如下程序#include<stdio.h>voidget_put(){charch;ch=getchar();if(ch!='\n')get_put();putchar(ch);}main(){get_put();printf("\n");}程序运行时,输入1234<回车>,则输出结果是A)4321B)1234C)4444D)1111参考答案:A34.有如下程序#include<stdio.h>intsum(intdata){staticintinit=0;returninit+=data;}main(){inti;for(i=1;i<=5;i++)printf("%d,",sum(i));printf("\n");}程序运行后的输出结果是A)1,3,6,10,15,B)1,2,3,4,5,C)0,0,0,0,0,D)1,1,1,1,1,参考答案:A35.以下选项中的编译预处理命令行,正确的是A)#definePI3.14B)##defineeps0.001C)#DEFINETRUED)#defineintINT参考答案:A36.设有以下程序段structperson{charname[10];charsex;floatweight;}zhangsan,*ptr;ptr=&zhangsan;若要从键盘读入姓名给结构体变量zhangsan的name成员,输入项错误的是A)scanf("%s",zhangsan->name);B)scanf("%s",);C)scanf("%s",ptr->name);D)scanf("%s",(*ptr).name);参考答案:A37.有如下程序#include<stdio.h>structperson{charname[10];intage;}main(){structpersonroom[4]={{"Zhang",19},{"Li",20},{"Wang",17},{"Zhao",18}};printf("%s:%d\n",(room+2)->name,room->age);}程序运行后的输出结果是A)Wang:19B)Wang:17C)Li:20D)Li:19参考答案:A38.有如下程序#include<stdio.h>structpair{intfirst,second;};structpairget_min_max(int*array,intlen){inti;structpairres;res.first=array[0];res.second=array[0];for(i=1;i<len;i++){if(array[i]<res.first)res.first=array[i];if(array[i]>res.second)res.second=array[i];}returnres;}main(){intarray[5]={9,1,3,4};structpairmin_max=get_min_max(array,5);printf("min=%d,max=%d\n",min_max.first,min_max.second);}程序运行后的输出结果是A)min=0,max=9B)min=1,max=9C)min=1,max=4D)min=0,max=4参考答案:A39.有如下程序#include<stdio.h>main(){inta=8,b;b=(a>>2)%2;printf("%d,%d\n",a,b);}程序运行后的输出结果是A)8,0B)4,0C)4,1D)8,1参考答案:A40.以下选项中叙述正确的是A)文件指针是指针类型的变量B)文件指针可同时指向不同文件C)文件指针的值是文件在计算机磁盘中的路径信息D)调用fscanf函数可以向文本文件中写入任意字符参考答案:A2025年全国计算机二级等级考试全真模拟试卷及答案(第二套)1.下列叙述中正确的是A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)算法的时间复杂度与空间复杂度没有直接关系参考答案:D2.下列叙述中正确的是A)循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B)循环队列中的元素个数随队头指针的变化而动态变化C)循环队列中的元素个数随队尾指针的变化而动态变化D)以上说法都不对参考答案:A3.棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为A)219B)229C)230D)231参考答案:B4.对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为A)9B)10C)45D)90参考答案:C5.构成计算机软件的是A)源代码B)程序和数据C)程序和文档D)程序、数据及相关文档参考答案:D6.软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是A)测试B)设计C)可行性研究D)实现参考答案:C7.下面不能作为结构化方法软件需求分析工具的是A)系统结构图B)数据字典(DD)C)数据流程图(DFD图)D)判定表参考答案:A8.在关系模型中,每一个二维表称为一个A)关系B)属性C)元组D)主码(键)参考答案:A9.若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是A)一对一B)一对多C)多对一D)多对多参考答案:B10.A)选择B)投影C)交D)并参考答案:D11.以下叙述中正确的是A)C语言程序所调用的函数必须放在main函数的前面B)C语言程序总是从最前面的函数开始执行C)C语言程序中main函数必须放在程序的开始位置D)C语言程序总是从main函数开始执行参考答案:D12.C语言程序中,运算对象必须是整型数的运算符是A)&&B)/C)%D)*参考答案:C13.有以下程序#include<stdio.h>main(){intsum,pad,pAd;sum=pad=5;pAd=++sum,pAd++,++pad;printf("%d\n",pad);}程序的输出结果是A)5B)6C)7D)8参考答案:B14.有以下程序#include<stdio.h>main(){inta=3;a+=a-=a*a;printf("%d\n",a);}程序的输出结果是A)0B)9C)3D)-12参考答案:D15.sizeof(double)是A)一个整型表达式B)一个双精度型表达式C)一个不合法的表达式D)一种函数调用参考答案:A16.有以下程序#include<stdio.h>main(){inta=2,c=5;printf("a=%%d,b=%%d\n",a,c);}程序的输出结果是A)a=2,b=5B)a=%2,b=%5C)a=%d,b=%dD)a=%%d,b=%%d参考答案:C17.若有定义语句:chara='\82';则变量aA)说明不合法B)包含1个字符C)包含2个字符D)包含3个字符参考答案:A18.有以下程序#include<stdio.h>main(){charc1='A',c2='Y';printf("%d,%d\n",c1,c2);}程序的输出结果是A)输出格式不合法,输出出错信息B)65,89C)65,90D)A,Y参考答案:B19.若变量已正确定义for(x=0,y=0;(y!=99&&x<4);x++)则以上for循环A)执行3次B)执行4次C)执行无限次D)执行次数不定参考答案:B20.对于while(!E)s;,若要执行循环体s,则E的取值应为:A)E等于1B)E不等于0C)E不等于1D)E等于0参考答案:D21.有以下程序#include<stdio.h>main(){intx;for(x=3;x<6;x++)printf((x%2)?("*%d"):("#%d"),x);printf("\n");}程序的输出结果是A)*3#4*5B)#3*4#5C)*3*4#5D)*3#4#5参考答案:A22.有以下程序#include<stdio.h>main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b=b+3;continue;}b=b-5;}printf("%d\n",a);}程序的输出结果是A)10B)9C)8D)7参考答案:B23.有以下程序#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)00B)43C)34D)71参考答案:D24.有以下程序#include<stdio.h>voidfun(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)90B)00C)99D)09参考答案:C25.有以下程序#include<stdio.h>main(){inta[]={2,4,6,8,10},x,*p,y=1;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf("%d\n",y);}程序的输出结果是A)13B)19C)11D)15参考答案:B26.有以下程序#include<stdio.h>main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d",x[i][2-i]);printf("\n");}程序的输出结果是A)150B)357C)147D)369参考答案:B27.设有某函数的说明为int*func(inta[10],intn);则下列叙述中,正确的是A)形参a对应的实参只能是数组名B)说明中的a[10]写成a[]或*a效果完全一样C)func的函数体中不能对a进行移动指针(如a++)的操作D)只有指向10个整数内存单元的指针,才能作为实参传给a参考答案:B28.有以下程序#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)OPENTHEDOORB)oPENtHEdOORC)openthedoorD)OpenTheDoor参考答案:C29.设有定义语句:char*aa[2]={"abcd","ABCD"};则以下叙述正确的是A)aa[0]存放了字符串"abcd"的首地址B)aa数组的两个元素只能存放含有4个字符的一维数组的首地址C)aa数组的值分别是字符串"abcd"和"ABCD"D)aa是指针变量,它指向含有两个元素的字符型数组参考答案:A30.有以下程序#include<stdio.h>intfun(char*s){char*p=s;while(*p!=0)p++;return(p-s);}main(){printf("%d\n",fun("goodbey!"));}程序的输出结果是A)0B)6C)7D)8参考答案:C31.有以下程序#include<stdio.h>intfun(intn){inta;if(n==1)return1;a=n+fun(n-1);return(a);}main(){printf("%d\n",fun(5));}程序的输出结果是A)9B)14C)10D)15参考答案:D32.有以下程序#include<stdio.h>intd=1;voidfun(intp){intd=5;d+=p++;printf("%d",d);}main(){inta=3;fun(a);d+=a++;printf("%d\n",d);}程序的输出结果是A)84B)96C)94D)85参考答案:A33.有以下程序#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)4B)0C)1D)2参考答案:B34.有以下程序#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]-'0';printf("%d\n",s);}程序的输出结果是A)693825B)69825C)63825D)6385参考答案:D35.有以下程序#include<stdio.h>#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}程序的输出结果是A)0B)1C)9D)10参考答案:B36.有以下程序#include<stdio.h>main(){charx=2,y=2,z;z=(y<<1)&(x>>1);printf("%d\n",z);}程序的输出结果是A)1B)0C)4D)8参考答案:B37.有以下程序#include<stdio.h>structS{inta;intb;};main(){structSa,*p=&a;a.a=99;printf("%d\n",__________);}程序要求输出结构体中成员a的数据,以下不能填入横线处的内容是A)a.aB)*p.aC)p->aD)(*p).a参考答案:B38.有以下程序#include<stdio.h>#include<stdlib.h>voidfun(double*p1,double*p2,double*s){s=(double*)calloc(1,sizeof(double));*s=*p1+*(p2+1);}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.10B)11.10C)12.10D)1.10参考答案:D39.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;参考答案:A40.若fp已定义为指向某文件的指针,且没有读到该文件的末尾,则C语言函数feof(fp)的函数返回值是A)EOFB)非0C)-1D)0参考答案:D2025年全国计算机二级等级考试全真模拟试卷及答案(第三套)1.下列叙述中正确的是A)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是一一对应的D)算法的时间复杂度与空间复杂度一定相关参考答案:B2.下列叙述中正确的是A)线性表链式存储结构的存储空间一般要少于顺序存储结构B)线性表链式存储结构与顺序存储结构的存储空间都是连续的C)线性表链式存储结构的存储空间可以是连续的,也可以是不连续的D)以上说法均错误参考答案:C3.某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)A)3B)6C)8D)12参考答案:D4.对长度为n的线性表作快速排序,在最坏情况下,比较次数为A)nB)n-1C)n(n-1)D)n(n-1)/2参考答案:D5.结构化程序设计中,下面对goto语句使用描述正确的是A)禁止使用goto语句B)使用goto语句程序效率高C)应避免滥用goto语句D)以上说法均错误参考答案:C6.下面不属于软件测试实施步骤的是A)集成测试B)回归测试C)确认测试D)单元测试参考答案:B7.下面不属于软件需求分析阶段主要工作的是A)需求变更申请B)需求分析C)需求评审D)需求获取参考答案:A8.一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的A)记录B)行C)属性D)元组参考答案:C9.A)选择B)差C)交D)并参考答案:B10.有表示公司和职员及工作的三张表,职员可在多家公司兼职。其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),职员S(职员号,姓名,性别,年龄,学历),工作W(公司号,职员号,工资),则表W的键(码)为A)公司号,职员号B)职员号,工资C)职员号D)公司号,职员号,工资参考答案:A11.以下叙述中正确的是A)每个后缀为.C的C语言源程序都可以单独进行编译B)每个后缀为.C的C语言源程序都应该包含一个main函数C)在C语言程序中,main函数必须放在其他函数的最前面D)在C语言程序中,只有main函数才可单独进行编译参考答案:A12.C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是A)关键字可用作用户标识符,但失去原有含义B)预定义标识符可用作用户标识符,但失去原有含义C)在标识符中大写字母和小写字母被认为是相同的字符D)用户标识符可以由字母和数字任意顺序组成参考答案:B13.以下选项中合法的常量是A)999B)2.7eC)0XabD)123E0.2参考答案:C14.C语言主要是借助以下哪种手段来实现程序模块化A)定义函数B)定义常量和外部变量C)使用丰富的数据类型D)使用三种基本结构语句参考答案:A15.以下叙述中错误的是A)数值型常量有正值和负值的区分B)常量可以用一个符号名来代表C)定义符号常量必须用类型名来设定常量的类型D)常量是在程序运行过程中值不能被改变的量参考答案:C16.若有定义和语句:inta,b;scanf("%d,%d,",&a,&b);以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是A)3,5,4B)3,5C)3,5,D)3,5参考答案:D17.C语言中char类型数据占字节数为A)1B)2C)3D)4参考答案:A18.下列关系表达式中,结果为"假"的是A)3<=4B)(3<4)==1C)(3+4)>6D)(3!=4)>2参考答案:D19.若以下选项中的变量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){case1:case3:y=a+b;break;case0: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;}参考答案:A20.有以下程序#include<stdio.h>main(){inta=-2,b=0;while(a++&&++b);printf("%d,%d\n",a,b);}程序运行后输出结果是A)0,2B)0,3C)1,3D)1,2参考答案:D21.设有定义:intx=0,*p;紧接着的赋值语句正确的是A)*p=NULL;B)p=NULL;C)p=x;D)*p=x;参考答案:B22.下列叙述中正确的是A)空字符串不占用内存,其内存空间大小是0B)两个连续的单引号('')是合法的字符常量C)可以对字符串进行关系运算D)两个连续的双引号("")是合法的字符串常量参考答案:D23.有以下程序#include<stdio.h>main(){chara='H';a=(a>='A'&&a<='Z')?(a+32):a;printf("%c\n",a);}程序运行后的输出结果是A)HB)hC)AD)a参考答案:B24.有以下程序#include<stdio.h>intf(intx);main(){inta,b=0;for(a=0;a<3;a+=1){b+=f(a);putchar('A'+b);}}intf(intx){returnx*x+1;}程序运行后输出结果是A)ABEB)BCDC)BDID)BCF参考答案:C25.设有定义:intx[2][3];则以下关于二维数组x的叙述错误的是A)元素x[0]可看作是由3个整型元素组成的一维数组B)数组x可以看作是由x[0]和x[1]两个元素组成的一维数组C)可以用x[0]=0;的形式为数组所有元素赋初值0D)x[0]和x[1]是数组名,分别代表一个地址常量参考答案:C26.设p是指针变量,语句p=NULL;等价于A)p='0';B)p='';C)p="";D)p=0;参考答案:D27.有以下程序#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)10B)20C)30D)40参考答案:C28有以下程序#include<stdio.h>#defineN3voidfun(inta[][N],intb[]){inti,j;for(i=0;i<N;i++){b[i]=a[i][0];for(j=1;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("%d,",y[i]);printf("\n");}程序运行后的输出结果是A)3,5,7B)1,3,5,C)2,4,8,D)3,6,9,参考答案:D29.有以下程序(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)a12xyzB)bc2yzC)a2yzD)12yz参考答案:C30.以下选项中,没有编译错误的是A)charstr3[]={'d','e','b','u','g','\0'};B)charstr1[5]="pass",str2[6];str2=str1;C)charname[10];name="china";D)charstr4[];str4="helloworld";参考答案:A31.有以下程序#include<stdio.h>main(){char*s="12134";intk=0,a=0;while(s[k+1]){k++;if(k%2==0){a=a+(s[k]-'0'+1);continue;}a=a+(s[k]-'0');}printf("k=%da=%d\n",k,a);}程序运行后的输出结果是A)k=5a=15B)k=4a=12C)k=6a=11D)k=3a=14参考答案:B32.有以下程序#include<stdio.h>main(){chara[5][10]={"one","two","three","four","five"};inti,j;chart;for(i=0;i<2;i++)for(j=i+1;j<5;j++)if(a[i][0]>a[j][0]){t=a[i][0];a[i][0]=a[j][0];a[j][0]=t;}puts(a[1]);}程序运行后的输出结果是A)owoB)fwoC)twoD)fix参考答案:B33.有以下程序#include<stdio.h>inta=1,b=2;voidfun1(inta,intb){printf("%d%d",a,b);}voidfun2(){a=3;b=4;}main(){fun1(5,6);fun2();printf("%d%d\n",a,b);}程序运行后的输出结果是A)5612B)3456C)1256D)5634参考答案:D34.有以下程序#include<stdio.h>voidfunc(intn){staticintnum=1;num+=n;printf("%d",num);}main(){func(3);func(4);printf("\n");}程序运行后的输出是A)45B)48C)35D)34参考答案:B35.有以下程序#include<stdio.h>#include<stdlib.h>voidfun(int*p1,int*p2,int*s){s=(int*)calloc(1,sizeof(int));*s=*p1+*p2;free(s);}main(){inta[2]={1,2},b[2]={40,50},*q=a;fun(a,b,q);printf("%d\n",*q);}程序运行后的输出结果是A)42B)41C)1D)0参考答案:C36.有以下程序#include<stdio.h>structSTU{charname[9];charsex;intscore[2];};voidf(structSTUa[]){structSTUb={"Zhao",'m',85,90};a[1]=b;}main(){structSTUc[2]={{"Qian",'f',95,92},{"Sun",'m',98,99}};f(c);printf("%s,%c,%d,%d,",c[0].name,c[0].sex,c[0].score[0],c[0].score[1]);printf("%s,%c,%d,%d\n",c[1].name,c[1].sex,c[1].score[0],c[1].score[1]);}程序运行后输出结果是A)Qian,f,95,92,Sun,m,98,99B)Qian,f,95,92,Zhao,m,85,90C)Zhao,m,85,90,Sun,m,98,99D)Zhao,m,85,90,Qian,f,95,92参考答案:B37.以下叙述中错误的是A)用typedef可以说明一种新的类型名B)typedef的作用是用一个新的标识符来代表已存在的类型名C)可以用typedef说明的新类型名来定义变量D)typedef说明的新类型名必须使用大写字母,否则会出编译错误参考答案:D38.以下叙述中错误的是A)只要类型相同,结构体变量之间可以整体赋值B)函数的返回值类型不能是结构体类型,只能是简单类型C)可以通过指针变量来访问结构体变量的任何成员D)函数可以返回指向结构体变量的指针参考答案:B39.若有定义语句intb=2;则表达式(b<<2)/(3||b)的值是A)0B)2C)4D)8参考答案:D40.有以下程序#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,2,3,4,5,6,B)6,5,4,3,2,1,C)4,5,6,1,2,3,D)1,2,3,3,2,1,参考答案:B2025年全国计算机二级等级考试全真模拟试卷及答案(第四套)1.下列叙述中正确的是A)有且只有一个根结点的数据结构一定是线性结构B)每一个结点最多有一个前件也最多有一个后件的数据结构一定是线性结构C)有且只有一个根结点的数据结构一定是非线性结构D)有且只有一个根结点的数据结构可能是线性结构,也可能是非线性结构参考答案:D2.下列叙述中错误的是A)在双向链表中,可以从任何一个结点开始直接遍历到所有结点B)在循环链表中,可以从任何一个结点开始直接遍历到所有结点C)在线性单链表中,可以从任何一个结点开始直接遍历到所有结点D)在二叉链表中,可以从根结点开始遍历到所有结点参考答案:C3.某二叉树共有13个结点,其中有4个度为1的结点,则叶子结点数为A)5B)4C)3D)2参考答案:A04.设栈的顺序存储空间为S(1:50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为A)30B)29C)20D)19参考答案:C5.设栈的顺序存储空间为S(1:50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为A)30B)29C)20D)19参考答案:C6.程序测试的目的是A)执行测试用例B)发现并改正程序中的错误C)发现程序中的错误D)诊断和改正程序中的错误参考答案:C7.下面属于系统软件的是A)财务管理系统B)数据库管理系统C)编辑软件WordD)杀毒软件参考答案:B8.在关系A(S,SN,D)和B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则D是A的A)外键(码)B)候选键(码)C)主键(码)D)元组参考答案:A9.有两个关系R,S如下,由关系R和S通过运算得到关系T,则所使用的操作为A)并B)自然连接C)笛卡尔积D)差参考答案:D10.在数据库管理系统提供的数据语言中,负责数据模式定义的是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言参考答案:A11.流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中输入输出框的图形是A)平行四边形B)长方形C)椭圆型D)菱形参考答案:A12.设有以下代码do{while(条件表达式1)循环体A;}while(条件表达式2);while(条件表达式1){do{循环体B;}while(条件表达式2);}其中,循环体A与循环体B相同,以下叙述正确的是A)循环体A与循环体B的执行次数相同B)循环体A比循环体B的执行次数多一次C)循环体A比循环体B的执行次数少一次D)循环体A与循环体B的执行次数不确定参考答案:A13.C语言的常量包括数值型常量和符号常量,以下叙述正确的是A)数值型常量1.0和1所占内存的大小不同B)不能用sizeof求数值型常量所占内存的大小C)不能用sizeof求符号常量所占内存的大小D)可以用&A取得符号常量A所占内存的首地址参考答案:A14.有以下程序#include<stdio.h>main(){inta;a=(int)(-1.53*3);printf("%d\n",a);}程序的运行结果是A)-4B)-3C)-5D)结果不确定参考答案:A15.若有定义: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);参考答案:A16.有以下程序#include<stdio.h>main(){intk=33;printf("%d,%o,%x\n",k,k,k);}程序的运行结果是A)33,41,21B)33,33,33C)41,33,21D)33,21,41参考答案:A17.有以下程序#include<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,0,1B)1,1,0,1C)1,0,1,0D)1,1,1,0参考答案:A18有以下程序#include<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);}}}执行时输入:123<回车>,则输出结果是A)2,3,4,3,4,4,B)2,3,4,C)2,2,2,3,3,4,D)2,3,4,3,4,5,4,5,6参考答案:A19有以下程序#include<stdio.h>main(){inta=-1,b=-1;while(++a)++b;printf("%d,%d\n",a,b);}程序的运行结果是A)0,-1B)0,0C)-1,-1D)结果不确定参考答案:A20有以下程序#include<stdio.h>main(){inta=0,b=0;for(;a<5;a++){if(a%2==0)continue;b+=a;}printf("%d\n",b);}程序的运行结果是A)4B)10C)0D)15参考答案:A21以下选项中非法的C语言字符常量是A)'\128'B)'\127'C)'\x01'D)'\x08'参考答案:A22有以下程序#include<stdio.h>main(){charc;while((c=getchar())!='#')putchar(c);}执行时如输入abcdefg##<回车>,则输出结果是A)abcdefgB)abcdefg#C)abcdefg##D)##参考答案:A23若要使用C数学库中的sin函数,需要在源程序的头部加上#include<math.h>关于引用数学库,以下叙述正确的是A)通过引用math.h文件,说明sin函数的参数个数和类型,以及函数返回值类型B)将数学库中sin函数链接到编译生成的可执行文件中,以便能正确运行C)将数学库中sin函数的源程序插入到引用处,以便进行编译链接D)实际上,不引用math.h文件也能正确调用sin函数参考答案:A24以下关于地址和指针的叙述中正确的是A)可以取变量的地址赋值给同类型的指针变量B)可以取常量的地址赋值给同类型的指针变量C)可以取一个指针变量的地址赋给本指针变量,这样就使得指针变量指向自身D)所有指针变量如果未赋初值,则自动赋空值NULL参考答案:A25有以下程序#include<stdio.h>intk=5;voidf(int*s){*s=k;}main(){intm=3,*p=&m;f(p);printf("%d,%d",m,*p);}程序的运行结果是A)5,5B)3,3C)3,5D)5,3参考答案:A26有以下程序#include<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)3,5,3,5,5B)3,5,5,5,5C)5,3,3,3,5D)5,5,5,5,5参考答案:A27有以下程序#include<stdio.h>#defineN4voidfun(inta[][N]){intb[N][N],i,j;for(i=0;i<N;i++)for(j=0;j<N;j++)b[i][j]=a[N-1-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);for(i=0;i<N;i++)printf("%d,",x[i][i]);printf("\n");}程序的运行结果是A)13,10,7,4,B)1,6,11,16,C)4,7,10,13,D)1,5,9,13,参考答案:A28有以下程序#include<stdio.h>voidfun(inta[],intn){inti,j=0,k=n-1,b[10];for(i=0;i<n/2;i++){b[i]=a[j];b[k]=a[j+1];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)10,8,6,4,2,1,3,5,7,9,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,4,5,6,7,8,9,10,D)1,3,5,7,9,10,8,6,4,2,参考答案:A29有以下程序#include<stdio.h>#include<string.h>main(){inti;chara[]="Howareyou!";for(i=0;a[i];i++)if(a[i]=='')strcpy(a,&a[i+1]);printf("%s\n",a);}程序的运行结果是A)areyou!B)Howareyou!C)areyou!D)areyou!参考答案:A30有以下程序(其中库函数strstr()首部格式为:char*strstr(char*p1,char*p2)其功能是确定p2字符串是否在p1中出现,并返回p2第一次出现的字符串首地址)#include<stdio.h>#include<string.h>char*a="you";char*b="WelcomeyoutoBeijing!";main(){char*p;p=strstr(b,a);printf("%s\n",p);}程序的运行结果是A)youtoBeijing!B)toBeijing!C)WelcomeyoutoBeijing!D)Beijing!参考答案:A31有以下程序#include<stdio.h>main(){charb[3][10];inti;for(i=0;i<2;i++)scanf("%s",b[i]);gets(b[2]);printf("%s%s%s\n",b[0],b[1],b[2]);}执行时若从第一列输入:Figflowerisred.<回车>则输出结果是A)Figflowerisred.B)Figflowerisred.C)Figflowerisred.D)Figflowerisred.参考答案:A32有以下程序#include<stdio.h>#include<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])/2];w[5]='\0';puts(w);}程序的运行结果是A)djotyB)agmrwC)flqvD)cimsx参考答案:A33有以下程序#include<stdio.h>voidf(intx[],intn){if(n>1){printf("%d,",x[n-1]);f(x,n-1);}elseprintf("%d,",x[0]);}main(){intz[6]={1,2,3,4,5,6};f(z,6);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025有关园林景观工程施工合同
- 《食管癌的化疗治疗》课件
- 2025关于企业员工劳动合同模板
- 2025年商业办公空间的租赁合同
- 2025广东塑料交易所(PVC)货物交割合同
- 船舶火灾报警自动报警系统概述火灾探测方法与探测器基本
- 《青少年早期成长》课件
- 《全国教育机构联盟》课件
- 《盛会全景呈现》课件
- 江西服装学院《学校音乐导论与教法教研》2023-2024学年第一学期期末试卷
- 科室病历书写与管理制度
- 地震监测系统服务方案及故障维修处理措施
- 新工会制度财务知识大赛题库(预算、决算部分)
- 《交通事故车辆及财物损失价格鉴证评估技术规范》
- 以茶为媒的小学跨学科教育研究
- 电力设备交接和预防性试验规程
- 2024年度高速公路机电设备维护合同:某机电公司负责某段高速公路的机电设备维护2篇
- 中考道德与法治复习题型专项漫画式课件
- 面点师招聘面试题与参考回答(某大型国企)
- 教育部《中小学德育工作指南》-德育工作指南
- DB21-T 2885-2023 居住建筑节能设计标准
评论
0/150
提交评论