版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年全国计算机二级等级考试模拟试卷及答案(共十二套)2025年全国计算机二级等级考试模拟试卷及答案(第一套)1.程序流程图中带有箭头的线段表示的是()。A)图元关系B)数据流C)控制流D)调用关系参考答案:C2.结构化程序设计的基本原则不包括()。A)多态性B)自顶向下C)模块化D)逐步求精参考答案:A3.软件设计中模块划分应遵循的准则是()。A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合参考答案:B4.在软件开发中,需求分析阶段产生的主要文档是()。A)可行性分析报告B)软件需求规格说明书C)概要设计说明书D)集成测试计划参考答案:B5.算法的有穷性是指()。A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用参考答案:A6.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是()。A)快速排序B)冒泡排序C)直接插入排序D)堆排序参考答案:D7.下列关于栈的叙述正确的是()。A)栈按"先进先出"组织数据B)栈按"先进后出"组织数据C)只能在栈底插入数据D)不能删除数据参考答案:B8.在数据库设计中,将E-R图转换成关系数据模型的过程属于()。A)需求分析阶段B)概念设计阶段C)逻辑设计阶段D)物理设计阶段参考答案:C9.有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。A)并B)自然连接C)笛卡尔积D)交参考答案:D10.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。A)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩参考答案:C11.C语言程序的模块化通过以下哪个选项来实现A)变量B)函数C)程序行D)语句参考答案:B12.以下选项中不属于C语言标识符的是A)常量B)用户标识符C)关键字D)预定义标识符参考答案:A13.以下选项中不属于C语言程序运算符的是A)sizeofB)<>C)()D)&&参考答案:B14.若变量已正确定义并赋值,以下不能构成C语句的选项是A)B++;B)A=a+b;C)a=a+bD)A?a:b;参考答案:C15.若有以下程序段doublex=5.16894;printf("%f\n",(int)(x*1000+0.5)/(double)1000);则程序段的输出结果是A)5.170000B)5.175000C)5.169000D)5.168000参考答案:C16.设有定义:doublea,b,c;若要求通过输入分别给a、b、c输入1、2、3,输入形式如下(注:此处□代表一个空格)□□1.0□□2.0□□3.0<回车>则能进行正确输入的语句是A)scanf("%lf%lf%lf",a,b,c);B)scanf("%lf%lf%lf",&a,&b,&c);C)scanf("%f%f%f",&a,&b,&c);D)scanf("%5.1lf%5.1lf%5.1lf",&a,&b,&c);参考答案:B17.若有定义语句charc='\101';则变量c在内存中占A)1个字节B)2个字节C)3个字节D)4个字节参考答案:A18.若有以下程序#include<stdio.h>main(){charc1,c2;c1='C'+'8'-'3';c2='9'-'0';printf("%c%d\n",c1,c2);}则程序的输出结果是A)H'9'B)H9C)F'9'D)表达式不合法输出无定值参考答案:B19.表示关系式x≤y≤z的C语言表达式的是A)(x<=y)&&(y<=x)B)(x<=y)||(y<=x)C)(x<=y<=z)D)x<=y)!(y<=x)参考答案:A20.有以下程序#include<stdio.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}程序运行后的输出结果是A)a=1,b=0B)a=1,b=1C)a=2,b=1D)a=2,b=2参考答案:C21.有以下程序#include<stdio.h>main(){intk,j,s;for(k=2;k<6;k++,k++){s=1;for(j=k;j<6;j++)s+=j;}printf("%d\n",s);}程序运行后的输出结果是A)6B)10C)24D)40参考答案:B22.由以下while构成的循环,循环体执行的次数是intk=0;while(k=1)k++;A)有语法错,不能执行B)一次也不执行C)执行一次D)无限次参考答案:D23.有以下程序#include<stdio.h>intfun(inta,intB){returna+b;}main(){intx=6,y=7,z=8,r;r=fun(fun(x,y),z--);printf("%d\n",r);}程序运行后的输出结果是A)21B)15C)20D)31参考答案:A24.以下选项中函数形参不是指针的是A)fun(int*a){…}B)fun(inta[10]){…}C)fun(int&p){…}D)fun(intp[]){…}参考答案:C25.有以下程序#include<stdio.h>main(){inty=1,x,a[]={2,4,6,8,10},*p;p=&a[1];for(x=0;x<3;x++)y=y+*(p+x);printf("%d\n",y);}程序运行后的输出结果是A)17B)19C)18D)20参考答案:B26.以下程序调用fun函数求数组中最大值所在元素的下标。#include<stdio.h>voidfun(int*s,intn,int*k){inti;for(i=0,*k=i;i<n;i++)if(s[i]>s[*k])__________;}main(){inta[5]={1,6,2,8,0},k;fun(a,5,&k);printf("%d%d\n",k,a[k]);}在横线处应填入的内容是A)*k=iB)k=iC)*k=i-sD)k=i-s参考答案:A27.有以下程序#include<stdio.h>main(){inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},(*p)[4]=a,i,j,k=0;for(i=0;i<3;i++)for(j=0;j<2;j++)k=k+*(*(p+i)+j);printf("%d\n",k);}程序运行后的输出结果是A)108B)68C)99D)60参考答案:D28.有以下程序#include<stdio.h>intfuna(inta,intB){returna+b;}intfunb(inta,intB){returna-b;}intsss(int(*t)(),intx,inty){return((*t)(x,y));}main(){intx;x=sss(funa,9,3);x+=sss(funb,8,3);printf("%d\n",x);}程序运行后的输出结果是A)24B)23C)17D)22参考答案:C29.有以下程序#include<stdio.h>intfun(intx){intp;if(x==0||x==1)return(3);p=x-fun(x-2);return(p);}main(){printf("%d\n",fun(9));}程序运行后的输出结果是A)4B)5C)9D)7参考答案:D30.以下选项中,能正确进行字符串赋值的是A)char*s="ABCDE";B)chars[5]={'A','B','C','D','E'};C)chars[4][5]={"ABCDE"};D)char*s;gets(s);参考答案:A31.有以下程序#include<stdio.h>voidfun(char**p){inti;for(i=0;i<4;i++)printf("%s",p[i]);}main(){char*s[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};fun(s);printf("\n");}程序运行后的输出结果是A)ABCDEFGHIJKLB)ABCDC)AEIMD)ABCDEFGHIJKLMNOP参考答案:D32.以下fun函数的功能是将形参s所指字符串内容颠倒过来voidfun(char*s){inti,j,k;for(i=0,j=strlen(s)__________;i<j;i++,j--){k=s[i];s[i]=s[j];s[j]=k;}}在横线处应填入的内容是A)+1B)-1C)+0D),k=0参考答案:B33.有以下程序#include<stdio.h>voidfun(char*p,intn){charb[6]="abcde";inti;for(i=0,p=b;i<n;i++)p[i]=b[i];}main(){chara[6]="ABCDE";fun(a,5);printf("%s\n",a);}程序运行后的输出结果是A)abcdeB)ABCDEC)edcbaD)EDCBA参考答案:B34.有以下程序#include<stdio.h>fun(inta,intb){intstaticm=0,i=2;i=i+m+1;m=i+a+b;returnm;}main(){intk=4,m=1,p;p=fun(k,m);printf("%d,",p);p=fun(k,m);printf("%d\n",p);}程序运行后的输出结果是A)8,17B)7,16C)8,8D)7,17参考答案:A35.为了建立如图所示的存储结构(即每个结点含两个域,data是数据域,next是指向结点的指针域),则在【】处应填入的选项是 Structlink{chardata;【】}node;A)linknext;B)structlink*next;C)link*next;D)structlinknext;参考答案:B36.以下结构体说明和变量定义中,正确的是A)typedefstructabc{intn;doublem;}ABC;ABCx,y;B)structabc{intn;doublem};structabcx,y;C)structABC{intn;doublem;}structABCx,y;D)structabc{intn;doublem;};abcx,y;参考答案:A37.有以下程序#include<stdio.h>#include<stdlib.h>voidfun(int*p1,int*p2,int*s){s=(int*)malloc(sizeof(int));*s=*p1+*(p2++);}main(){inta[2]={1,2},b[2]={10,20},*s=a;fun(a,b,s);printf("%d\n",*s);}程序运行后的输出结果是A)11B)10C)1D)2参考答案:C38.以下程序依次把从终端输入的字符存放到f文件中,用#作为结束输入的标志,则在横线处应填入的选项是#include<stdio.h>main(){FILE*fp;charch;fp=fopen("fname","w");while((ch=getchar())!='#')fputc(__________);fclose(fp);}A)ch,"fname"B)fp,chC)chD)ch,fp参考答案:D39.有以下程序#include<stdio.h>#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){printf("%d\n",NUM);}程序运行后的输出结果是A)4B)8C)9D)6参考答案:B40.有以下程序#include<stdio.h>main(){inti=0;i=~i;printf("%d\n",i);}程序运行后的输出结果是A)8B)0C)1D)-1参考答案: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>#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;i<N;i++)b[i]=a[i][i];}main(){intx[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;fun(x,y);for(i=0;i<N;i++)printf("%d,",y[i]);printf("\n");}程序的运行结果是A)1,0,7,0,B)1,2,3,4,C)1,4,5,9,D)3,4,8,10,参考答案:A29.设有定义:char*c;以下选项中能够使c正确指向一个字符串的是A)charstr[]="string";c=str;B)scanf("%s",c);C)c=getchar();D)*c="string";参考答案:A30.若有定义语句:chars[10]="1234567\0\0";则strlen(s)的值是A)7B)8C)9D)10参考答案:A31.有以下程序#include<stdio.h>#include<string.h>main(){charp[20]={'a','b','c','d'},q[]="abc",r[]="abcde";strcat(p,r);strcpy(p+strlen(q),q);printf("%d\n",strlen(p));}程序运行后的输出结果是A)11B)9C)6D)7参考答案:C32.有以下程序(说明:字母A的ASCII码值是65)#include<stdio.h>voidfun(char*s){while(*s){if(*s%2)printf("%c",*s);s++;}}main(){chara[]="BYTE";fun(a);printf("\n");}程序运行后的输出结果是A)BTB)YEC)YTD)BY参考答案:B33.有以下程序#include<stdio.h>intfun(){staticintx=1;x+=1;returnx;}main(){inti,s=1;for(i=1;i<=5;i++)s+=fun();printf("%d\n",s);}程序运行后的输出结果是A)120B)11C)6D)21参考答案:D34.有以下程序#include<stdio.h>voidfun2(chara,charB){printf("%c%c",a,b);}chara='A',b='B';voidfun1(){a='C';b='D';}main(){fun1();printf("%c%c",a,b);fun2('E','F');}程序的运行结果是A)ABEFB)CDEFC)ABCDD)CDAB参考答案:B35.以下关于typedef的叙述错误的是A)用typedef可以增加新类型B)typedef只是将已存在的类型用一个新的名字来代表C)用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名D)用typedef为类型说明一个新名,通常可以增加程序的可读性参考答案:A36.程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为指针指向链表的第一个结点。若有以下程序段 q=s; s=s->next;p=s; while(p->next)p=p->next; p->next=q;q->next=NULL;该程序段实现的功能是A)删除尾结点B)尾结点成为首结点C)删除首结点D)首结点成为尾结点参考答案:D37.有以下程序#include<stdio.h>#defineS(x)4*(x)*x+1main(){intk=5,j=2;printf("%d\n",S(k+j));}程序运行后的输出结果是A)33B)197C)143D)28参考答案:C38.若有以下程序段intr=8;printf("%d\n",r>>1);输出结果是A)16B)8C)4D)2参考答案:C39.以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件参考答案:B40.有以下程序#include<stdio.h>main(){FILE*pf;char*s1="China",*s2="Beijing";pf=fopen("abc.dat","wb+");fwrite(s2,7,1,pf);rewind(pf);/*文件位置指针回到文件开头*/fwrite(s1,5,1,pf);fclose(pf);}以上程序执行后abc.dat文件的内容是A)ChinaB)ChinangC)ChinaBeijingD)BeijingChina参考答案:B2025年全国计算机二级等级考试模拟试卷及答案(第五套)1下列叙述中正确的是()。A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性参考答案:B2.下列叙述中正确的是()。A)栈是一种先进先出的线性表B)队列是一种后进先出的线性表C)栈与队列都是非线性结构D)以上三种说法都不对参考答案:D3.软件测试的目的是()。A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误参考答案:D4.在软件开发中,需求分析阶段产生的主
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024硬件设备代理与售后服务合作协议2篇
- 2025年度GPS技术在应急救援领域的应用合作协议3篇
- 二零二四年商务考察接送服务合同模板3篇
- 2024食用菌品牌授权与营销推广合同3篇
- 2025年校园安保服务合同含校园安全设施建设及维护协议3篇
- 2025年消防应急照明及疏散指示系统采购合同范本2篇
- 二零二五年度海鲜餐厅特许经营许可合同3篇
- 二零二五版煤矿掘进设备出租及维护保养服务合同3篇
- 二零二五版厂房租赁合同终止及费用结算及保险服务协议3篇
- 二零二五年建筑施工人员雇佣合同3篇
- 直播带货助农现状及发展对策研究-以抖音直播为例(开题)
- 腰椎间盘突出疑难病例讨论
- 《光伏发电工程工程量清单计价规范》
- 2023-2024学年度人教版四年级语文上册寒假作业
- (完整版)保证药品信息来源合法、真实、安全的管理措施、情况说明及相关证明
- 营销专员绩效考核指标
- 陕西麟游风电吊装方案专家论证版
- 供应商审核培训教程
- 【盒马鲜生生鲜类产品配送服务问题及优化建议分析10000字(论文)】
- 肝硬化心衰患者的护理查房课件
- 2023年四川省乐山市中考数学试卷
评论
0/150
提交评论