【计算机类职业资格】二级C++-200及答案解析.doc
《【计算机类职业资格】二级C++-200及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-200及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-200 及答案解析(总分:88.50,做题时间:90 分钟)一、选择题(总题数:35,分数:61.50)1.有以下类定义 class MyClass private: int id; char gender; char*phone; public: MyClass():id(0),gender(“#“),phone(NULL) MyClass(int no,char ge=“#“,char*ph=NULL) id=no;gender=ge;phone=ph; ; 下列类对象定义语句中错误的是(分数:2.00)A.MyClassmyObj;B.MyClassmyObj(11,“133
2、01111155“);C.MyClassmyObj(12,“m“);D.MyClassmyObj(12);2.下面是重载为非成员函数的运算符的函数原型,其中错误的是_。(分数:2.00)A.Fraction operator+(Fraction,Fraction);B.Fraction operator-(Fraction);C.FractionD.Fraction3.类 MyClass 的定义如下: class MyClass public: MyClass()value=0; SetVariable(int i)value=i; private: int value; ; 则对下列语句序列
3、正确的描述是 _ 。 MyClass*P,my;p=(分数:2.00)A.语句 p= else if(n=1)return 2; else return fib(n-1)+fib(n-2); 若执行函数调用表达式 fib(2),函数 fib 被调用的次数是_。(分数:2.50)A.1B.2C.3D.45.已知函数 f 的原型是 void f(int*a,longlong v2; 下列调用语句中正确的是_。(分数:1.00)A.f(v1,B.f(v1,v2);C.f(D.f(6.下面关于函数模板的表述中不正确的是_。(分数:2.50)A.类模板的成员函数都是模板函数B.类模板本身在编译过程中不会
4、产生任何代码C.类模板只能有虚拟类型的参数D.用类模板定义一个对象时,实参不能省略7.医院里有不同的科室,每名医生分属不同科室,则实体科室与实体医生间的联系是_。(分数:1.00)A.一对一B.一对多C.多对一D.多对多8.下面关于常成员函数的说法中正确的是_。(分数:2.50)A.常成员函数不能修改任何的数据成员B.常成员函数只能修改一般的数据成员C.常成员函数只能修改常数据成员D.常成员函数只能通过常对象来调用9.下列语句中,错误的是_。(分数:1.00)A.const int buffer=256;B.const double*point;C.int const buffer=256;D
5、.double*const point;10.在软件开发中,需求分析阶段产生的主要文档是_。(分数:1.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书11.下列定义语句中,错误的是_。(分数:2.00)A.int px*;B.char*acp10;C.char(*pac)10;D.int(*p)();12.对于类定义 class A public: virtual void funcl() void func2() ; class D:public A public: void funcl()cout “class B rune 1“end1; virtua
6、l void func2()cout “class B func 2“end1; ; 下面正确的叙述是 _。(分数:2.00)A.A:func2()和 B:funcl()都是虚函数B.A:func2()和 B:funcl()都不是虚函数C.B:func1()是虚函数,而 A:func2()不是虚函数D.B:func1()不是虚函数,而 A:func2()是虚函数13.已知数据表 A 中每个元素距其最终位置不远,为节省时间,应采用的算法是 _ 。(分数:2.00)A.堆排序B.直接插入排序C.快速排序D.直接选择排序14.有如下程序: #includeiostream using namespa
7、ce std; class TestClass public; TestClass ()cout“BASE:; ; class TestClass1:public TestClass public: TestClass 1 ()cout“DERIVED“; ; int main()TestClass1 x;return 0; 执行后的输出结果是 _ 。(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE15.下列语句中,错误的是_。(分数:1.00)A.const int buffer=256;B.const double*point;C.int
8、 const buffer=256;D.double*const point;16.有如下说明: int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为 9 的表达式是_。(分数:1.00)A.*p+9B.*(p+8)C.*p+=9D.p+817.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是 _ 。(分数:2.00)A.int operator-(FunNumber);B.FunNumber operator-();C.FunNumber operator-(int);D.int operator-(FunNumber,FunNumber);18.某
9、二叉树共有 150 个结点,其中有 50 个度为 1 的结点,则_。(分数:1.00)A.不存在这样的二叉树B.该二叉树有 49 个叶子结点C.该二叉树有 50 个叶子结点D.该二叉树有 51 个叶子结点19.下列关于虚基类的描述中,错误的是_。(分数:2.50)A.使用虚基类可以消除由多继承产生的二义性B.构造派生类对象时,虚基类的构造函数只被调用一次C.声明“class B: virtual public A”说明类 B 为虚基类D.建立派生类对象时首先调用虚基类的构造函数20.对下列二叉树进行前序遍历的结果为_。 (分数:2.50)A.ABCDEFGHB.ABDGEHCFC.GDBEHA
10、CFD.GDHEBFCA21.关于静态数据成员的描述中正确的是(分数:1.00)A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化22.函数定义为 Fun(int B.fun(20+n);C.fun(n);D.funD( class Power public: Power(int x):val(x) _ protected: int val; ; class Square:public Power public: Square(int x):Power(x) void Displa
11、y() coutval“的平方是“val*valendl; ; int main() Power*p=new Square(3); p-Display(); delete p; return 0; 若运行时的输出结果为“3 的平方是 9”,则划线处缺失的语句可能是_。(分数:1.00)A.void Display()B.virtual void Display()=0C.void virtual Display()=0;D.void Display()virtual 24.执行语句:coutsetfill(“*“)setw(10)setfill(“#“)left123“OK“endl;retu
12、rn 0;)后将输出 _ 。(分数:2.00)A.123*OKB.123#OKC.123*OK*D.123#OK#25.有如下程序: # includeiostrcam # includeiomanip using namespace std; int main() int s=123,234; coutsetfill(“*“)setw(6); for(int i=0;i2;i+)coutsiendl; return 0; 运行时的输出结果是_。(分数:2.50)A.123234B.*123234C.*123*234D.*123234*26.有如下类定义: ciass A char*a; pu
13、blic: A():a(0) A(char*aa)/把 aa 所指字符串拷贝到 a 所指向的存储空间 a=_; strcpy(a,aa); A()(deletea; ; 横线处应填写的表达式是_。(分数:2.00)A.new charstrlen(aa)+1B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-127.下列语句中,与语句“n=(ab?(bc?1:0):0);”的功能等价的是 _ 。(分数:2.00)A.if(a=B) n=0;B.if(aB) |(bC) )n=1; else n=0;C.if(aB) if(bC) n=h
14、 else n=0; else n=0;D.if(aB) n=1; else if(b=C) n=1; else if(bC) n=1; else n=0;28.下列关于模板的叙述中错误的是_。(分数:2.50)A.调用模板函数时,有时可以省略模板实参B.函数模板的每个实例就是一个函数定义C.类模板的每个实例就是一个类定义D.类模板的实例是一个类对象29.下列字符串中可以用作 C+标识符的是_。(分数:2.50)A.2009varB.gotoC.test-2009D._12330.在函数中,可以用 auto、extern、register 和 static 这四个关键字中的一个来说明变量的存储
15、类型,如果不说明存储类型,则默认的存储类型是_。(分数:1.00)A.autoB.externC.registerD.static31.以下程序中调用 cin 函数给变量 a 输人数值的方法是错误的,其错误的原因是_。 #includeiostream.h void main() int*p,*q,a,b; p=a; cout“input a;“; cinp; (分数:2.50)A.*p 表示的是指针变量 p 的地址B.p 表示的是变量 a 的地址,而不是变量 a 的值C.*p 表示的是指针变量 p 的值D.*p 只能用来说明 p 是一个指针变量32.下面对对象概念描述错误的是_。(分数:1.
16、00)A.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的通讯靠消息传递D.操作是对象的动态性属性33.下列选项中,不是一个算法的基本特征的是_。(分数:1.00)A.完整性B.可行性C.有穷性D.拥有足够的情报34.有如下类定义: class MyClass public: _ private: int data; ; 若耍为 Myclass 类重载流输入运算符,使得程序中可以“cinobj;”形式输入 MyClass 类的对象obj,则横线处的声明语句应为_。(分数:1.00)A.friend istream operator(istream is,MyClass-a);B.
17、friend istreamoperator(istream is,MyClassa);C.istreamoperator(istreamis,MyClassa);D.istrcamoperator(istreamis,Myclass a);35.下列语句中,错误的是(分数:2.00)A.const int buffei=256;B.const double*point;C.int const buffer=256;D.double*const point:;二、填空题(总题数:14,分数:27.00)36.设栈 S 和队列 Q 的初始状态为空,元素 e1、e2、e3、e4、e5 和 e6 依
18、次通过栈 S,一个元素出栈后即进入队列 Q,若 6 个元素出队的顺序是 e2、e4、e3、e6、e5、e1,则栈 S 的容量至少应是 _ 1_ 。 (分数:1.00)37.执行下列语句后,输出结果为 1。 int a=0,b=2,c=3; switch(a) case 0:switch(b) case 1:cout“*“;break; case 2:tout“%“;break; case 1:switch(C) case 1:cout“$“;break; case 2:cout“*“;break; default:tout“#“; (分数:2.00)38.下列程序的定义语句中,x1的初值是 1
19、,程序运行后输出的内容是 2。 #includestdio.h void main() int x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16),*p4,i; for(i=0;i4;i+) pi=x2*i+1; printf(“%d“,pi0); printf(“/n“) (分数:4.00)39.对象还有操作,用于改变对象的状态,对象及其操作就是对象的 _ 1_ 。 (分数:2.00)40.下列程序的输出结果是 1。 #includeiostream using namespace std; class Test public: Test()cnt+; Tes
20、t()cnt-; static int Count()return cnt; private: static int cnt; ; int Test:cnt=0; int main() coutTest:Count()“; Test t1,t2; Test *pT3=new Test; Test *pT4=new Test; eoutTest:Count()“; delete pT4; delete pT3; coutTest:Count()endl; return 0; (分数:2.00)41.C+语言的基本控制结构为顺序结构、选择结构和 1。 (分数:1.00)42.以下程序实现栈的入栈和
21、出栈的操作。其中有两个类:一个是节点类 node,它包含点值和指向上一个节点的指针 prev;另一个类是栈类 stack, 它包含栈的头指针 top。 生成的链式栈如下图所示。 img src=“tp/jsj/2jc+j28.1.gif“ 下面是实现程序,请填空完成此程序。 #include iostream using namespace std; class stack; class node int data; node *prev; public: node(int d, node *n) data=d; prev=n; friend class stack; ; class stac
22、k node *top; /栈头 public: stack() top=0; void push(int i) node *n= 1; top=n; int pop() node *t=top; if (top) top=top-prev; int c= t-data; delete t; return c; return 0; int main () stack s; s.push(6); s.push(3); s.push (1); return 0; (分数:1.00)43.重载的流运算符函数经常定义为类的 _ 1_ 函数。 (分数:2.00)44.在结构化设计方法中,数据流图表达了问
23、题中的数据流与加工间的关系,且每一个 1 实际上对应一个处理模块。 (分数:2.00)45.设有以下程序: #includeiostream using namespace std; int main() int a,b,k:4,m=6,*p1= /x 分量 double y; /y 分量 public: vector2D (double x0=0, double y0=0):x(x0),y(y0) void show() cout“(“x“,“y“)“; vector2D operator+(vector2D); ; vector2D 1 operator+(vector2D a) retu
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C200 答案 解析 DOC
