2025年全国计算机等级考试二级C语言全真模拟试卷及答案(共四套).docx

上传人:夺命阿水 文档编号:1488781 上传时间:2024-06-29 格式:DOCX 页数:29 大小:72.39KB
返回 下载 相关 举报
2025年全国计算机等级考试二级C语言全真模拟试卷及答案(共四套).docx_第1页
第1页 / 共29页
2025年全国计算机等级考试二级C语言全真模拟试卷及答案(共四套).docx_第2页
第2页 / 共29页
2025年全国计算机等级考试二级C语言全真模拟试卷及答案(共四套).docx_第3页
第3页 / 共29页
2025年全国计算机等级考试二级C语言全真模拟试卷及答案(共四套).docx_第4页
第4页 / 共29页
2025年全国计算机等级考试二级C语言全真模拟试卷及答案(共四套).docx_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《2025年全国计算机等级考试二级C语言全真模拟试卷及答案(共四套).docx》由会员分享,可在线阅读,更多相关《2025年全国计算机等级考试二级C语言全真模拟试卷及答案(共四套).docx(29页珍藏版)》请在课桌文档上搜索。

1、2025年全国计算机等级考试二级C语言全真模拟试卷及答案(共四套)2025年全国计算机等级考试二级C语吉全真模拟试卷及答案(一)一、选择题在下列各题的A)、B),C),D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1)算法的空间复杂度是指A)算法程序的长度B)算法程序中的指令条数C)算法程序所占的存储空间D)执行算法需要的内存空间(2)在结构化程序设计中,模块划分的原则是A)各模块应包括尽量多的功能R)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有商内聚度、模块间具有低耦合度(3)下列叙述中,不属于测试的特征的是A)测试的挑剔

2、性B)完全测试的不可能性C)测试的可靠性D)测试的经济性(4)下面关于对象概念的描述中,错误的是A)对象就是C语言中的结构体变量B)对象代表着正在创建的系统中的一个实体C)对象是一个状态和操作(或方法)的封装体D)对象之间的信息传递是通过消息进行的(5)下列关于队列的叙述中正确的是A)在队列中只能插入数据B)在队列中只能删除数据O队列是先进先出的线性表D)队列是先进后出的线性表(6)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是)acbedB)decabC)deabcD)cedba(7)某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为)n+1B)n-1

3、C)2nD)n2(8)设有如下三个关系表RSTABCABCm13m13nn13(17)在执行下述程序时,若从键盘输入6和8,则结果为main()inta,b,s;scanf(%d%d,&a,&b);s=aif(ab)s=b;s*=s;printf(%d,s);A)36B)64C)48D)以上都不对(18)若执行下面的程序时,从键盘输入5和2,则输出结果是main()inta,b,k;scanf(%d,%d,&a,&b);k=a;if(ab)k=a%b;elsek=b%a;printfC%dn,k):A)5B)3C)2D)0(19)在C语言中,函数返回值的类型最终取决于A)函数定义时在函数首部所

4、说明的函数类型B)retum语句中表达式值的类型C)调用函数时主调函数所传递的实参类型D)函数定义时形参的类型(20)巳知大写字母A的ASCIl码是65,小写字母a的ASCIl码是97。以下不能将变量C中的大写字母转换为对应小写字母的语句是A)C=(C-A)%26+faB)c=c+32C)C=C-A+aD)c=(,A,+c)%26-/a(21)以下选项中,当X为大于1的奇数时,值为O的表达式是A)x%2=lB)x2C)x%2!=0D)x%2=0(22)有以下程序main()intk=5.n=0;doswitch(k)case1:case3:n+=l;k;break;default:n=O;k;

5、case2:case4:n+=2;k;break;p=a;while(*p!,u)printf(%c,*p-32);p+;A)1.ANGUAGEB)languageC)1.AND)IangUAGE(33)以下程序的输出结果是ftincludeinta33=l,2,3,4,5,6,7,8,9,.*p;main()p=(int*)malloc(sizeof(int);f(p,a);printf(%dn*,*p);free(p);f(int*s,intp3)*s=pll5A)lB)4C)7D)5(34)有以下程序voidf(int*q)inti=0:for(;i5;i+)(*q)+;main()in

