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

下载本文档

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

文档简介

2025年全国计算机二级等级考试全真模拟试卷及答案(共九套)2025年全国计算机二级等级考试全真模拟试卷及答案(第一套)1.设循环队列为Q(1:m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=20,rear=15。现要在该循环队列中寻找最小值的元素,最坏情况下需要比较的次数为A)5B)6C)m-5D)m-6参考答案:D2.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的后序序列为A)EFGDCBAB)DCBEFGAC)BCDGFEAD)DCBGFEA参考答案:D3.下列叙述中正确的是A)在链表中,如果每个结点有两个指针域,则该链表一定是非线性结构B)在链表中,如果有两个结点的同一个指针域的值相等,则该链表一定是非线性结构C)在链表中,如果每个结点有两个指针域,则该链表一定是线性结构D)在链表中,如果有两个结点的同一个指针域的值相等,则该链表一定是线性结构参考答案:B4.下列叙述中错误的是A)在带链队列中,队头指针和队尾指针都是在动态变化的B)在带链栈中,栈顶指针和栈底指针都是在动态变化的C)在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的D)在带链队列中,队头指针和队尾指针可以指向同一个位置参考答案:B5.软件生命周期中,确定软件系统要做什么的阶段是A)需求分析B)软件测试C)软件设计D)系统维护参考答案:A6.下面对软件测试和软件调试有关概念叙述错误的是A)严格执行测试计划,排除测试的随意性B)程序调试通常也称为DebugC)软件测试的目的是发现错误和改正错误D)设计正确的测试用例参考答案:C7.下面属于系统软件的是A)财务管理系统B)编译软件C)编辑软件WordD)杀毒软件参考答案:B8.将E-R图转换为关系模式时,E-R图中的实体和联系都可以表示为A)属性B)键C)关系D)域参考答案:C9.有两个关系R与S如下,由关系R和S得到关系T,则所使用的操作为A)并B)自然连接C)笛卡尔积D)交参考答案:C10..在数据管理的三个发展阶段中,数据的共享性好且冗余度最小的是A)人工管理阶段B)文件系统阶段C)数据库系统阶段D)面向数据应用系统阶段参考答案:C11..以下叙述中错误的是A)书写风格良好的程序执行效率高B)书写风格良好的程序易读性好C)C程序可以在一行上写多条语句D)C程序允许将一条语句分写在多行上参考答案:A12..在C语言中,以下选项中不能正确表示10×1000之值的是A)1.0E4.0B)1.E4C)10E3D)1.0e4参考答案:A设有定义:inta=0,b=1,c=1;13..以下选项中,表达式值与其它三个不同的是A)b=a==cB)a=b=cC)a=c==bD)c=a!=c参考答案:A14.设有两行定义语句:intscanf;floatcase;则以下叙述正确的是A)第2行语句不合法B)两行定义语句都合法C)第1行语句不合法D)两行定义语句都不合法参考答案:A15.设有定义:doublex=2.12;,以下不能完整输出变量x值的语句是A)printf("x=%5.0f\n",x);B)printf("x=%f\n",x);C)printf("x=%lf\n",x);D)printf("x=%0.5f\n",x);参考答案:A16.设有定义:inta,b;floatx,y;,则以下选项中对语句所作的注释叙述错误的是A)scanf("%d%d%f",&a,&b);/*多余的格式符%f完全不起作用*/B)scanf("%d%d",&a,&b,&x);/*多余的输入项不能获得输入数据*/C)scanf("%d%f%d",&a,&b,&x);/*输入项与格式符类型不匹配,变量b和x得不到正确的输入数据*/D)scanf("Input:%d%d",&a,&b);/*格式串中允许加入格式符以外的字符串*/参考答案:A17.有如下程序#include<stdio.h>main(){inta=0,b=1;if(++a==b++)printf("T");elseprintf("F");printf("a=%d,b=%d\n",a,b);printf("\n");}程序运行后的输出结果是A)Ta=1,b=2B)Fa=1,b=2C)Ta=0,b=1D)Fa=0,b=2参考答案:A有如下程序#include<stdio.h>main(){inti=1;for(printf("%d",i);i<4;i++)printf("%d",i);printf("\n");}18.程序运行后的输出结果是A)1123B)123C)0123D)001参考答案:A19.有如下程序#include<stdio.h>main(){inti=1;for(printf("%d",i);i<4;i++)printf("%d",i);printf("\n");}程序运行后的输出结果是A)1123B)123C)0123D)001参考答案:A20.有如下程序#include<stdio.h>main(){if('\0'==0)putchar('X');if('0'==0)putchar('Y');if('a'>'b')putchar('Z');printf("\n");}程序运行后的输出结果是A)XB)XYZC)YZD)Y参考答案:A21.有如下程序#include<stdio.h>main(){charch='M';while(ch!='K'){ch--;putchar(ch);}printf("\n");}程序运行后的输出结果是A)LKB)MNC)OPD)MM参考答案:A22.有以下程序段scanf("%d%d%d",&a,&b,&c);if(a>b)a=b;if(a>c)a=c;printf("%d\n",a);该程序段的功能是A)输出a、b、c中的最小值B)输出a、b、c中的最大值C)输出a的原始值D)输出a、b、c中值相等的数值参考答案:A23.以下关于函数的叙述中正确的是A)函数形参的类型与返回值的类型无关B)函数必须要有形参C)函数必须要有返回值D)函数调用必须传递实参参考答案:A24.设有定义:inta,b[10],*c=NULL,*p;,则以下语句错误的是A)p=a;B)p=b;C)p=c;D)p=&b[0];参考答案:A25.有以下程序#include<stdio.h>voidfun(int*x,ints,inte){inti,j,t;for(i=s,j=e;i<j;i++,j--){t=*(x+i);*(x+i)=*(x+j);*(x+j)=t;}}main(){intm[]={0,1,2,3,4,5,6,7,8,9},k;fun(m,0,3);fun(m+4,0,5);fun(m,0,9);for(k=0;k<10;k++)printf("%d",m[k]);}程序的运行结果是A)4567890123B)3210987654C)9876543210D)0987651234参考答案:A26.设有n个数按从大到小的顺序存放在数组x中,以下能使这n个数在x数组中的顺序变为从小到大的是A)for(i=0;i<n/2;i++){t=x[i];x[i]=x[n-i-1];x[n-i-1]=t;}B)for(i=0;i<n;i++){t=x[i];x[i]=x[n-i-1];x[n-i-1]=t;}C)for(i=0;i<n/2;i++){t=x[i];x[i]=x[n-i+1];x[n-i+1]=t;}D)for(i=0;i<n/2;i+=2){t=x[i];x[i]=x[n-i-1];x[n-i-1]=t;}参考答案:A27.设有一个M*N的矩阵已经存放在一个M行N列的数组x中,且有以下程序段sum=0;for(i=0;i<M;i++)sum+=x[i][0]+x[i][N-1];for(j=1;j<N-1;j++)sum+=x[0][j]+x[M-1][j];以上程序段计算的是A)矩阵所有靠边元素之和B)矩阵所有不靠边元素之和C)矩阵所有元素之和D)矩阵两条对角线元素之和参考答案:A28.有以下程序#include<stdio.h>main(){ints[3][2]={1,2,3,4,5,6},*ps[3],k;for(k=0;k<3;k++){ps[k]=s[k];printf("%d",*(ps[k]+1));}}程序的运行结果是A)246B)135C)123D)456参考答案:A29.设有以下定义chars1[]="0123";chars2[]={'0','1','2','3'};则以下叙述正确的是A)数组s1的长度大于s2的长度B)数组s1和s2的长度相同C)数组s1的长度小于s2的长度D)数组s1和s2完全等价参考答案:A30.以下能正确进行字符串赋值的语句组是A)char*ch;ch="abc";B)charch[]={'a','b','c'};C)charch[3]="abc";D)charch[4];ch="abc";参考答案:A31.有以下程序#include<stdio.h>intfun(char*s){char*p=s;while(*p++!='\0');return(p-s);}main(){char*p="01234";printf("%d\n",fun(p));}程序的运行结果是A)6B)5C)4D)3参考答案:A32.有以下程序#include<stdio.h>main(){char*mm[4]={"abcd","1234","mnop","5678"};char**pm=mm;inti;for(i=0;i<4;i++)printf("%s",pm[i]+i);printf("\n");}程序的运行结果是A)abcd234op8B)abcd1234mnop5678C)a2o8D)a1m5参考答案:A33.有以下程序#include<stdio.h>voidfac2(int);voidfac1(intn){printf("*");if(n>0)fac2(n-1);}voidfac2(intn){printf("#");if(n>0)fac2(--n);}main(){fac1(3);}程序的运行结果是A)*###B)*##*C)**##D)*#*#参考答案:A34.有以下程序#include<stdio.h>intfun(intn){staticintt=1;inti=1;for(;i<=n;i++)t*=i;returnt;}main(){intt=1,i;for(i=2;i<4;i++)t+=fun(i);printf("%d\n",t);}程序的运行结果是A)15B)11C)8D)4参考答案:A35.有以下程序#include<stdio.h>#include<string.h>#include<stdlib.h>main(){char*p1,*p2;p1=p2=(char*)malloc(sizeof(char)*10);strcpy(p1,"malloc");strcpy(p2,p1+1);printf("%c%c\n",p1[0],p2[0]);}程序的运行结果是A)aaB)maC)amD)mm参考答案:A36.设有定义:struct{intn;floatx;}s[2],m[2]={{10,2.8},{0,0.0}};则以下赋值语句中正确的是A)s[0]=m[1];B)s=m;C)s.n=m.n;D)s[2].x=m[2].x;参考答案:A37.有以下程序#include<stdio.h>structS{inta;int*b;};main(){intx1[]={3,4},x2[]={6,7};structSx[]={1,x1,2,x2};printf("%d,%d\n",*x[0].b,*x[1].b);}程序的运行结果是A)3,6B)1,2C)4,7D)变量的地址值参考答案:A38.有以下程序#include<stdio.h>#include<string.h>typedefstruct{charname[10];charsex;intage;}STU;voidfun(STU*t){strcpy((*t).name,"Tong");(*t).age++;}main(){STUs[2]={"Hua",'m',18,"Qin",'f',19};fun(s+1);printf("%s,%d,%s,%d\n",s[0].name,s[0].age,s[1].name,s[1].age);}程序运行后的输出结果是A)Hua,18,Tong,20B)Hua,18,Qin,19C)Tong,19,Qin,19D)Hua,19,Tong,19参考答案:A39.以下不属于C语言位运算符的是A)!B)|C)^D)~参考答案:A40.有以下程序段FILE*fp;if((fp=fopen("test.txt","w"))==NULL){printf("不能打开文件!");exit(0);}elseprintf("成功打开文件!");若指定文件test.txt不存在,且无其他异常,则以下叙述错误的是A)输出"不能打开文件!"B)输出"成功打开文件!"C)系统将按指定文件名新建文件D)系统将为写操作建立文本文件参考答案: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

温馨提示

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

评论

0/150

提交评论