9月计算机等级考试二级C模拟试题_第1页
9月计算机等级考试二级C模拟试题_第2页
9月计算机等级考试二级C模拟试题_第3页
9月计算机等级考试二级C模拟试题_第4页
9月计算机等级考试二级C模拟试题_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、2009年9月计算机等级考试二级C+模拟试题笔试部分一、选择题1.算法分析的目的是( )A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进【参考答案】D2.在单链表中,增加头结点的目的是( )A.方便运算的实现 B.使单链表至少有一个结点C.标识表结点中首结点的位置 D.说明单链表是线性表的链式存储实现【参考答案】A3.软件开发离不开系统环境资源的支持,其中必要的测试数据属于( )【参考答案】D4.分布式数据库系统不具有的特点是( )A.数据分布性和逻辑整体性 B.位置透明性和复制透明性5.下列数据模型中,有坚实理论基础的是( )C

2、. 关系模型 D.以上3个都是【参考答案】C6.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是( )【参考答案】B7.在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率。与程序的效率相比,人们更重视程序的( )【参考答案】C8.软件开发的结构化生命周期方法将软件生命周期划分成( )A. 定义、开发、运行维护 B.设计阶段、编程阶段、测试阶段C. 总体设计、详细设计、编程调试 D.需求分析、功能定义、系统设计【参考答案】A9.数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有( )A.特定的数据模型 B.数据无冗余 C.

3、数据可共享 D.专门的数据管理软件【参考答案】A10.实体是信息世界中广泛使用的一个术语,它用于表示( )【参考答案】C 11.下列关于C+语言类的描述错误的是( )A.类用于描述事物的属性和对事物的操作B.类与类之间通过封装而具有明确的独立性C.类与类之间必须是平等的关系,而不能组成层次结构D.类与类之间可以通过一些方法进行通信和联络【参考答案】C12.以下叙述中正确的是( )A.构成C+语言程序的基本单位是类B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义【参考答案】A13.以下程序的输出结果是( )#includevo

4、id reverse(int a,int n) int i,t;for(i=0;in/2;i+) t=ai;ai=an-1-i;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; couts;【参考答案】A14.设有数组定义:char array=China;,则数组array所占的空间为( )【参考答案】C15.下面的哪个选项不能作为函数的返回类型?( )【参考答案】C16.下面程序输出的结果是( )#includevoid main() int i;i

5、nt a33=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+)couta2-ii ;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.如果友元函数重载一个运算符时,其参数表中没有任何参数是说明该运算符是( )【参考答案】D19.下列关于模板的说法正确的是( )A.模板的实参在任何时候都

6、可以省略 B.类模板与模板类所指的是同一概念C.类模板的参数必须是虚拟类型的 D.类模板中的成员函数全部都是模板函数【参考答案】D20.下面程序段的运行结果是( )void main()int t,a,b,c;a=1;b=2;c=2;while(abc) t=a;a=b;b=t;c-;couta,b,next=&b; D.(*p).next=q;【参考答案】B23.以下都是C+语言标识符的是( )A.dsfa,df4,f B.huhj,a,k2 C.3k,h,j_9 D._ok,jk,k8【参考答案】D24.设以下变量均为int类型,则值不等于7的表达式是( )A.(x=y=6,x+y,x+1

7、) B.(x=y=6,x+y,y+1) C.(x=6,x+1,y=6,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+i C.i*m+j-1 D.i*m+j+1【参考答案】A27

8、.下面叙述不正确的是( )A.派生类一般都用公有派生 B.对基类成员的访问必须是无两义性的C.赋值兼容则也适用于多重继承的组合 D.基类的公有成员在派生类中仍然是公有的【参考答案】D 28.关于友元的概念错误的是( )A.友元函数没有this指针B.调用友元函数时必须在它的实参中给出要访问的对象C.一个类的成员函数也可以作为另一个类的友元函数D.只能在类的公有段声明友元【参考答案】D29.下面程序的结果是( )#includeclass test private:int num;public:test();int getint() return num;test();test:test() n

9、um =0;test:test() coutDestructor is activeendl;void main() test x3;coutExiting mainendl;A.Exiting is actice Destructor is active Destructor is active Destructor is activeB.Exiting mainDestructor is activeDestructor is activeC.Exiting main Destructor is activeD.Exiting main【参考答案】A30.下列语句不能够用于打开C根目录下文

10、件test.txt的语句是( )A.ifstream fin;fin.open(C:test.txt);B.ifstream fin(C:test.txt);D.ifstream fin;fin(C:test.txt);【参考答案】D31.下列关于C+函数的描述中正确的是( )A.主函数是程序的入口,它由用户定义的函数调用B.函数在调用之前必须先被声明C.每个用户定义的函数只能被其他函数调用一次D.函数是C+中面向对象程序设计框架的基本组成单元【参考答案】B32.下列程序的运行结果为( )#includeclass Location protected:int X,Y;public:void

11、SetX(int myx) X=myx;void SetY(int myy) Y=myy;void showxy() coutX=X Y=Yendl;class Rectangle:public Locationprivate:int H,W; public:void SetH(int myh) H=myh;void SetW(int myw) W=myw;void show() coutX=X Y= Y H=H W=Wendl;void main() Rectangle r1;r1.SetX(3);r1.SetY(5);r1.SetH(4);r1.SetW(6);r1.showxy();r1

12、.show();A.X=3 Y=5 B.X=3 Y=5 X=3 Y=5 H=4 W=6 X=3 Y=5 H=3 W=6C.X=3 Y=5 D.X=3 Y=5 X=3 Y=4 H=4 W=6 X=3 Y=3 H=4 W=6【参考答案】A#includevoid main() int a=5,b=0,c=0;if(a=b+c)cout*endl;else cout1;i-)for(j=0;ji;j+)【参考答案】A 35.下列程序的输出结果是( )#includevoid main() int a3,i,j,k=2;for(i=0;i3;i+)ai=i;for(i=0;ik;i+)for(j=0;

13、jk;j+)aj=ai;couta2;【参考答案】A二、填空题1.将代数式 _ 换成程序设计中的表达式为 【1】。 X*X+Y*Y Z= - a+b【参考答案】【1】SORT(x2+y2)/(a+b)2.【2】是数据库设计的核心。【参考答案】【2】数据模型 3.测试的目的是暴露错误,评价程序的可靠性;而【3】的目的是发现错误的位置并改正错误。【参考答案】【3】调试4.在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为【4】。【参考答案】【4】消息5.常用的黑箱测试有等价分类法、【5】、因果图法和错误推测法4种。【参考答案】【5】边值分析法6.【6】是C+语言程序的入口。【参考

