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

下载本文档

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

文档简介

2025年全国计算机二级等级考试模拟试卷及答案(共四套)2025年全国计算机二级等级考试模拟试卷及答案(第一套)1下列叙述中正确的是()。A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性参考答案:B2.下列叙述中正确的是()。A)栈是一种先进先出的线性表B)队列是一种后进先出的线性表C)栈与队列都是非线性结构D)以上三种说法都不对参考答案:D3.软件测试的目的是()。A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误参考答案:D4.在软件开发中,需求分析阶段产生的主要文档是()。A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书参考答案:D5.软件生命周期是指()。A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程参考答案:A6.面向对象方法中,继承是指()。A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制参考答案:D7.层次型、网状型和关系型数据库划分原则是()。A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式参考答案:D8.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是()。A)一对一B)一对多C)多对多D)多对一参考答案:C9.数据库设计中反映用户对数据要求的模式是()。A)内模式B)概念模式C)外模式D)设计模式参考答案:C10.有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。A)自然连接B)差C)交D)并参考答案:B11.计算机能直接执行的程序是A)源程序B)目标程序C)汇编程序D)可执行程序参考答案:D12.以下叙述中正确的是A)C语言规定必须用main作为主函数名,程序将从此开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言程序将从源程序中第一个函数开始执行D)main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等参考答案:A13.以下选项中可用作C程序合法实数的是A)3.0e0.2B).1e0C)E9D)9.12E参考答案:B14.下列定义变量的语句中错误的是A)int_int;B)doubleint_;C)charFor;D)floatUS$;参考答案:D15.表达式:(int)((double)9/2)-9%2的值是A)0B)3C)4D)5参考答案:B16.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)A)10□X<回车>20□Y<回车>B)10□X20□Y<回车>C)10X<回车>20Y<回车>D)10□X□20□Y<回车>参考答案:C17.以下选项中不能作为C语言合法常量的是A)0.1e+6B)'cd'C)"\a"D)'\011'参考答案:B18.f语句的基本形式是:if(表达式)语句,以下关于"表达式"值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值参考答案:D19.有如下嵌套的if语句if(a<b)if(a<c)k=a;elsek=c;elseif(b<c)k=b;elsek=c;以下选项中与上述if语句等价的语句是A)k=(a<b)?((b<c)?a:b):((b>c)?b:c);B)k=(a<b)?((a<c)?a:c):((b<c)?b:c);C)k=(a<b)?a:b;k=(b<c)?b:c;D)k=(a<b)?a:b;k=(a<c)?a:c;参考答案:B20.有以下程序#include<stdio.h>main(){intk=5;while(--k)printf("%d",k-=3);printf("\n");}执行后的输出结果是A)1B)2C)4D)死循环参考答案:A21.有以下程序#include<stdio.h>main(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}}程序的运行结果是A)432543B)453423C)233445D)233423参考答案:B22有以下程序#include<stdio.h>main(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:case4:n+=2;k--;break;}printf("%d",n);}while(k>0&&n<5);}程序运行后的输出结果是A)02356B)0235C)235D)2356参考答案:C23.以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处参考答案:B24.已定义以下函数intfun(int*p){return*p;}fun函数返回值是A)一个整数B)不确定的值C)形参p中存放的值D)形参p的地址值参考答案:A25.以下程序段完全正确的是A)int*p;scanf("%d",&p);B)int*p;scanf("%d",p);C)intk,*p=&k;scanf("%d",p);D)intk,*p;*p=&k;scanf("%d",p);参考答案:C26.设有定义doublea[10],*s=a;以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3参考答案:B27.有以下程序#include<stdio.h>voidf(int*q){inti=0;for(;i<5;i++)(*q)++;}main(){inta[5]={1,2,3,4,5},i;f(a);for(i=0;i<5;i++)printf("%d,",a[i]);}程序运行后的输出结果是A)6,2,3,4,5,B)2,2,3,4,5,C)1,2,3,4,5,D)2,3,4,5,6,参考答案:A28.有以下程序#include<stdio.h>intfun(int(*s)[4],intn,intk){intm,i;m=s[0][k];for(i=1;i<n;i++)if(s[i][k]>m)m=s[i][k];returnm;}main(){inta[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24},{31,32,33,34}};printf("%d\n",fun(a,4,0));}程序的运行结果是A)4B)34C)31D)32参考答案:C29.以下选项中正确的语句组是A)char*s;s={"BOOK!"};B)char*s;s="BOOK!";C)chars[10];s="BOOK!";D)chars[];s="BOOK!";参考答案:B30.若有定义语句:char*s1="OK",*s2="ok";以下选项中,能够输出"OK"的语句是A)if(strcmp(s1,s2)!=0)puts(s2);B)if(strcmp(s1,s2)!=0)puts(s1);C)if(strcmp(s1,s2)==1)puts(s1);D)if(strcmp(s1,s2)==0)puts(s1);参考答案:B31.以下程序#include<stdio.h>voidfun(char**p){++p;printf("%s\n",*p);}main(){char*a[]={"Morning","Afternoon","Evening","Night"};fun(a);}程序的运行结果是A)AfternoonB)fternoonC)MorningD)orning参考答案:A32有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母#include<stdio.h>#include<ctype.h>voidfun(char*p){inti=0;while(p[i]){if(p[i]==''&&islower(p[i-1]))p[i-1]=p[i-1]-'a'+'A';i++;}}main(){chars1[100]="abcdEFG!";fun(s1);printf("%s\n",s1);}程序运行后的输出结果是A)abcdEFg!B)AbCdEFg!C)abcdEFG!D)aBcDEFG!参考答案:D33.有以下程序#include<stdio.h>intf(intx){inty;if(x==0||x==1)return(3);y=x*x-f(x-2);returny;}main(){intz;z=f(3);printf("%d\n",z);}程序的运行结果是A)0B)9C)6D)8参考答案:C34.有以下程序#include<stdio.h>intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i];returnsum;}main(){inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;s=fun(a,5)+fun(b,4);printf("%d\n",s);}程序执行后的输出结果是A)55B)50C)45D)60参考答案:D35.有以下结构体说明、变量定义和赋值语句structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];则以下scanf函数调用语句有错误的是A)scanf("%s",s[0].name);B)scanf("%d",&s[0].age);C)scanf("%c",&(ps->sex));D)scanf("%d",ps->age);参考答案:D36.若有以下语句typedefstructS{intg;charh;}T;以下叙述中正确的是A)可用S定义结构体变量B)可用T定义结构体变量C)S是struct类型的变量D)T是structS类型的变量参考答案:B37.有以下程序#include<stdio.h>#include<string.h>structA{inta;charb[10];doublec;};structAf(structAt);main(){structAa={1001,"ZhangDa",1098.0};a=f(a);printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}structAf(structAt){t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returnt;}程序运行后的输出结果是A)1002,ZhangDa,1202.0B)1002,ChangRong,1202.0C)1001,ChangRong,1098.0D)1001,ZhangDa,1098.0参考答案:B38.设有宏定义:#defineIsDIV(k,n)((k%n==1)?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&&IsDIV(m,7)为真时所要表达的是A)判断m是否能被5和7整除B)判断m被5和7整除是否都余1C)判断m被5或者7整除是否余1D)判断m是否能被5或者7整除参考答案:B39.有以下程序#include<stdio.h>main(){inta=1,b=2,c=3,x;x=(a^b)&c;printf("%d\n",x);}程序的运行结果是A)3B)1C)2D)0参考答案:A40.有以下程序#include<stdio.h>main(){FILE*fp;intk,n,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序运行后的输出结果是A)12B)14C)1234D)123456参考答案:D2025年全国计算机二级等级考试模拟试卷及答案(第二套)1.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。A)12345ABCDEB)EDCBA54321C)ABCDE12345D)54321EDCBA参考答案:B2.下列叙述中正确的是()。A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定参考答案:D3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。A)O(n)B)O(n2)C)D)参考答案:C4.下列叙述中正确的是()。A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间参考答案:A5.数据流图中带有箭头的线段表示的是()。A)控制流B)事件驱动C)模块调用D)数据流参考答案:D6.在软件开发中,需求分析阶段可以使用的工具是()。A)N-S图B)DFD图C)PAD图D)程序流程图参考答案:B7.在面向对象方法中,不属于"对象"基本特点的是()。A)一致性B)分类性C)多态性D)标识唯一性参考答案:A8.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。A)一对一B)一对多C)多对一D)多对多参考答案:B9.在数据管理技术发展的三个阶段中,数据共享最好的是()。A)人工管理阶段B)文件系统阶段C)数据库系统阶段D)三个阶段相同参考答案:C10.有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。A)笛卡尔积B)交C)并D)自然连接参考答案:D11.下列叙述中错误的是()。A)C程序可以由多个程序文件组成B)一个C语言程序只能实现一种算法C)C程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在参考答案:B12.以下选项中,能用作数据常量的是()。A)115LB)0118C)1.5e1.5D)o115参考答案:A13.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。A)大写字母B)下划线C)数字字符D)连接符参考答案:D14.设变量已正确定义并赋值,以下正确的表达式是()。A)x=y+z+5,++yB)int(15.8%5)C)x=y*5=x+zD)x=25%5.0参考答案:A15.设有定义:intx=2;,以下表达式中,值不为6的是()。A)2*x,x+=2B)x++,2*xC)x*=(1+x)D)x*=x+1参考答案:A16.有以下程序:#include<stdio.h>main(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是()。A)2,3,3B)2,3,2C)2,3,1D)2,2,1参考答案:C17.有以下程序:#include<stdio.h>main(){charc1,c2;c1='A'+'8'-'4';c2='A'+'8'-'5';printf("%c,%d\n",c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是()。A)E,68B)D,69C)E,DD)输出无定值参考答案:A18.若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是()。A)(x-y<0||x-y>0)B)(x-y<0)C)(x-y>0)D)(x-y==0)参考答案:A19.有以下程序:#include<stdio.h>main(){intx=1,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;elsey+=3;printf("%d\n",y);}程序运行后的输出结果是()。A)3B)2C)1D)0参考答案:D20.若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是()。A)switch(a+b){case1:printf("*\n");case2+1:printf("**\n");}B)switch((int)x);{case1:printf("*\n");case2:printf("**\n");}C)switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}D)switch(a+b){case1:printf("*\n");casec:printf("**\n");}参考答案:A21.有以下程序:#include<stdio.h>main(){inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的运行结果是()。A)852B)963C)741D)875421参考答案:A22.有以下程序:#include<stdio.h>main(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j>3)break;m*=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是()。A)m=4B)m=2C)m=6D)m=5参考答案:C23.有以下程序:#include<stdio.h>intfun(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}A)6B)3C)8D)12参考答案:A24.有以下程序:#include<stdio.h>intadd(inta,intb){return(a+b);}main(){intk,(*f)(),a=5,b=10;f=add;…}则以下函数调用语句错误的是()。A)k=f(a,b);B)k=add(a,b);C)k=(*f)(a,b);D)k=*f(a,b);参考答案:D25.有以下程序:#include<stdio.h>main(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);printf("outputn:");printf("%d\n",p);}25.26.下列定义数组的语句中,正确的是()。A)#defineN10intx[N];B)intN=10;intx[N];C)intx[0..10];D)intx[];参考答案:A26.该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是()A)intn,*p=NULL;B)*p=&n;C)scanf("%d",&p)D)printf("%d\n",p);参考答案:A27.有以下程序:#include<stdio.h>main(){inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2){case0:a[i]++;break;case1:a[i]--;}break;case1:a[i]=0;}for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");}程序运行后的输出结果是()。A)0304B)2050C)3344D)3040参考答案:D28.有以下程序:#include<stdio.h>main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是()。A)3B)4C)1D)9参考答案:B29.以下语句中存在语法错误的是()。A)charss[6][20];ss[1]="right?";B)charss()[20]={"right?"};C)char*ss[6];ss[1]="right?";D)char*ss()={"right?"};参考答案:A30.以下不能将s所指字符串正确复制到t所指存储空间的是()A)do{*t++=*s++;}while(*s);B)for(i=0;t[i]=s[i];i++);C)while(*t=*s){t++;s++}D)for(i=0,j=0;t[i++]=s[j++];);参考答案:A31.有以下程序:#include<stdio.h>voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;}main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序执行后的输出结果是()。A)321,cbaB)abc,123C)123,abcD)1bc,a23参考答案:D32.有以下函数:intfun(char*x,char*y){intn=0;while((*x==*y)&&*x!='\0'){x++;y++;n++;}returnn;}函数的功能是()。A)将y所指字符串赋给x所指存储空间B)查找x和y所指字符串中是否有'\0'C)统计x和y所指字符串中最前面连续相同的字符个数D)统计x和y所指字符串中相同的字符个数参考答案:C33.有以下程序:#include<stdio.h>intfun(){staticintx=1;x*=2;returnx;}main(){inti,s=1;for(i=1;i<=3;i++)s*=fun();printf("%d\n",s);}程序运行后的输出结果是()。A)10B)30C)0D)64参考答案:D34.在一个C源程序文件中所定义的全局变量,其作用域为()。A)由具体定义位置和extern说明来决定范围B)所在程序的全部范围C)所在函数的全部范围D)所在文件的全部范围参考答案:A35.以下叙述中错误的是()。A)可以通过typedef增加新的类型B)可以用typedef将已存在的类型用一个新的名字来代表C)用typedef定义新的类型名后,原有类型名仍有效D)用typedef可以为各种类型起别名,但不能为变量起别名参考答案:A36.有以下程序:#include<stdio.h>structS{inta,b;}data[2]={10,100,20,200};main(){structSp=data[1];printf("%d\n",++(p.a));}程序运行后的输出结果是()。A)10B)11C)20D)21参考答案:D38.有以下程序:#include<stdio.h>main(){unsignedchara=2,b=4,c=5,d;d=a|b;d&=c;printf("%d\n",d);}程序运行后的输出结果是()。A)3B)4C)5D)6参考答案:B39.有以下程序:#include<stdio.h>#include<stdlib.h>main(){int*a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3;a=b;printf("%d,%d,%d\n",*a,*b,*c);}程序运行后的输出结果是()。A)1,1,3B)2,2,3C)1,2,3D)3,3,3参考答案:D40.以下叙述中正确的是()。A)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C)在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据D)C语言中的文件是流式文件,因此只能顺序存取数据参考答案:A2025年全国计算机二级等级考试模拟试卷及答案(第三套)1.下列叙述中正确的是()。A)栈是"先进先出"的线性表B)队列是"先进后出"的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构参考答案:D2.支持子程序调用的数据结构是()。A)栈B)树C)队列D)二叉树参考答案:A3.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。A)10B)8C)6D)4参考答案:C4.下列排序方法中,最坏情况下比较次数最少的是()。A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序参考答案:D5.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。A)编译程序B)操作系统C)教务管理系统D)汇编程序参考答案:C6.下面叙述中错误的是()A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行"错误定位"是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性参考答案:A7.下面叙述中错误的是()A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行"错误定位"是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性参考答案:A8.数据库应用系统中的核心问题是()。A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训参考答案:A9.有两个关系R,S如下:由关系R通过运算得到关系S,则所使用的运算为()。A)选择B)投影C)插入D)连接参考答案:B10.将E-R图转换为关系模式时,实体和联系都可以表示为()。A)属性B)键C)关系D)域参考答案:C11.以下叙述中错误的是()。A)使用三种基本结构构成的程序只能解决简单问题B)结构化程序由顺序、分支、循环三种基本结构组成C)C语言是一种结构化程序设计语言D)结构化程序设计提倡模块化的设计方法参考答案:A12.以下四个程序中,完全正确的是()。A)#include<stdio.h>main();{/*/programming/*/printf("programming!\n");}B)#include<stdio.h>main(){/*programming*/printf("programming!\n");}C)#include<stdio.h>main(){/*/*programming*/*/printf("programming!\n");}D)include<stdio.h>main(){/*programming*/printf("programming!\n");}参考答案:B13.C源程序中不能表示的数制是()。A)十六进制B)八进制C)十进制D)二进制参考答案:D14.以下选项中,能用作用户标识符的是()。A)0B)88C)voidD)unsigned参考答案:A15.若有定义语句:intx=10;,则表达式x-=x+x的值为()。A)0B)-20C)-10D)10参考答案:C16.有以下程序:#include<stdio.h>main(){inta=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b);A)1,2B)1,0C)3,2D)0,0参考答案:A17.有以下程序:#include<stdio.h>main(){inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b则正确的输入格式是(以下代表空格,<CR>代表回车)()。A)12a34b<CR>B)12a34]b<CR>C)12,a,34,b<CR>D)12a34b<CR>参考答案:D18.若变量已正确定义,在if(W)printf("%d\n",k);中,以下不可替代W的是()。A)a<>b+cB)ch=getchar()C)a==b+cD)a++参考答案:A19.有以下程序段:#include<stdio.h>inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);程序的输出结果是()。A)a=10b=50c=30B)a=10b=50c=10C)a=10b=30c=10D)a=50b=30c=50参考答案:B20.有以下程序段:#include<stdio.h>inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);程序的输出结果是()。A)a=10b=50c=30B)a=10b=50c=10C)a=10b=30c=10D)a=50b=30c=50参考答案:B21.以下不构成无限循环的语句或语句组是()。A)n=0;do{++n;}while(n<=0);B)n=0;while(1){n++;}C)n=10;while(n);{n--;}D)for(n=0,i=1;;i++)n+=i;参考答案:A22.有以下程序:#include<stdio.h>main(){intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}printf("%d\n",c);}程序运行后的输出结果是()。A)7B)5C)3D)9参考答案:C23.有以下程序:#include<stdio.h>intf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf("%d\n",d);}程序运行后的输出结果是()。A)7B)10C)8D)9参考答案:D24.若有定义语句:doublea,*p=&a;以下叙述中错误的是()。A)定义语句中的*号是一个间址运算符B)定义语句中的*号是一个说明符C)定义语句中的p只能存放double类型变量的地址D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p参考答案:A25.若有定义语句:doublex,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是()。A)scanf("%lf%le",px,py);B)scanf("%f%f"&x,&y);C)scanf("%f%f",x,y);D)scanf("%lf%lf",x,y);参考答案:A26.以下定义数组的语句中错误的是()。A)intnum[][3]={{1,2},3,4,5,6};B)intnum[2][4]={{1,2},{3,4},{5,6}};C)intnum[]={1,2,3,4,5,6};D)intnum[][4]={1,2,3,4,5,6};参考答案:B27.有以下程序:#include<stdio.h>voidfun(inta,intb){intt;t=a;a=b;b=t;}main(){intc[10]={1,2,3,4,5,6,7,8,9,0},i;for(i=0;i<10;i+=2)fun(c[i],c[i+1]);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序的运行结果是()。A)1,2,3,4,5,6,7,8,9,0,B)2,1,4,3,6,5,8,7,0,9,C)0,9,8,7,6,5,4,3,2,1,D)0,1,2,3,4,5,6,7,8,9,参考答案:A28.有以下程序:#include<stdio.h>main(){intx[3][2]={0},i;for(i=0;i<3;i++)scanf("%d",x[i]);printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);}若运行时输入:246<回车>,则输出结果为()。A)204B)200C)240D)246参考答案:A29.有以下程序段:#include<stdio.h>intj;floaty;charname[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入555667777abc后,y的值为()。A)566.0B)55566.0C)7777.0D)566777.0参考答案:A30.下列语句组中,正确的是()。A)char*s;s="Olympic";B)chars[7];s="Olympic";C)char*s;s={"Olympic"};D)chars[7];s={"Olympic"};参考答案:A31.有以下函数:intfun(char*s){char*t=s;while(*t++);return(t-s);}该函数的功能是()A)计算s所指字符串的长度B)比较两个字符串的大小C)计算s所指字符串占用内存字节的个数D)将s所指字符串复制到字符串t中参考答案:A32.有以下程序(注:字符a的ASCII码值为97):#include<stdio.h>main(){char*s={"abc"};do{printf("%d",*s%10);++s;}while(*s);}程序运行后的输出结果是()。A)789B)abcC)7890D)979899参考答案:A33.设有如下函数定义:#include<stdio.h>intfun(intk){if(k<1)return0;elseif(k==1)return1;elsereturnfun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是()。A)2B)3C)4D)5参考答案:B34.有以下程序:#include<stdio.h>intf(intn);main(){inta=3,s;s=f(a);s=s+f(a);printf("%d\n",s);}intf(intn){staticinta=1;n+=a++;returnn;}程序运行后的输出结果是()。A)9B)8C)7D)10参考答案:A35.设有定义:structcomplex{intreal,unreal;}data1={1,8},data2;则以下赋值语句中错误的是()。A)data2=(2,6);B)data2=data1;C)data2.real=data1.real;D)data2.real=data1.unreal;参考答案:A36.有以下程序:#include<stdio.h>structS{intn;inta[20];};voidf(structS*p){inti,j,t;for(i=0;i<p->n-1;i++)for(j=i+1;j<p->n;j++)if(p->a[i]>p->a[j]){t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}}main(){inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i<s.n;i++)printf("%d,",s.a[i]);}程序运行后的输出结果是()。A)2,3,1,6,8,7,5,4,10,9,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,4,5,6,7,8,9,10,D)10,9,8,7,6,1,2,3,4,5,参考答案:C37.有以下程序:#include<stdio.h>structS{intn;inta[20];};voidf(structS*p){inti,j,t;for(i=0;i<p->n-1;i++)for(j=i+1;j<p->n;j++)if(p->a[i]>p->a[j]){t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}}main(){inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i<s.n;i++)printf("%d,",s.a[i]);}程序运行后的输出结果是()。A)2,3,1,6,8,7,5,4,10,9,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,4,5,6,7,8,9,10,D)10,9,8,7,6,1,2,3,4,5,参考答案:C38.以下关于宏的叙述中正确的是()。A)宏替换没有数据类型限制B)宏定义必须位于源程序中所有语句之前C)宏名必须用大写字母表示D)宏调用比函数调用耗费时间参考答案:A39.设有以下语句:inta=1,b=2,c;c=a^(b<<2);执行后,c的值为()。A)7B)9C)8D)6参考答案:B40.#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3},i,n;fp=fopen("d1.dat","w");for(i=0;i<3;i++)fprintf(fp,"%d",a[i]);fprintf(fp,"\n");fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d",&n);fclose(fp);printf("%d\n",n);}程序的运行结果是()。A)321B)12300C)1D)123参考答案:D2025年全国计算机二级等级考试模拟试卷及答案(第四套)1.下列数据结构中,属于非线性结构的是()。A)循环队列B)带链队列C)二叉树D)带链栈参考答案:C2.下列数据结构中,能够按照"先进后出"原则存取数据的是()。A)循环队列B)栈C)队列D)二叉树参考答案:B3.对于循环队列,下列叙述中正确的是()。A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针参考答案:D4.算法的空间复杂度是指()。A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数参考答案:A5.软件设计中划分模块的一个准则是()。A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合参考答案:B6.下列选项中不属于结构化程序设计原则的是()。A)可封装B)自顶向下C)模块化D)逐步求精参考答案:A7.软件详细设计生产的图如下:该图是()A)N-S图B)PAD图C)程序流程图D)E-R图参考答案:C8.数据库管理系统是()。A)操作系统的一部分B)在操作系统支持下的系统软件C)一种编译系统D)一种操作系统参考答案:B9.在E-R图中,用来表示实体联系的图形是()。A)椭圆形B)矩形C)菱形D)三角形参考答案:C10.有三个关系R、S和T如下:则关系T是由关系R和S通过某种操作得到,该操作为()。A)选择B)投影C)交D)并参考答案:D11.以下关于结构化程序设计的叙述中正确的是A)结构化程序使用goto语句会很便捷B)在C语言中,程序的模块化是利用函数实现的C)一个结构化程序必须同时由顺序、分支、循环三种结构组成D)由三种基本结构构成的程序只能解决小规模的问题参考答案:B12.对于一个正常运行的C程序,以下叙述中正确的是A)程序的执行总是从main函数开始,在程序的最后一个函数中结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束参考答案:C13.以下选项中能表示合法常量的是A)1,200B)1.5E2.0C)'\'D)"\007"参考答案:D14.以下定义语句中正确的是A)inta=b=0;B)charA=65+1,b='b';C)floata=1,*b=&a,*c=&b;D)doublea=0.0;b=1.1;参考答案:B15.若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是A)x+1=yB)++x,y=x--C)x=x+10=x+yD)double(x)/10参考答案:B16.若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)A)1,2,3<回车>B)□□□1,2,3<回车>C)1,□□□2,□□□3<回车>D)1□2□3<回车>参考答案:D17.以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)A)printf("%c\n",'a'-32);B)printf("%d\n",'A');C)printf("%c\n",65);D)printf("%c\n",'B'-1);参考答案:B18.若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定参考答案:A19.设有定义:inta=1,b=2,c=3;以下语句中执行效果与其它三个不同的是A)if(a>b)c=a,a=b,b=c;B)if(a>b){c=a,a=b,b=c;}C)if(a>b)c=a;a=b;b=c;D)if(a>b){c=a;a=b;b=c;}参考答案:C20.有以下程序#include<stdio.h>main(){inty=10;while(y--);printf("y=%d\n",y);}程序执行后的输出结果是A)y=0B)y=-1C)y=1D)while构成无限循环参考答案:B21.有以下程序#include<stdio.h>main(){inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);printf("\n");}}程序运行后的输出结果是A)1*1=11*2=21*3=32*2=42*3=63*3=9B)1*1=11*2=21*3=32*1=22*2=43*1=3C)1*1=11*2=22*2=41*3=32*3=63*3=9D)1*1=12*1=22*2=43*1=33*2=63*3=9参考答案:A22.有以下程序#include<stdio.h>main(){inti=5;do{if(i%3==1)if(i%5==2){printf("*%d",i);break;}i++;}while(i!=0);printf("\n");}程序的运行结果是A)*2*6B)*3*5C)*5D)*7参考答案:D23.有以下程序#include<stdio.h>doublef(doublex);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf("%3.0f\n",a);}doublef(doublex){returnx*x+1;}程序运行后的输出结果是A)500B)401C)503D)1404参考答案:C24.若有以下函数首部intfun(doublex[10],int*n)则下面针对此函数的函数声明语句中正确的是A)intfun(double,int);B)intfun(double*,int*);C)intfun(double*x,intn);D)intfun(doublex,int*n);参考答案:B25.有以下程序#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);}程序运行后的输出结果是A)2,1,1,2B)1,2,1,2C)2,1,2,1D)1,2,2,1参考答案:D26.若有以下定义intx[10],*pt=x;则对x数组元素的正确引用是A)pt+3B)*&x[10]C)*(pt+10)D)*(x+3)参考答案:D27.有以下程序#include<stdio.h>main(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}程序执行后的输出结果是A)20B)25C)45D)36参考答案:B28.有以下程序#include<stdio.h>#defineN4vo

温馨提示

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

评论

0/150

提交评论