



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、姓名:_ 班级:_ 学号:_-密-封 -线- 全国计算机等级考试二级c+模拟试题(17)考试时间:120分钟 考试总分:100分题号一二三四五总分分数遵守考场纪律,维护知识尊严,杜绝违纪行为,确保考试结果公正。笔试部分一、选择题1.算法分析的目的是( )a.找出数据结构的合理性b.找出算法中输入和输出之间的关系c.分析算法的易懂性和可靠性d.分析算法的效率以求改进【参考答案】 d2.在单链表中,增加头结点的目的是( )a.方便运算的实现 b.使单链表至少有一个结点c.标识表结点中首结点的位置 d.说明单链表是线性表的链式存储实现【参考答案】 a3.软件开发离不开系统环境资源的支持,其中必要的测
2、试数据属于( )a. 硬件资源 b.通信资源 c. 支持软件 d.辅助资源【参考答案】 d4.分布式数据库系统不具有的特点是( )a.数据分布性和逻辑整体性 b.位置透明性和复制透明性c.分布性 d.数据冗余【参考答案】 d5.下列数据模型中,具有坚实理论基础的是( )a. 层次模型 b.状模型c. 关系模型 d.以上3个都是【参考答案】 c6.栈底至栈顶依次存放元素a、b、c、d,在第五个元素e入栈前,栈中元素可以出栈,则出栈序列可能是( )a.abced b.dcbea c.dbcea d.cdabe【参考答案】 b7.在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率。与程序的效
3、率相比,人们更重视程序的( )a. 安全性 b.一致性 c. 可理解性 d.合理性【参考答案】 c8.软件开发的结构化生命周期方法将软件生命周期划分成( )a.定义、开发、运行维护 b.设计阶段、编程阶段、测试阶段c.总体设计、详细设计、编程调试 d.需求分析、功能定义、系统设计【参考答案】 a9.数据管理技术发展过程中,文件系统与数据库系统主要区别是数据库系统具有( )a.特定的数据模型 b.数据无冗余 c.数据可共享 d.专门的数据管理软件【参考答案】 a10.实体是信息世界中广泛使用的一个术语,它用于表示( )a.有生命的事物 b.无生命的事物c.实际存在的事物 d.一切事物【参考答案】
4、 c. 11.下列关于c+类的描述中错误的是( )a.类用于描述事物的属性和对事物的操作b.类与类之间通过封装而具有明确的独立性c.类与类之间必须是平等的关系,而不能组成层次结构d.类与类之间可以通过一些方法进行通信和联络【参考答案】 c12.以下叙述中正确的是( )a.构成c+语言程序的基本单位是类b.可以在一个函数中定义另一个函数c.main()函数必须放在其他函数之前d.所有被调用的函数一定要在调用之前进行定义【参考答案】 a13.以下程序的输出结果是( )#includevoid reverse(int a,int n) int i,t;for(i=0;i t=ai;ai=an-1-i
5、;an-1-i=t; void main() int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bi;couta.22 b.10 c.34 d.30【参考答案】 a14.设有数组定义:char array=china;,则数组array所占的空间为( )a.4个字节 b.5个字节 c.6个字节 d.7个字节【参考答案】 c15.下面的哪个选项不能作为函数的返回类型?( )a.void b.int c.new d.long【参考答案】 c16.下面程序输出的结果是( )#includevoid main()
6、 int i;int a33=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+)cout a.1 5 9 b.7 5 3 c.3 5 7 d.5 9 1【参考答案】 b17.下列描述中哪个是正确的?( )a.私有派生的子类无法访问父类的成员b.类a的私有派生子类的派生类c无法初始化其祖先类a对象的属性,因为类a的成员对类c是不可访问的c.私有派生类不能作为基类派生子类d.私有派生类的所有子孙类将无法继续继承该类的成员【参考答案】 b18.如果友元函数重载一个运算符时,其参数表中没有任何参数是说明该运算符是( )a.一元运算符 b.二元运算符 c.选项a和选项b都可能 d.重载错误
7、【参考答案】 d19.下列关于模板的说法正确的是( )a.模板的实参在任何时候都可以省略b.类模板与模板类所指的是同一概念c.类模板的参数必须是虚拟类型的d.类模板中的成员函数全部都是模板函数【参考答案】 d20.下面程序段的运行结果是( )void main() int t,a,b,c;a=1;b=2;c=2;while(a t=a;a=b;b=t;c-;cout a.1,2,0 b.2,1,0 c.1,2,1 d.2,1,1【参考答案】 a. 2量均为int类型,则值不等于7的表达式是( )a.(x=y=6,x+y,x+1) b.(x=y=6,x+y,y+1) c.(x=6,x+1,y=6
8、,x+y) d.(y=6,y+1,x=y,x+1)【参考答案】 c25.while和do-while循环的主要区别是( )a.do-while的循环体至少无条件执行一次b.while的循环控制条件比do-while的循环控制条件更严格c.do-while允许从外部转到循环体内d.do-while的循环体不能是复合语句【参考答案】 a26.若二维数组a有m列,则计算任一元素aij在数组中相对位置的公式为(假设a00位于数组的第一个位置上)( )a.i*m+j b.j*m+ic.i*m+j-1 d.i*m+j+1【参考答案】 a27.下面叙述不正确的是( )a.派生类一般都用公有派生 b.对基类成
9、员的访问必须是无两义性的c.赋值兼容则也适用于多重继承的组合 d.基类的公有成员在派生类中仍然是公有的【参考答案】 d28.关于友元的概念错误的是( )a.友元函数没有this指针b.调用友元函数时必须在它的实参中给出要访问的对象c.一个类的成员函数也可以作为另一个类的友元函数d.只能在类的公有段声明友元【参考答案】 d29.下面程序的结果是( )#includeclass test private:int num;public:test();int getint() return num;test();test:test()num =0;test:test()coutdestructor i
10、s activevoid main() test x3;coutexiting maina.exiting is actice b.exiting maindestructor is active destructor is activedestructor is active destructor is activedestructor is activec.exiting main d.exiting maindestructor is active【参考答案】 a. 30.下列语句不能够用于打开c根目录下文件test.txt的语句是( )a.ifstream fin;fin.open(c
11、:test.txt);b.ifstream fin(c:test.txt);c.a和bd.ifstream fin;fin(c:test.txt);【参考答案】 d31.下列关于c+函数的描述中正确的是( )a.主函数是程序的入口,它由用户定义的函数调用b.函数在调用之前必须先被声明c.每个用户定义的函数只能被其他函数调用一次d.函数是c+中面向对象程序设计框架的基本组成单元【参考答案】 b32.下列程序的运行结果为( )#includeclass location protected:int x,y;public:void setx(int myx) x=myx;void sety(int
12、myy) y=myy;void showxy() coutx=class rectangle:public locationprivate:int h,w;public:void seth(int myh) h=myh;void setw(int myw) w=myw;void show() coutx=y h=void main() rectangle r1;r1.setx(3);r1.sety(5);r1.seth(4);r1.setw(6);r1.showxy();r1.show(); a.x=3 y=5x=3 y=5 h=4 w=6b.x=3 y=5x=3 y=5 h=3 w=6c.x
13、=3 y=5x=3 y=4 h=4 w=6d.x=3 y=5x=3 y=3 h=4 w=6【参考答案】 a. 33.有以下程序#includevoid main() int a=5,b=0,c=0;if(a=b+c)cout*else cout$下列选项叙述正确的是( )a.有语法错不能通过编译 b.可以通过编译但不能通过连接c.输出* d.输出$【参考答案】 d34.以下程序中循环体总的执行次数是( )int i,j;for(i=6;i1;i-)for(j=0;ja.20 b.261 c.15 d.25【参考答案】 a35.下列程序的输出结果是( )#includevoid main() i
14、nt a3,i,j,k=2;for(i=0;i3;i+)ai=i;for(i=0;ifor(j=0;jaj=ai;cout a.2 b.3 c.1 d.0【参考答案】 a. 二、填空题1.将代数式_ x*x+y*yz= - a+b换成程序设计中的表达式为【1】。【参考答案】【1】sort(x+y)/(a+b)2.【2】是数据库设计的核心。【参考答案】【2】数据模型3.测试的目的是暴露错误,评价程序的可靠性;而【3】的目的是发现错误的位置并改正错误。【参考答案】【3】调试4.在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为【4】。【参考答案】【4】消息5.常用的黑箱测试有等价
15、分类法、【5】、因果图法和错误推测法4种。【参考答案】【5】边值分析法6.【6】是c+语言程序的入口。【参考答案】【6】main()函数7.c+语言的基本控制结构为顺序结构、选择结构和【7】。【参考答案】【7】循环结构8.函数重载要求重载的函数必须有和原函数一样的【8】。【参考答案】【8】函数名#page#9.设置虚基类的目的是【9】,通过【10】表示虚基类。【参考答案】【9】解决二义性问题 【10】用关键字virtual10. 语句coutn还可表示为【11】。【参考答案】【11】cout11.若已知a=10,b=20,则表达式!a【参考答案】【12】112.友元类的所有成员函数都是另一个类
16、的【13】。【参考答案】【13】友元函数13.表达式x.operator+()还可写成【14】。【参考答案】【14】+x14.若要在c盘根目录下作为二进制文件打开文件test.dat,则应该用的语句是【15】。【参考答案】【15】ifstream fin(c:test.dat,ios_binary);或ifstream fin;fin.open(c:test.dat,ios_bin. 上机部分一、改错题使用vc6打开考生文件夹下的工程kt17_1,此工程包含一个源程序文件kt17_1.cpp,但该程序运行有问题,请改正函数中的错误,使该程序的输出结果为:0149162536496481源程序文
17、件kt17_1.cpp清单如下:#includetemplateclassvector tvecn;public:voidset(intpos,tval);tget(intpos);/*found*/ templatevoidvector:set(intpos,tval) vecpos=val; /*found*/templatevector:get(intpos) returnvecpos; intmain() vectorv;inti=0;doubled=0.0;for(i=0;i10;i+)v.set(i,double(i*i);for(i=0;i10;i+)coutcout/*foun
18、d*/ 【参考答案】(1)在“”后添加分号。(2)将template vector:get(int pos)改为:template t vector:get(int pos)(3)将缺少返回值改为:加入return 0;【试题解析】(1)主要考查对于类定义的理解,即使使用了类模板,在类定义的结尾仍然需要使用分号,这是c+的规定;(2)主要考查是模板类的定义,template是关键字,在中间是类型的定义,题目中vector是一个类的名称,前面应该有该模板的名称,即t,这样才是完整的定义;(3)主要考查对函数返回值的掌握,任何返回值类型不为int型的函数最后都必须使用returen语句返回对应类型
19、的值,就算是main函数也不例外。. 二、简单应用题请编写函数fun(),其功能是计算并输出下列多项式值sn=1+1/1!+1/2!+1/3!+1/4!+1/n!例如:从键盘输入15,则输出为s=2.718282。注意:部分源程序以存在文件kt17_2.cpp中。请勿改动主函数main和其他函数中的内容,仅在函数fun的花括号中填入所编写的若干语句。文件kt17_2.cpp的内容如下:#include#includedoublefun(intn)voidmain() int n;doubles;cout”inputn:”cinn;s=fun(n);cout”s=“【参考答案】double fu
20、n(int n) double t,sn=1.0;int i,j;for(i=1;i=n;i+) t=1.0;for(j=1;j=i;j+)t*=j;sn+=1.0/t; return sn; 【试题解析】本题解法是通过观察所给的多项式,可以找出该多项式相应的数学规律。本题中,多项式是一个累加求和的多项式,并且每一项总是比前一项多乘一个整数,所乘整数恰好等于每一项的编号,这样利用循环语句进行阶乘、累加就可以实现功能。由于函数中出现了”/”的运算,所以最终的函数值要考虑到用double类型。. 三、综合应用题使用vc6打开考生文件夹下的工程kt17_3。此工程包含一个kt17_3.cpp,其中定义了类letter和number以及grid,其中grid类由letter类和number类public派生,但三个类的定义并不完整。请按要求完成下列操作,将程序补充完整。(1)添加类letter的带一个参数c的构造函数,c是char型的数据,默认值为“a”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商洛水磨石地坪施工方案
- 昌平区车辆道路施工方案
- 2025至2030年中国促销筐数据监测研究报告
- 2025年中国框架式开式液压机市场调查研究报告
- 2024-2025学年高中生物专题1课题1果酒和果醋的制作练习含解析新人教版选修1
- 2024-2025学年新教材高中物理1.1质点参考系学案新人教版必修第一册
- 2024-2025学年高中历史课时作业27新兴力量的崛起含解析人民版必修1
- 第八单元大单元教学设计-2024-2025学年统编版语文二年级上册
- 全国中图版高中信息技术选修2第二单元第二节全景新视野2、《全景图的再创作》教学设计
- 2025年印刷用品及器材项目建议书
- 2024-2030年中国静脉血栓栓塞症(VTE)防治行业市场全景监测及投资策略研究报告
- 财务审计服务投标方案(技术方案)
- RBA商业道德程序文件(系列)
- 2024年国家保密法知识竞赛经典题库及完整答案【必刷】
- 某山体滑坡综合治理工程监理规划
- 辽宁省大连市2023-2024学年八年级下学期第一次月考语文试题(含答案解析)
- 抑郁症病例分享
- 《子路、曾皙、冉有、公西华侍坐》课件()
- 青岛版(五四制)四年级数学下册全册课件
- 胎膜早破的诊断与处理指南
- 新时代劳动教育教程(中职版劳动教育)全套教学课件
评论
0/150
提交评论