14、答案】【6】main()函数7.C+语言的基本控制结构为顺序结构、选择结构和【7】。【参考答案】【7】循环结构8.函数重载要求重载的函数必须有和原函数一样的【8】。【参考答案】【8】函数名9.设置虚基类的目的是【9】,通过【10】表示虚基类。【参考答案】【9】解决二义性问题【10】用关键字virtual10. 语句coutn还可表示为【11】。【参考答案】【11】coutendl;11.若已知a=10,b=20,则表达式!ab的值为【12】。【参考答案】【12】112.友元类的所有成员函数都是另一个类的【13】。【参考答案】【13】友元函数13.表达式x.operator+()还可写成【14】

15、。【参考答案】【14】+x14.若要在C盘根目录下作为二进制文件打开文件test.dat,则应该用的语句是:【参考答案】【15】ifstream fin(C:test.dat,ios_binary);或ifstream fin;fin.open(c:test.dat,ios_bin上机部分一、改错题使用VC6打开考生文件夹下的工程kt2_1,此工程包含一个源程序文件kt2_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:VehiclemessageCarmessageVehiclemessage源程序文件kt2_1.cpp清单如下:#includeclassvehic

16、leintwheels;floatweight;public:voidmessage(void)coutCarmessagen;classtruck:publicvehicleintpassenger_load;floatpayload;public:intpassengers(void)returnpassenger_load;voidmain()vehicle*unicycle;unicycle=newvehicle;unicycle.message();deleteunicycle;unicycle=newcar;unicycle-message();deleteunicycle;uni

17、cycle=newtruck;unicycle-message();deleteunicycle;【参考答案】(1)将void message(void) coutVehicle messagen;改为:virtual void message(void) coutCar messagen;改为:void message (void)coutmessage();【试题解析】(1)主要考查对虚函数使用规则的掌握,要实现对函数message的动态联编应该使用虚函数,否则产生的是静态联编,调用的函数输出结果就与要求不符;(2)主要考查对流输出操作的掌握,该处错误的使用了流输入操作;(3)主要考查对象

18、和对象指针的概念,对象指针使用-调用成员函数,而对象使用.调用成员函数。二、简单应用题编写类AA的成员函数intCompare(AAb),该函数用于比较*this与b的大小,若两者含有元素的个数n相同,并且数组中前n个元素值对应相同,则认为两者相等返回1,否则返回0。注意:用数组方式及for循环来实现该函数。输出结果如下:a=bac注意:部分源程序已存在文件kt2_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数Compare的花括号中填写若干语句。文件kt2_2.cpp的内容如下:#include#includeclassAAint*a;intn;intMS;public

19、:voidInitAA(intaa,intnn,intms) if(nnms)coutError!endl;exit(1);MS=ms;n=nn;a=newintMS;for(inti=0;in;i+)ai=aai;intCompare(AAb);intAA:Compare(AAb)voidmain()AAa,b,c;intx=1,2,3,4,5;inty=1,2,3,6,7;intz=1,2,5,7,9;a.InitAA(x,3,5);b.InitAA(y,3,5);c.InitAA(z,3,5);if(a.Compare(b)couta=bendl;elsecoutabendl;if(a.

20、Compare(c)couta=cendl;elsecoutacendl;【参考答案】int AA:Compare(AA b)if(n!=b.n) return 0;for(int i=0; in; i+)if(ai!=b.ai) return 0;return 1;【试题解析】本题考查应用for循环、if条件控制语句等基本控制结构解决实际问题的能力。3综合应用题使用VC6打开考生文件夹下的工程test17_3,此工程包含一个源程序文件kt2_3.cpp,其中定义了用于表示点的类Point和表示内容的类Text以及二者的派生类CircleWithText,但它们的定义并不完整。请按要求完成下列操作,将它们的定义补充完整。(1)定义类Point的构造函数,请使用参数列表的形式将成员函数x和y分别初始化为参数x1和y1的值。请在注释“/*1*”之后添加适当的语句。(2)完成类Text的构造函数Text(char*str)的定义,将char型的str指向的内容赋值给text并且输出st

温馨提示

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

评论

0/150

提交评论