6、ta5=1,2,3,4,5.i;f(八);for(i=0;i5;i+)printf(%d,ai);程序运行后的输出结果是A)2,2,3,4,5,B)6,2,3,4,5,01,2,3,4,5,D)2,3,4,5,6,(35)以下合法的字符型常一量是A)xl3,B)081,065D)wn(36)有以下语句,则对a数组元素的引用不正确的是inta10=0,1,2,3,4,5,6,7,8,9,*p=a;)ap-aB)*(ai)C)piD)*(*(a+i)(37)有以下程序#includemain()charp20=,a,b,c,d,q=abc,r=abcde”;strcat(p,r);strcpy(p

7、+strIen(q),q);printf(%dn,strlen(p);)程序运行后的输出结果是A)9B)6OilD)7(38)在C语言中,变量的隐含存储类别是A)autoB)staticOexternD)无存储类别(39)以下程序的输出结果是main()intc=35;printf(%dn,cftc);A)0B)70C)35D)l(40)有以下程序#includemain()FI1.E*fp;inti=20,j=30,k.n:fp=fopen(dl.dat,w);fprintf(fp,%dn.i);fprintf(fp,%dn,j);fclose(fp);fp=fopen(dl.dat,r);

8、fscanf(fp,w%d%d,k,n);printf(%d%dn,k,n);fclose(fp);程序运行后的输出结果是A)2030B)2050C)3050D)3020二、填空题请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。(1)设一棵完全二叉树共有700个结点,则在该二叉树中有【1】个叶子结点。(2)常用的黑箱测试有等价类划分法、【2】和错误推测法3种。(3)数据库管理系统常见的数据模型有层次模型、网状模型和【3】3种。(4;通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为4o(4)【解析】对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系,对

9、象之间通过传递消息互相联系,从模拟现实世界中不同事物彼此之间的联系,B)、C)、D)是正确的,对象的思想广泛应用于C+、Java等语言中,因此A)错误。(5)C【解析】队列是一种操作受限的线性表。它只允许在线性表的一端进行插入操作,另一端进行删除操作。其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。队列具有先进先出的特点,它是按先进先出的原则组织数据的。(6)D【解析】依据后序遍历序列可确定根结点为c;再依据中序遍历序列可知其左子树由deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d,右子树由ba构成,如下图所示,

10、求得该二叉树的前序遍历序列为选项D)。(7)A【解析】对于任何一棵二叉树T,如果其终端结点(叶子)数为nl,度为2的结点数为n2,则nl=n2+l,所以该二叉树的叶子结点数等于n+l三(8) C【解析】对于两个关系的合并操作可以用笛卡尔积表示。设有n元关系R和m元关系S,它们分别有p和q个元组,则R与S的笛卡儿积记为RXS它是一个m+n元关系,元组个数是PXq由题意可得,关系T是由关系R与关系S进行笛卡尔积运算得到的。(9) A【解析】两个实体之间的联系实际上是实体集间的函数关系,这种函数关系可以有下面几种,即一对一的联系、一对多(或多对一)的联系和多对多的联系;概念模型便于向各种模型转换。由

11、于概念模型不依赖于具体的数据库管理系统,因此,容易向关系模型、网状模型和层次模型等各种模型转换。(IO)D【解析】数据处理是指将数据转换成信息的过程,故选项A)叙述错误;数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,故选项B)叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,故选项C)叙述错误。(Il)C【解析】不论main函数在整个过程中的位置如何,一个C程序总是从main函数开始执行的。(12)D【解析】一个C语言的源程序(后缀名为.c)在经过编译器编译后,先生成一个汇编语言程序,然后由编译程序再将汇编语言程序翻译成机器指令

12、程序,即目标程序(后缓名为.obj),目标程序不可以直接运行,它要和库函数或其他目标程序连接成可执行文件(后缀名为.exe)后方可运行。(13)A【解析】C语言中,一个字符常量代表ASCIl字符集中的一个字符,在程序中用单引号括起来作为字符常量,字符常量的的范(39)C【解析】本题考查按位与因为1&1=1,0&0=0,所以任何数与自身按位与,结果仍为此数,不发生变化。(40)A【解析】本题中,最主要的是掌握几个有关文件函数的应用。函数名:fope11功能:打开一个文件调用方式Fl1.E*fp;fp=fopen(文件名,使用文件方式);函数名:Fprintf功能:传送格式化输出到一个文件中调用方

