【学历类职业资格】C++程序设计自考题模拟14及答案解析.doc
《【学历类职业资格】C++程序设计自考题模拟14及答案解析.doc》由会员分享,可在线阅读,更多相关《【学历类职业资格】C++程序设计自考题模拟14及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、C+程序设计自考题模拟 14 及答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.在 C+中,注释“/*”的有效范围是_(分数:1.00)A.从“/*”开始到行尾B.从“/*”开始到“*/”结束C.从“/*”开始到程序结束D.“/*”及其后一个字符2.下列关于 this 指针的说法中,错误的是_(分数:1.00)A.this 指针指向的数据可以更改B.this 指针可以指向常量型数据C.this 指针本身可直接作为成员函数的返回值D.静态成员函数中也具有 this 指针3.给定一个宏定义语句,#define BUFSIZE 100,使用
2、 const 定义,与其等效的语句为_(分数:1.00)A.const BUFSIZE 100;B.const int BUFSIZE 100;C.const 100 int BUFSIZE;D.const 100 BUFSIZE;4.下面关于类模板的派生与继承的说法,正确的是_(分数:1.00)A.类模板可以继承,继承的方法与普通的类不一样B.模板类的基类和派生类不可以是非模板类C.声明模板继承之前,必须重新声明类模板D.模板类的基类和派生类不可以是模板类5.下列合法的常量中,属于八进制的常量的是_(分数:1.00)A.32767B.123LC.0461D.0x8326.将一个类 A 声明为
3、另一个类 B 的友元后,类 A 能够直接访问类 B 的_(分数:1.00)A.公有成员B.只能是保护成员C.除私有成员之外的任何成员D.具有任何权限的成员7.对数组进行降幂排序和检索操作,需要包含的头文件是_(分数:1.00)A.mathB.algorithmC.functionalD.iostream8.下列关于虚函数的描述中,错误的是_(分数:1.00)A.虚函数不可以是一个非成员函数B.虚函数不可以是一个静态成员函数C.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型D.虚函数既可以在函数说明时定义,又可以在函数实现时定义9.下列字符常量 11、1.1、11L 的数据类型分别是
4、_(分数:1.00)A.long、double、intB.long、float、intC.int、double、longD.int、float、long10.C+中,描述对象的要素不包括_(分数:1.00)A.对象名B.属性C.数据D.操作11.对于指针 p,禁止修改指针 p,也禁止修改指向的数据,这样的指针应定义为_(分数:1.00)A.const char *p=“ABCD“;B.char *const p=“ABCD“;C.char const *p=“ABCD“;D.const char *const p=“ABCD“;12.执行下列语句段后,输出字符“#”的个数是_ for(int
5、i=100; i1; -i)cout“#“;(分数:1.00)A.100B.99C.98D.10113.对象使用自己的成员函数的方法是通过以下哪个运算符_(分数:1.00)A. y=i*j;“,则执行“A a(4, 5);“语句后,a.x 和 a.y的值分别为_(分数:1.00)A.4 和 5B.5 和 4C.4 和 20D.20 和 515.下列关于类的成员访问权限的说法错误的是_(分数:1.00)A.类的成员函数可以直接访问使用自己的类的私有成员B.类外面的函数不能访问类的数据成员、成员函数C.如果对象 A 和 B 的成员函数代码一样,则两个对象区别是属性的值D.类外面的函数可以通过类对象
6、使用该类的公有成员函数16.用户已定义类 A,a 为该类公有的数据成员,x 申请为该类的一个对象,则访问 x 对象中数据成员 a 的格式为_(分数:1.00)A.x(a)B.xaC.x-aD.a17.有关 C+编译指令的描述错误的是_(分数:1.00)A.每条指令单独占用一行B.不是所有的编译指令都是以“#”开始C.同一行不能有其他编译指令D.同一行可以有 C+注释18.已定义类 X,假设 class Y:publieX,即类 Y 是类 X 的派生类,则说明一个 Y 类的对象时和删除 Y 类的对象时,则构造函数和析构函数的调用顺序分别为_(分数:1.00)A.X,Y;Y,XB.X,Y;X,YC
7、.Y,X;Y,XD.Y,X;X,Y19.下列关于虚函数实现多态性的描述错误的是_(分数:1.00)A.使用虚函数一定产生多态B.类之间的继承关系满足赋值兼容性规则C.根据赋值兼容性规则使用指针D.改写了同名虚函数20.已定义类 A,那么执行语句“A a,b(3),*p;”调用了_次构造函数。(分数:1.00)A.3 次B.2 次C.4 次D.1 次二、第部分 非选择题(总题数:20,分数:20.00)21.C+允许为同一个函数定义几个版本,从而使一个函数名具有多种功能,这称为 1。 (分数:1.00)22.删除对象时,析构函数名是在类名前加上 1 符号,用来表示释放对象所占的内存空间。 (分数
8、:1.00)23.C+输入/输出操控符中,含义是设置转换基数为十进制的是 1。 (分数:1.00)24.重载的运算符的实质是保持其原有的运算符个数、 1 不变。 (分数:1.00)25.将现实世界中客观存在的事物称为 1。 (分数:1.00)26.已知 AB 用户为其定义了一个构造函数“AB():a(0), b(0)“,则声明该类的对象 x 的语句“AB x;“是 1(正确/错误)的。 (分数:1.00)27.使用 string 类定义存储的字符串对象,需要在程序中包含这个类的头文件,即使用语句 1。 (分数:1.00)28.设定义一个文件输出流对象 outfile,与文件“d:/Text.t
9、xt”相关联,设置以二进制形式打开。用C+语句描述是 1。 (分数:1.00)29.指向常量的指针在非常量指针声明前面使用 1。 (分数:1.00)30.已知类 A,语句“A*p; p=new A10;“。要释放由 p 指向的动态空间的语句是 1。 (分数:1.00)31. 1 是作用域运算符,用于表明其后的成员函数属于这个特定的类。 (分数:1.00)32.执行代码: int num=48; couthexnum; 程序的输出结果是 1。 (分数:1.00)33.包含有纯虚函数的类称为 1。 (分数:1.00)34.已知类 base,“base*abc()const;“是该类中一个成员函数的
10、原型,在该函数体中 1(能够/不能够)向*this 或其成员赋值。 (分数:1.00)35.在类中使用关键字 1 定义常量数据成员、静态常数据成员和常引用。 (分数:1.00)36.在用 C+进行程序设计时,最好用 1 代替 malloc,分配动态内存。 (分数:1.00)37.使用 new 建立的动态对象只能用 1 删除,以便释放空间。 (分数:1.00)38. 1 是指复杂对象可以由简单对象构成。 (分数:1.00)39.定义整型指针 p,为了得到一个包括 10 个整数的数组并由 p 所指向,实现此操作的语句是 1。 (分数:1.00)40.利用向量类模板定义一个具有 10 个 doubl
11、e 的向量 E,其元素均被置为 1.5,实现此操作的语句是 1。 (分数:1.00)三、改错题(总题数:5,分数:20.00)41.#includelostream using namespace std; void main 1 int *p=new int1; p=9; cout*pendl; deletep; (分数:4.00)42.下列加法类的定义与实现中,有错误的语句是: #includeiostream usjng namespace std; class Add private: int sum; public: void plus(int, int); ; void Add:p
12、lus(int x, int y) sum=x+y; void main 1 Add add; add.plus(2, 3); coutadd.sumendl; (分数:4.00)43.#includeiostream using namespace std; class A public: A 1a=5; void printa 2cout“A:a=“aendl; private: int a; class B; ; class B public: void display1(A t) t.a+; cout“display1:a=“t.aendl; void display2(A t) t.
13、a-; cout“display2:a=“t.aendl; ; int main 3 A obj1; B obj2; obj1.printa 4; obj2.display1(obj1); obj2.display2(obj1); obj1.printa 5; (分数:4.00)44.运行程序,从键盘上输入“This is a C+prog!”后输出到一个文件中,并显示在屏幕上,显示结果:This is a C+prog!。 #includeiostream #includefstream #includestring using namespace std; void main 1 char
14、 str20; ofstream outf(“D:/ten.dat“, ios:trunc); cinstr; outfstr; outf.close 2; int i=0; while(stri!=“/0“) coutstri; i+; coutendl; (分数:4.00)45.下面的程序是关于 CBook 类的一个定义,试改正程序中的错误。 #includeiostream #inlcudestring using namespace std; class CBook private: char *p_book; public: CBook(const char *p_val) p_bo
15、ok=new charstrlen(p_val)+1; ; strcpy(p_book, p-val); void print 1constcoutp_bookendl; CBook 2deletep_book; ; void main 3 char book_title60; CBook *p_book_obj; cout“Enter book title:“; cinp; CBook abook(p); p_book_obj= p_book_obj.print 4; (分数:4.00)四、完成程序题(总题数:5,分数:20.00)46.给定一个数组,统计奇数的个数及平均数,并输出。 #in
16、cludeiostream using namespace std; int main() int i, count=0, sum=0; double average; int a=1, 2, 3, 4, 5, 6, 7, 8, 9, 10; for(i=0; i10; i+) if(_) continue; sum+=ai; count+; average=_; cout“count=“count“/t“average=“averageendl; (分数:4.00)_47.完成类 Base 的定义 class Base int x, y; protected: int setZero(int
17、 zeroX, int zeroY); private: int length, height; public: _(int init X, int init Y); int Get X(); int Get Y(); ; (分数:4.00)_48.完成下列程序填空,使其输出结果为 a=3 b=13 a=5 b=13 #includeiostream using namespace std; class T public: T(int x)a=x; b+=x; _/静态成员函数的定义 cout“a=“c.a“/t“b=“c.bendl; private: int a; static int b
18、; ; _=5;/静态数据成员初始化 int main() T A(3), B(5); T:display(A); T:display(B); (分数:4.00)_49.为了在类 Basel 中引入类 Base2 的对象,应该在 class Base1 定义前添加类 two 的声明语句_。 class Base1 privalte: int a; public: void func(Base2 ; class Base2 private: int b; friend void Base1:func(Base2 ; void Base1:func(Base2 (分数:4.00)_50.下列程序在
19、构造函数和析构函数中申请和释放类的数据成员 int*a,申请时使用形参 b 初始化 a,请填空。 class A public: A(int b); A(); private: int *a; ; A:A(int b) _; A:A() _; (分数:4.00)_五、程序分析题(总题数:2,分数:10.00)51.给定下列程序,给出其输出结果: #includeiostream using namespace std; class T public: T(int x, int y) a=x; b=y; cout“调用构造函数 1.“endl; couta“/t“bendl; T(T cout
20、T()cout“调用析构函数.“endl;int add(int x, int y=10)return x+y;private:int a, b;int main()T d1(4, 8);T d2(d1);coutd2.add(10)endl;调用构造函数 148调用构造函数 24820调用析构函数调用析构函数考点 构造函数和析构函数解析 T d1(4,8)定义对象 d1,并赋值 a=4,b=8;输出:构造函数 148T d2(d1)调用复制构造函数,并赋值对象 d2 中的 a=4,b=8;输出:调用构造函数 248执行 d2.add(10),赋值 x=10,y 自动赋值为 10,结果为 20
21、。最后执行释放两个对象空间的析构函数,输出:调用析构函数调用析构函数(分数:5.00)_52.给出下面程序的输出结果。 #includeiostream using namespace std; class B int x, y; public: B(int i, int j=0) x=i; y=j; int get(int i, int j) return i+j; ; void main() B t1(2), t2(4, 6); int(B:*p)(int, int=10); p=B:get; cout(t1.*p)(5)endl; B*p1= cout(p1-*p)(7, 20)endl
22、; (分数:5.00)_六、程序设计题(总题数:1,分数:10.00)53.定义一个 Box(盒子)类,在该类定义中包括数据成员length(长)、width(宽)和 height(高);成员函数构造函数 Box,设置盒子长、宽和高三个初始数据;用函数 volume 计算并输出盒子的体积。在main 函数中,要求创建 Box 对象,并求盒子的体积。 (分数:10.00)_C+程序设计自考题模拟 14 答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.在 C+中,注释“/*”的有效范围是_(分数:1.00)A.从“/*”开始到行尾B.从“
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学历 职业资格 程序设计 考题 模拟 14 答案 解析 DOC
