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

下载本文档

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

文档简介

2025年全国计算机二级等级考试全真模拟试卷及答案(共四套)2025年全国计算机二级等级考试全真模拟试卷及答案(第一套)1.下列叙述中正确的是A)栈与队列都只能顺序存储B)循环队列是队列的顺序存储结构C)循环链表是循环队列的链式存储结构D)栈是顺序存储结构而队列是链式存储结构参考答案:B2.设某二叉树的前序序列为ABC,中序序列为CBA,则该二叉树的后序序列为A)BCAB)CBAC)ABCD)CAB参考答案:B3.下列排序方法中,最坏情况下时间复杂度最小的是A)冒泡排序B)快速排序C)堆排序D)直接插入排序参考答案:C4.为了对有序表进行对分查找,则要求有序表A)只能顺序存储B)只能链式存储C)可以顺序存储也可以链式存储D)任何存储方式参考答案:A5.软件设计中模块划分应遵循的准则是A)低耦合低内聚B)高耦合高内聚C)低耦合高内聚D)内聚与耦合无关参考答案:C6.下面属于整数类的实例是A)0x518B)0.518C)"-518"D)518E-2参考答案:A7.下面属于白盒测试方法的是A)边界值分析法B)基本路径测试C)等价类划分法D)错误推测法参考答案:B8.设有一个商店的数据库,记录客户及其购物情况,由三个关系组成:商品(商品号,商品名,单价,商品类别,供应商),客户(客户号,姓名,地址,电邮,性别,身份证号),购买(客户号,商品号,购买数量),则关系购买的键为A)客户号B)商品号C)客户号,商品号D)客户号,商品号,购买数量参考答案:C9.有两个关系R,S如下,由关系R和S通过运算得到关系T,则所使用的操作为A)并B)自然连接C)差D)交参考答案:D10.在数据库管理系统提供的数据语言中,负责数据的查询、增加、删除和修改等操作的是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言参考答案:C11.流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中判断框的图形是A)菱形B)长方形C)平行四边形D)椭圆型参考答案:A12.以下叙述错误的是A)在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法B)同一程序各模块可由一组人员同时进行编写调试,可提高编写程序的效率C)模块化的程序设计是采用自顶向下、逐步细化的原则D)程序的每个模块都可通过三种基本结构实现参考答案:A13.关于C语言的变量名,以下叙述正确的是A)变量名不可以与关键字同名B)变量名不可以与预定义标识符同名C)变量名必须以字母开头D)变量名是没有长度限制的参考答案:A14.有以下程序#include<stdio.h>main(){inta;a=(int)1.99*3;printf("%d\n",a);}程序的运行结果是A)3B)5C)6D)结果不确定参考答案:A15有以下程序#include<stdio.h>main(){intk=-17;printf("%d,%o,%x\n",k,1-k,1-k);}程序的运行结果是A)-17,22,12B)-17,12,22C)-17,-22,-12D)17,22,12参考答案:A16.若有定义:inta;floatb;doublec;,程序运行时输入:a=1,b=2,c=3<回车>,能把值1输入给变量a、值2输入给变量b、值3输入给变量c的输入语句是A)scanf("a=%d,b=%f,c=%lf",&a,&b,&c);B)scanf("%d%f%lf",&a,&b,&c);C)scanf("a=%d,b=%lf,c=%lf",&a,&b,&c);D)scanf("a=%d,b=%f,c=%f",&a,&b,&c);参考答案: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,1,0B)1,1,0,1C)1,0,0,1D)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++);}}printf("\n");}执行时输入:123<回车>,则输出结果是A)1,2,3,2,3,3,B)1,2,3,C)2,3,4,3,4,4,D)1,1,1,2,2,3参考答案:A19.有以下程序#include<stdio.h>main(){inta=1,b=1;while(a--)b--;printf("%d,%d\n",a,b);}程序的运行结果是A)-1,0B)0,0C)-1,-1D)1,1参考答案:A20.有以下程序#include<stdio.h>main(){inta=1,b=0;for(;a<5;a++){if(a%2==0)break;b+=a;}printf("%d\n",b);}程序的运行结果是A)1B)10C)0D)4参考答案:A21.以下能正确输出字符a的语句是A)printf("%s","a");B)printf("%s",'a');C)printf("%c","a");D)printf("%d",'a');参考答案:A22.有以下程序#include<stdio.h>main(){charc;do{c=getchar();putchar(c);}while(c!='#');printf("\n");}执行时如输入:abcdefg##<回车>,则输出结果是A)abcdefg#B)abcdefgC)abcdefg##D)##参考答案:A23.以下关于C语言函数参数传递方式的叙述正确的是A)数据只能从实参单向传递给形参B)数据可以在实参和形参之间双向传递C)数据只能从形参单向传递给实参D)C语言的函数参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用参考答案:A24以下关于指针的叙述正确是A)所有类型的指针变量所占内存的大小是一样的B)指针变量所占内存的大小与其类型有关,char型指针变量只占1个字节,double型指针变量占8个字节C)指针变量可直接指向任何类型的变量,而不会出现编译或运行错误D)指针变量既可以直接指向结构体,也可直接指向结构体中某个成员,而不会出现编译或运行错误参考答案:A25.有以下程序#include<stdio.h>intk=5;voidf(int*s){s=&k;}main(){intm=3,*p=&m;f(p);printf("%d,%d\n",m,*p);}程序的运行结果是A)3,3B)5,5C)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)5,5,5,5,5B)3,5,5,5,5C)5,3,3,3,5D)3,5,3,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);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,参考答案:A28.有以下程序#include<stdio.h>voidfun(inta[],intn){inti,j=0,k=n/2,b[10];for(i=n/2-1;i>=0;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)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,参考答案: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]);i=0;}printf("%s\n",a);}程序的运行结果是A)you!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)+strlen(a)+1;printf("%s\n",p);}程序的运行结果是A)toBeijing!B)youtoBeijing!C)WelcomeyoutoBeijing!D)Beijing!参考答案:A31有以下程序#include<stdio.h>main(){charb[4][10];inti;for(i=0;i<4;i++)scanf("%s",b[i]);printf("%s%s%s%s\n",b[0],b[1],b[2],b[3]);}执行时若输入: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])-1];w[5]='\0';puts(w);}程序的运行结果是A)flqv.B)agmrwC)ekpuyD)flqvz参考答案:A33.有以下程序#include<stdio.h>voidf(intx[],intn){if(n>1){f(&x[1],n-1);printf("%d,",x[0]);}elseprintf("%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,1C)1,1,1,1,1,1,D)1,2,3,4,5,6,参考答案:A34.有以下程序#include<stdio.h>inta=2;intf(){staticintn;intm;m=n=0;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,C)5,8,11,D)5,5,5,参考答案:A35.有以下程序#include<stdio.h>#defineS(x)x*xmain(){intk=5,j=2;printf("%d,%d\n",S(k+j+2),S(j+k+2));}程序的运行结果是A)21,18B)81,81C)21,21D)18,18参考答案:A36.有以下程序#include<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,290B)Zhao,m,290,Qian,f,350C)Qian,f,350,Qian,f,350D)Qian,f,350,Zhao,m,290参考答案:A37.有以下程序#include<stdio.h>#include<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,290B)Zhao,m,290,Zhao,m,290C)Zhao,m,290,Qian,m,350D)Zhao,m,290,Qian,f,350参考答案:A38.若有定义typedefintT[10];T*a[20];则与上述定义完全等价的说明语句是A)int*a[20][10];B)int*a[20];C)int*a[10];D)int*a[10][20];参考答案:A39.有以下程序#include<stdio.h>main(){intc,d;c=13&5;d=10&&5;printf("%d,%d\n",c,d);}程序的运行结果是A)5,1B)1,1C)18,1D)13,1参考答案:A40.有以下程序#include<stdio.h>main(){FILE*fp;inti,a[6]={1,2,3,4,5,6},k;fp=fopen("data.dat","w+b");fwrite(&a[0],sizeof(int),1,fp);for(i=1;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)21B)6C)123456D)11参考答案: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,

温馨提示

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

评论

0/150

提交评论