13、式:fprintf(文件指针,格式字符串,输出表列);函数名:fclose功能:关闭一个文件调用方式:fclose(文件指针);函数名:fscant功能:从磁盘文件执行格式化输入调用方式:fscanf(文件指针,格式字符串,输入列表)。二、填空题(1) 1350【解析】完全二叉树中,设高度为n,则除h层外其它层结点数都到达最大,可以算出h=10,1至9层结点个数为29-1=511,最后一层结点个数为700-511=189个,189/2=95,除最后一层外共有结点2(9-1)-95=161个,所以所有的结点个数为:189+161=350个。(2) 2边界值分析法【解析】黑箱测试法完全不考虑程序的

14、内部结构和内部特征,而只是根据程序功能导出测试用例。常用的黑箱测试有等价类划分法、边界值分析法和错误推测法3种。(3) 3关系模型【解析】数据库管理系统是位于用户与操作系统之间的一层系统管理软件,属于系统软件是用户与数据库之间的一个标准接口,其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。(4) 4软件生命周期【耨析】软件产品从考虑其概念开始.到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。(5) 5完整性控制【解析】安全性控制:防止未经授权的用户有意或无意存取数据库中的数据,以免数据被泄算、更改或破坏

15、;完整性控制:保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作;并发控制:正确处理好多用户、多任务环境下的并发操作,防止错误发生;恢复:当数据库被破坏或数据不正确时,使数据库将其恢复到正确的状态。(6) 6a=14【解析】本题考查的是表达式的优先级问题。先计算表达式3*5=15,再计算a+4=14,将数据14赋值给a,根据printf()函数内的输出格式控制串,最后的输出结果应为a=M。(7) 79【解析】本题的字符串中共有9个字符,它们分别是,IBM,n01,2,1W,其中,n表示换行,表示反斜杠字符,所以本题的最后输出结果为90(8)81【解析】在执行逻辑表达式”j=!

16、ch&i+时,首先判断j=!ch的值,因为ch=S不为0,所以j=!ch=O,编译系统便不再计算表达式i+的值.i的值不变,仍为U(9) 9k=5【解析】本题主要考查了函数的递归调用方法。g=0或g=l或g=2是递归的终止条件,然后用回代的方法从一个已知值推出下一个值,直到计算出最终结果。(10) 10Jk=p;【解析】为寻找数组中最大元素的下标,需先预设1个临时最大元素的下标,并顺序逐一考查数组的元素,当发现当前元素比临时最大元素更大时,就用当前元素的下标更新临时最大元素下标。直至考查了数组的全部元素后,这临时最大元素下标就是数组的最大元素下标。通常预设的最大元素下标是数组的首元素下标.考查

17、通常从首元素开始顺序向后继元素考查。程序中,存储临时最大元素下标的变量是k,变量P控制顺序考查的循环控制变量。当发现当前元素sp比临时最大元素sk更大时,应该用p更新k,所以在空框处应填入代码k=p;。(11) 11I=I(12xl-l【解析】对于10个数,相临的两个数相加取和,总共要进行9次加法运算,所以空14处应填入I=E相临的两个数相加取和,放在数组a中,x0与xl的和存放在a0中,所以空15处应填入xIT.(12) 13ttinclude【解析】本题考查了函数的存储分类的概念。如果没有特别说明,函数的存储范围是从定义函数的位置到文件的结尾,如果其他文件想使用这个函数,需要用includ

18、e文件包含命令将定义函数的文件包含进来。(13) 14p-data15q【解析】本题考查的是链表这一数据结构对结构体变量中数据的引用。做表的特点是结构体变量中有两个城,一个是数据,另一个是指向该结构体变量类型的指针,用以指明链表的下一个结点。c=6)A(c%2!=l)(19)若有条件表达式(exp)?a+:b,则以下表达式中能完全等价于表达式(exp)的是A)(exp=O)B)(exp!=O)C)(exp=l)D)(exp!=l)(20)以下不正确的定义语句是A)doublex5=2.0,4.0,6.0.8.0.10.0);B)inty5=(0.1,3,5.7.9;C)charcl=,1,2,

19、.,3,4z5;D)charc2=,xl,fa,x8,);(21)下列程序执行后的输出结果是main()inta33,*p,i;p=a00;for(i=l;i9;i+)pi=i+l;printf(%dn,al;)A)3B)609D)随机数(22)设有以下程序段intx=0,s=0;while(!x!=O)s+=+x;printf(%d,s);则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次(23) (23)下面程序段的运行结果是char*s=abcde;s+=2;Printf(%,s);A)CdeB)字符c,C)字符c,的地址D)无确定的揄出结

