资源描述
2005年9月全国计算机等级考试二级C+笔试试题及答案(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分.(1)下列叙述中正确的是A)程序设计就是编制程序B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进行再测试D)程序经调试改错后不必进行再测试(2)下列数据结构中,能用二分法进行查找的是A)顺序存储的有序线性表B)线性链表C)二叉链表D)有序线性链表(3)下列关于栈的描述正确的是A)在栈中只能插入元素而不能删除元素B)在栈中只能删除元素而不能插入元素C)栈是特殊的线性表,只能在一端插入或删除元素D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(4)下列叙述中正确的是A)一个逻辑数据结构只能有一种存储结构B)数据的逻辑结构属于线性结构,存储结构属于非线性结构C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(5)下列描述中正确的是A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题(6)在软件设计中,不属于过程设计工具的是A)PDL(过程设计语言)B)PAD 图C)N-S 图D)DFD图(7)下列叙述中正确的是A)软件交付使用后还需要进行维护B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决A)数据共享问题B)数据安全问题C)大量数据存储问题D)简化数据维护(9)设有如下关系表:RSTABCABCABC112313112223223313则下列操作中正确的是A)T=RnsB)T=RUSC)T=RxSD)T=R/S(10)数据库系统的核心是A)数据模型B)数据库管理系统C)数据库D)数据库管理员(11)下列关于C+函数的叙述中,正确的是A)每个函数至少要具有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己(12)下列关于类和对象的叙述中,错误的是A)一个类只能有一个对象B)对象是类的具体实例C)类是对某一类对象的抽象D)类和对象的关系是一种数据类型与变量的关系(13)在C+中,用于实现运行时多态性的是A)内联函数B)重载函数C)模板函数D)虚函数(14)下列关于运算符重载的叙述中,正确的是A)通过运算符重载,可以定义新的运算符B)有的运算符只能作为成员函数重载C)若重载运算符+,则相应的运算符函数名是+D)重载一个二元运算符时,必须声明两个形参(15)下列关于模板的叙述中,错误的是A)模板声明中的第一个符号总是关键字templateB)在模板声明中用 括起来的部分是模板的形参表C)类模板不能有数据成员D)在一定条件下函数模板的实参可以省略(1 6)对于语句coutA)“cout”是一个输出流对象B)“endl”的作用是输出回车换行C)“x”是一个变量D)”称作提取运算符(1 7)下列字符串中,正确的C+标识符是A)foo-1B)2bC)newD)_256(1 8)已知枚举类型定义语句为:enum Token NAME,NUMBER,PLUS=5,MINUS,PRINT=10;则下列叙述中错误的是A)枚举常量NAME的值为1B)枚举常量NUMBER的值为1C)枚举常量MINUS的值为6D)枚举常量PRINT的值为10(1 9)执行语句序列int i=0;whilc(i 25)i+=3;cout输出结果是A)24B)25C)27D)28(2 0)要定义一个具有5个元素的一维数组v ec t,并使其各元素的初值依次是30,50,S8,0和0,则下列定义语句中错误的是A)int vect=300,-88);B)int vect=30,50,-88,0,0);C)int vect5=30,50,-88;D)int vect5=30,50,-88,0,0;(2 1)有如下程序:#includevoid fun(int&x,int y)int t=x;x=y;y=t;int main()(int a2=23,42;fun(al,a0);std:cout a0 ,al std:endl;return 0;)执行后的输出结果是A)42,42B)23,23C)23,42D)42,23(2 2)有如下类声明:class Foo int b a r;);则Foo类的成员bar是A)公有数据成员B)公有成员函数C)私有数据成员D)私有成员函数(2 3)有如下类声明:class MyBASEint k;public:void set(int n)k=n;int get()const return k;;class MyDERIVED:protected MyBASEprotected:int j;public:void set(int m,int n)MyBASE:set(m);j=n;int get()const return MyBASE:get()+j;);则类MyDERIVED中保护的数据成员和成员函数的个数是A)4B)3C)2D)1(2 4)已知在一 类体中包含如下函数原型:VOLUME operator-(VOL UM E)cons t;,下列关于这个函数的叙述中,错误的是A)这是运算符-的重载运算符函数B)这个函数所重载的运算符是一个一元运算符C)这是一个成员函数D)这个函数不改变类的任何数据成员的值(2 5)有如下函数模板定义:templateT func(T x,T y)return x*x+y*y;在下列对func的调用中,错误的是A)func(3,5);B)func(3.0,55);C)func(3,5.5);D)func(3,5.5);(2 6)有如下程序:#includeusing namespace std;int main()(cout.width(6);cout.fill(,#*);cout 123 endl;return 0;)执行后的输出结果是A)#123B)123#C)*123D)123*(2 7)在下列函数原型中,可以作为类AA构造函数的是A)void AA(int);B)intAA();C)AA(int)const;D)AA(int);(2 8)下列关于this指针的叙述中,正确的是A)任何与类相关的函数都有this指针B)类的成员函数都有this指针C)类的友元函数都有this指针D)类的非静态成员函数才有this指针(2 9)有如下程序:#includeusing namespace std;class Test public:Test()n+=2;-Test()n-=3;static int getNum()return n;private:static int n;);int Test:n=1;int main()Test*p=new Test;delete p;cout n=M Test:getNum()endl;return 0;)执行后的输出结果是A)n=0B)n=lC)n=2D)n=3(3 0)有如下程序:#includeusing namespace std;class A public:A()cout A ;);class B public:B()cout B;class C:public A Bb;public:C()cout,;);int main()C obj;return 0;执行后的输出结果是A)CBAB)BACC)ACBD)ABC(3 1)有如下类声明:class XAint x;public:XA(int n)x=n;);class XB:public XAint y;public:XB(int a,int b););在构造函数XB的下列定义中,正确的是A)XB:XB(int a,int b):x(a),y(b)B)XB:XB(int a,int b):XA(a),y(b)C)XB:XB(int a,int b):x(a),XB(b)(D)XB:XB(int a,int b):XA(a),XB(b)(3 2)有如下程序:#includeusing namespace std;class BASEpublic:BASE()cou t,BASE,;);class DERIVED:public BASE public:DERIVED()cou tHDERIVEDH;);int main()DER1VED x;return 0;执行后的输出结果是A)BASEB)DERIVEDC)BASEDERIVEDD)DERIVEDBASE(3 3)在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是A)operatorf有两个参数,operator*有两个参数B)operator+有两个参数,operator*有一个参数C)operator+有一个参数,operator*有两个参数D)operator+有一个参数,operator*有一个参数(3 4)下面关于C+流的叙述中,正确的是A)cin是一个输入流对象B)可以用迭tream定义一个输出流对象C)执行语句序列 char*y=MPQMN*;cout,-*输 出 结 果 为【8】o(8)下列程序的输出结果为Object id=0Object id=l请将程序补充完整。#includeusing namespace std;class Point(public:Point(int xx=0,int yy=0)X=xx;Y=yy;countP+;-Point()countP;int GetX()return X;int GetY()return Y;static void GetC()coutM Object id=nfun();delete p;return 0;)(1 2)请将下列类定义补充完整。class Base public:void fun()cout,Base:fun,class Derived:public Base public:void fun()13 显式调用基类的fun函数cout,Derived:fun,ENDL;);(1 3)多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但 运算符只能作为类的 1 4 函数重载。(1 4)下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stacktop-l中,在下面横线处填上适当语句,完成栈类模板的定义。templateclass Is tack(cnum size=1000;T stacksize;int top;public:Tstack():top(0)void push(const T&i)if(top=02.A16.D30.D42.10-1003.D17.D31.B43.int point:count04.D18.A32.Dp=005.C19.C33.C44.友元06.D20.A34.A45都有07.A21.B35.B46.virtual08.A22.C47.Base:fun()09.B23.B填空题:48成员10.B24.B36.数据库系统49 stack-top11.C25.C37左间12.A26.A38.驱动模块13.D27.D39.322006年4月全国计算机等级考试二级C+笔试试题及答案一、选择题(1)(35)每小题2分,共70分)下列各题A)、B)、。、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。下列选项不属于结构化程序设计方法的是A.自顶向下B.逐步求精C,模块化
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索