【计算机类职业资格】二级C++模拟492及答案解析.doc
《【计算机类职业资格】二级C++模拟492及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++模拟492及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+模拟 492 及答案解析(总分:169.00,做题时间:90 分钟)一、选择题(总题数:40,分数:69.00)1.下面有关类模板的说法中不正确的是 _ 。(分数:2.00)A.类模板的成员函数都是模板函数B.类模板本身在编译中不会生成任何代码C.类模板只是虚拟类型的参数D.用类模板定义一个对象时,不能省略实际参数2.关于纯虚函数,下列表述中正确的是_。(分数:1.00)A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数B.纯虚函数的声明总是以“=0”结束C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不可能是派生类3.有以下程序: class Date public: D
2、ate(int y,int m,int d); year=y; month=m; day=d; Date(int y=2000) year=y; month=10; day=1; Date(Dated) year=d.year; month=d.month; day=d.day; void print() coutyear“.“month“.“dayendl; private; int year,month,day; ; Date fun(Date d) Date temp; temp=d; return temp; int main() Date date1(2000,1,1),daie2(
3、0,0,0); Date date3(date1); date2=fun(date3); return 0; 程序执行时,Date 类的拷贝构造函数被调用的次数是_。(分数:2.50)A.2B.3C.4D.54.关于关键字 class 和 typename,下列表述中正确的是_。(分数:1.00)A.程序中的 typename 都可以替换为 classB.程序中的 class 都可以替换为 typenameC.在模板形参表中只能用 typename 来声明参数的类型D.在模板形参表中只能用 class 或 typename 来声明参数的类型5.下列关于队列的叙述中正确的是(分数:1.00)A.
4、在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表6.下面对静态数据成员的描述中,正确的是_。(分数:1.00)A.静态数据成员可以在类体内进行初始化B.静态数据成员不可,以被类的对象调用C.静态数据成员不能受 private 控制符的作用D.静态数据成员可以直接用类名调用7.下列选项,不正确的是_。(分数:1.00)A.for(int a=1; a=10; a+);B.int a=1;doa+; while(a=10);C.int a=1;while(a=10)a+;D.for(int a=1; a=10; a+)a+;8.有如下类声明: cla
5、ss Foo int bar; ; 则 Foo 类的成员 bar 是(分数:2.00)A.公有数据成员B.公有成员函数C.私有数据成员D.私有成员函数9.下面属于黑盒测试方法的是_。(分数:2.50)A.基本路径测试B.等价类划分C.判定覆盖测试D.语句覆盖测试10.有如下程序: #include iostream using namespaee std; int main() void function( double val) ; double val; function(val) ; cout val ; return 0 ; void function( double val) val
6、 =3; 编译运行这个程序将出现的情况是 _ 。(分数:1.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数11.有如下程序: int x=3; do x-=2; coutx; while(!(-x); 执行这个程序的输出结果是_。(分数:1.00)A.1B.30C.1-2D.死循环12.下列字符串中不能作为 C+标识符使用的是_。(分数:1.00)A.IN25B.testC._1481D.12313._ 复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。(分数:2.00)A.详细设计B.系统设计C.正式D.非正式14.有如下程序: #includeio
7、stream using namespace std; class Media public: void Name(); void Show(); protected: int page; ; class Book:private Media public: void Print() coutpageendl; void Show()Media:Show();) / ; int main() Book Bible; Bible.Name(); / Bible.Print(); / Bible.Show(); / return 0; 编译时有错误的是_。(分数:2.00)A.语句B.语句C.语句
8、D.语句15.下面关于函数模板的表述中不正确的是_。(分数:2.50)A.类模板的成员函数都是模板函数B.类模板本身在编译过程中不会产生任何代码C.类模板只能有虚拟类型的参数D.用类模板定义一个对象时,实参不能省略16.有如下类定义: class B public: void funl() private: void fun2() protected: void fun3() ; class D: public B protected: void fun4() ; 若 obj 是类 D 的对象,则下列语句中不违反访问控制权限的是_。(分数:1.00)A.obj.funl();B.obj.fun
9、2();C.obj.fun3();D.obj.fun4();17.重载输入流运算符“”必须使用的原型为_。(分数:2.50)A.istreamB.istreamC.istream operator(istream,类名D.类名operator(istream18.考虑函数原型 void test(int a,int b=7,char z=“*7“),下面的函数调用中,属于不合法调用的是_。(分数:1.00)A.test(5);B.test(5,8);C.test(6,“#“);D.test(0,0,“*“);19.下列有关运算符重载的叙述中,正确的是_。(分数:1.00)A.运算符重载是多态性
10、的一种表现B.C+中可以通过运算符重载创造新的运算符C.C+中所有运算符都可以作为非成员函数重载D.重载运算符时可以改变其结合性20.以下选项中,不能正确赋值的是 _ 。(分数:2.00)A.char s110;s1=“Ctest“;B.char s2=“C“,“t“,“e“,“s“,“t“);C.char s320=“Ctest“;D.char* s4=“Ctest/n“;21.有如下程序: #includeiostream using namespace std; class BASE public: BASE()cout“BASE“; ; class DERIVED:public BAS
11、E public: DERIVED()cout“DERIVED“; ; int main()DERIVED x;return 0; 执行后的输出结果是_。(分数:3.00)A.BASEB.DERJVEDC.BASEDERIVEDD.DERIVEDBASE22.有如下程序: #includeiostream using namespace std; class Part public: Part(int x=0): val(x) coutval; Part() coutval; private: int val; ; class Whole public: whole(int x, int y,
12、 int z=0): p2(x), p1(y), val(z) coutVal; Whole() coutval; private: Part p1, p2; int val; ; int main() Whole obj(1, 2, 3); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.123321B.213312C.213D.12312323.有如下类定义: class Point int x_,y_; public: Point( ):x_(0),y_(0) Point(int x,int y=0):x_(x),y_(y) ; 若执行语句: Point a(2),
13、b3,*c4; 则 Point 类的构造函数被调用的次数是(分数:2.00)A.2 次B.3 次C.4 次D.5 次24.下列关于运算符重载不正确的是_。(分数:1.00)A.运算符重载不能改变运算符的操作数个数B.运算符重载不能改变运算符的优先级C.运算符重载不能改变运算符的结合性D.运算符重载能改变对预定义类型数据的操作方式25.有如下定义: int a5=1, 3, 5, 7, 9, *P=a; 下列表达式中不能得到数值 5 的是_。(分数:1.00)A.a2B.a3C.*(P+2)D.*P+426.有如下程序: #includeiostream #includeiomanip usin
14、g namespace std; int main() coutsetfill(“#“)setw(4)“OK“123endl; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.#OK123B.#OK#123C.OK#123D.OK#123#27.下列程序的执行结果为_。 #includeiostream. h void main() int a=3, b=0; int*P= b=+a+; cout*P“,“bendl;(分数:1.00)A.3, 4B.4, 3C.3, 4D.4, 428.有如下程序: #includeiostream using namespace st
15、d; class Point public: static int number; public: Point() number+; Point() number -; ; int Point:number=0; int main() Point *ptr; Point A, B; Point *ptr_point=new Point3; ptr=ptr_point; Point C; coutPoint:numberendl; deleteptr; return 0; 执行这个程序的输出结果是_。(分数:1.00)A.3B.4C.6D.729.若有定义“int a23;”,下列选项中对 a
16、数组元素正确引用的是_。(分数:2.50)A.a2!1B.a23C.a03D.a12!130.下列关于类定义的说法中,正确的是_。(分数:2.00)A.类定义中包括数据成员和函数成员的声明B.类成员的缺省访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进行定义31.下列关于运算符重载的描述中,错误的是_。(分数:2.50)A.:运算符不能重载B.类型转换运算符只能作为成员函数重载C.将运算符作为非成员函数重载时必须定义为友元D.重载口运算符应完成“下标访问”操作32.己知类 X 是类 Y 的友元,类 Y 是类 Z 的友元,则 _。(分数:2.00)A.类 X 一定是类 Z
17、 的友元B.类 Z 一定是类 X 的友元C.类 Z 的成员函数可以访问类 Y 的对象的任何成员D.类 K 的成员函数可以访问类 Y 的对象的任何成员33.设有以下定义和程序: #includeiostream.h classA1 public: void show1() cout“classA1”end1; ; classA2:public A1 public: void show2() cout“classA2“end1; ; class A3:protected A2 public: voidshow3() cout“class A1”end1; ; void main() A1obj1;
18、 A2obj2; A3obj3; 则以下不合语法的调用语句是(分数:1.00)A.obj1show1();B.obj2show1();C.obj3show1();D.obj2show2();34.若执行下面的程序时,从键盘上输入 5 和 2,则输出结果是_。 # includeiostream.h void main() int a,b,k; cinab; k=a; if(ab) k=a%b; else k=b%a; coutkendl;(分数:2.50)A.5B.3C.2D.035.关于类模板,下列表述中不正确的是_。(分数:3.00)A.类模板中声明的类称为模板类B.类模板只能有虚拟类型参
19、数C.类模板本身在编译中不会生成任何代码D.类模板的成员函数都是模板函数36.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_。(分数:2.00)A.publicB.protectedC.privateD.static37.有如下程序: #includeiostream using namespace std; class Point public: Point(int xx=0,int yy=0):x(xx),y(yy) void SetX(int xx)x=xx; void SetY(int yy)y=yy; private: int x,y; ; c
20、lass Circle:Point public: Circle(int r):radius(r) int GetRadius()return radius; private: void SetRadius(int r)radius=r; int radius; ; int main() Circle c1(5); c1.SetX(1); / c1.SetY(2); / c1.SetRadius(10); / coutc1.GetRadius(); / return 0; 在标注号码的语句行中不存在语法错误的是_。(分数:1.00)A.B.C.D.38.同一概念在一处为实体而在另一处为属性或联
21、系的冲突在视图集成中称为_。(分数:2.50)A.命名冲突B.概念冲突C.域冲突D.约束冲突39.下列选项合法的标识符是_。(分数:2.50)A.1_1B.1-1C._11D.1_ _40.有以下类定义 class MyClass private: int id; char gender, char*phone; public: MyClass():id(0),gender(“#“),phone(NULL) MyClass(int no,char ge=“#“,char*ph=NUl1.) id=no;gende=ge;phone=ph; ; 下列类对象定义语句中错误的是_。(分数:2.50)
22、A.MyClass myObj;B.MyClass myObj(11,“13301111155“);C.MyClass myObj(12,“m“);D.MyClass myObj(12);二、基本操作题(总题数:1,分数:30.00)41.使用 VC+6.0 打开 下的源程序文件 1.cpp,该程序运行时有错,请改正错误,使得程序正确执行,并且输出以下语句: TC1: 0 TC2 注意:不要改动 main 函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/*error*的下面。 试题程序: #includeiostream.h struct TC1 TC1(int i=0) m_i=
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 模拟 492 答案 解析 DOC