20、果(24)阅读下列程序.则执行后的结果为eincludestdio.hmain()intc4=1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56;printf(%x,%x11w,c22,*(*(c+l)+l);A)3e,6B)62,5C)56,5D)3E,6(25)下面判断正确的是指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项(38)设有以下语句charx=3,y=6,z;z=xyt时返回正值,st时返回负值。请填空。My_cmp(char*s,char*t)while(*s=*t)if(*s=0)returnO;+s;+t:

21、return12;)(12)以下程序的输出结果是【13】。voidreverse(inta,intn)inti.t;for(i=0;it时,返回正值,当S、B),C),D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1)软件是指A)程序B)程序和文档C)算法加数据结构D)程序、数据与相关文档的完整集合(2)检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试(3)以下不属于对象的基本特点的是A)分类性B)多态性C)继承性D)封装性(4)在设计程序时,应采纳的原则之一是A)不限制goto语句的使用B)减少或取消注解

22、行C)程序越短越好D)程序结构应有助于读者理解(5)下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(6)数据结构中,与所使用的计算机无关的是数据的A)存储结构B)物理结构C)逻辑结构D)物理和存储结构(7)线性表的顺序存储结构和线性表的链式存储结构分别是A)顺序存取的存储结构、顺序存取的存储结构R)随机存取的存储结构、顺序存取的存储结构C)随机存取的存储结构、随机存取的存储结构D)任意存取的存储结构、任意存取的存储结构(8)树是结点的集合.它的根结点数目是A)有且只有1B)I或多

23、于1C)O或1D)至少2(9)下列有关数据库的描述,正确的是A)数据库是一个DBF文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文件(10)数据库、数据库系统和数据库管理系统之间的关系是A)数据库包括数据库系统和数据库管理系统B)数据库系统包括数据库和数据库管理系统C)数据库管理系统包括数据库和数据库系统D)三者没有明显的包含关系(11)以下4个选项中,不能看作一条语句的是A);B)a=5.b=2.5,c=3.6;C)if(a2!l(27)若要求从键盘读入含有空格字符的字符串.应使用函数)getc()B)getsOC)getchar()D)scanf()(28)阅读下

24、列程序段,则程序的输出结果为WinCIUdestdio.hSdefineM(X,Y)(X)*(Y)defineN(X,Y)(X)Z(Y)main()inta=5,b=6,c=8,k;k=N(M(a,b),c);printf(%dn,k);A)3B)5C)6D)8(29)在16位IBM-PC机上使用C语言,若有如下定义structdatainti;charch;doublef;b;则结构变量b占用内存的字节数是A)lB)2C)7D)ll(30)有以下程序ftincludemain()FI1.E*fp;inti,a6=(l,2,3,4,5,6);fp=fopen(d3.dat,u,+b);fwri

25、te(a.sizeof(int).6.fp);fseek(fp.sizeof(int)*3,SEEK_SET);*该语甸使读文件的位置指针从文件头向后移动3个int型破据*/fread(a,sizeof(int),3,fp);fclose(fp):for(i=0;i6;i+)printf(%d,ai);程序运行后的输出结果是)4,5,6,4,5,6,B)1,2,3,4,5,6,C)4,5,6,1,2,3,D)6,5,4,3,2,l.(31)有以下程序includemain()ints12=l,2,3,4,4,3,2,l,lJ,2,3,c5=0,i;for(i=0;i12;i+)csi+;for

26、(i=l;i5;i+)printf(%d,ci);printf(Bn);)程序的运行结果是)1234B)2344C)4332D)1123(32)有以下程序includevoidfn(int*a,intn)*fun函数的功能是将a所指数组元素从大到小排序*/intt,i,J;for(i=0;in-l;j+)for(j=i+l;jn;j+)if(aiaj)t=ai;ai=aj;aj=t;)main()intc10=l,2,3,4,5,6,7,8,9,0,i;fun(c+4,6);for(i=0;i10:i+)printf(%d,ci);printf(n);程序的运行结果是A)1,2,3,4,5,6

27、,7,8,9,0,B)0,9,8,7,6,5,1,2,3,4,00,9,8,7,6,5,4,3,2,1,D)1,2,3,4,9,8,7,6,5,0,(33)下面程序的输出结果是includeincludemain()char*pl=wabc,*p2=BCw.str50=xyz;strcpy(str+2,strcat(pl,p2);printf(%sn,str);A)XyzabcABCB)zabcABCC)XyabCABCD)yzabcABCwhile(*t+=*s+)!=0);main()charss10三acc,aa10三bbxxyy;un(ss,aa);printf(%s,%snn,ss,

28、aa);)程序的运行结果是A)accxyy,bbxxyyB)acc.bbxxyyC)accxxyy,bbxxyyD)accbbxxyy,bbxxyy二、填空题请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。(1)需求分析的最终结果是产生1】o(2)为了便于对照检查,测试用例应由输入数据和预期的【2】两部分组成。(3)数据结构分为逻辑结构与存储结构,线性链表属于30(4)某二叉树中度为2的结点有18个,则该二叉树中有1个叶子结点。(5)5是数据库设计的核心。(6)巳有定义:Charc=,;inta=l,b;(此欠C的初值为空格字符),执行b=!c&a;后b的值为【6】0(7)设变

29、量巳正确定义为整型,则表达式n=i=2,+i,i+的值为7o(8)下面程序的功能是:计算110之间的奇数之和与偶数之和,请填空。ftincludemain()inta,b.c,I;a=c=0;for(1=0;I=10;I+=2)a+=I;8;c+=b;Printf(偶数之和=%dn,a);Printf(奇数之和=%dn,cTl);(9)以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第O行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。#defineN4Voidrotade(intaN,intbN)intI,j

30、;for(I=0IN;1+)blN-U=9;10=aN-ll:(10)以下程序的输出结果是11。includevoidswap(int*a,int*b)int*t;t=a;a=b;b=t;main()inti=3,j=5,*p=fti.*q=&j;swap(p,q);printf(%d%dn,*p.*q);)(11)下面程序的运行结果是【12】oWincludeCstdio.h/defineSIZE12main()charsSIZE;intI;for(1=0;KSIZE;I+)sl=z,+1+321;sub(s,7,SIZE-1);for(1=0;KSIZE;I+)printf(%c,sl);

31、printfC,n);)sub(char*ci,inttl,intt2)charch;while(tlt2)ch=*(a+tl);*(a+tl)=*(a+t2);*(a+t2)=ch;tl+;t2;(12)以下程序的输出结果是【13】oWinCIUdemain()inta5三2,4,6,8,10),*p:p=a;p+;printf(%d,*p);(18)B【解析】本题考查逻辑与运算的运算规则。其规则是:当运算符前后两个条件表达式都满足时,其最终结果才为真。当发现第一个表达式的值为假,计算机将不再执行后面表达式的运算。本题中,由于前一个表达式的值为假,所以,后面的表达式不再进行运算,因而n的值保

32、持不变,仍为2。(19)B【解析】两个if语句的判断条件都不满足,程序只执行了c=a这条语句,所以变量C的值等于3,变量b的值没有变化,程序输出的结果为3,5,3。(20)C【解析】C语言中.switch语句专用于实现多分支结构程序,其特点是各分支清晰而直观。SWitCh后面括号中可以是任何表达式,取其整数部分与各常量表达式进行比较。常量表达式中不能出现变量,且类型必须是整型、字符型或枚举型,各常量表达式各不相同。(2DC【解析】本题考察变量的自加+”和自减.一问题。当y的值为9、6或3时,if语句的条件成立,执行输出语句,输出表达式一丫的值,y的自减要先于输出语句执行,故输出结果为852。(

33、22)C【解析】dowhile语句的一般形式为:d。循环体语句WhiIe(表达式);,其中循环体语句可以是复合型语句,但必须用花括号括起来。whiIe后必须要有分号作为语句的结束,在do-while循环中,不可以省略While。(23)D【解析】在程序中指针变量P初始指向a3,执行P减1后,P指向a2,语句y=*p的作用是把a2的值赋给变量y,所以输出为y=3o(24)B【解析】二维数组的初始化有以下几种形式:分行进行初始化;不分行进行初始化;部分数组元素进行初始化;省略第一维的定义,不省略第二维的定义。选项B)等号右边分了3行,大于等号左边数组的行数2。(25)D【解析】C语言中操作一个字符串常量的方法有:将字符串常量存放在一个字符数组之中;用字符指针指向字符串,然后通过字符指针来访问字符串存储区域。当字符串常量在表达式中出现时,根据数组的类型转换规则,将其转换成字符指针。本题D)项中错误的关键是对数组初始化时,可以在变量定义时整体赋初值,但不能在赋值语句中整体赋值。(26)D【解析】C语言中数组下标是从0开始的,所以二维数组a23的第一维下标取值为0、1;第二维的下标取值为0、1、2,因而选项A)、B)、C)都是错误的,选项D)表示数组元素a

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号