【学历类职业资格】C++程序设计真题2013年10月及答案解析.doc
《【学历类职业资格】C++程序设计真题2013年10月及答案解析.doc》由会员分享,可在线阅读,更多相关《【学历类职业资格】C++程序设计真题2013年10月及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、C+程序设计真题 2013 年 10 月及答案解析(总分:110.00,做题时间:90 分钟)一、单项选择题(总题数:20,分数:20.00)1.下列不属于 C+关键字的是_(分数:1.00)A.externB.gotoC.freeD.default2.C+中定义标准输入库为_(分数:1.00)A.stdioB.mathC.istreamD.stdlib3.My 是一个类,则执行语句 My a3, *p2; 之后,自动调用构造函数次数为_(分数:1.00)A.2B.3C.4D.54.下列语句错误的是_(分数:1.00)A.int val(20);B.exterm int val(20);C.c
2、onst int val;D.extern const int val;5.下列说法中,有关构造函数是正确的是_(分数:1.00)A.任何一类必定有构造函数B.可定义没有构造函数的类C.构造函数不能重载D.任何一类必定有默认的构造函数6.下面关于类和对象说法不正确的是_(分数:1.00)A.类由数据与函数组成B.一个对象必属于某个类C.对象是类的实例D.一个类的对象只有一个7.下面选项中不是类成员函数的是_(分数:1.00)A.构造函数B.析构函数C.友元函数D.静态函数8.在 C+中类之间的继承关系具有(分数:1.00)A.自反性B.对称性C.传递性D.反对称性9.C+中类的成员默认为_(分
3、数:1.00)A.publicB.privateC.protectedD.static10.C+中要实现动态联编,调用虚函数时必须使用(分数:1.00)A.基类指针B.类名C.派生类指针D.对象名11.下面对析构函数的正确描述是_(分数:1.00)A.系统不能提供默认的析构函数B.析构函数必须由用户定义C.析构函数没有参数D.析构函数可以设置默认参数12.在下面的二维数组定义正确的是_(分数:1.00)A.int ary5 ;B.int ary 5=0,1,2;C.int ary 5;D.int ary5,5;13.以下说法中正确的是_(分数:1.00)A.C+程序总是从第一个定义的函数开始执
4、行B.C+程序总是从 main()函数开始执行C.C+中函数必须有返回值D.C+中函数名必须唯一14.对 C+中主函数描述正确的是_(分数:1.00)A.名称为 main,可为多个B.名称不限,可为多个C.名称为 main,必须有且只能有一个D.名称不限,必须有且只能有一个15.下面声明纯虚函数语句正确的是_(分数:1.00)A.void fun()=0;B.virtual void fun()=0;C.virtual voicl fun();D.virtual void fun();16.对于复制构造函数和赋值操作的关系,正确的描述是_(分数:1.00)A.复制构造函数和赋值操作是完全一样的
5、操作B.进行赋值操作时,不会调用类的构造函数C.当调用复制构造函数时,类的对象正在被建立并被初始化D.复制构造函数和赋值操作不能在同一个类中被同时定义17.使用重载函数的目的是_(分数:1.00)A.共享函数数据B.减少代码量C.优化运行效率D.提高可读性18.C+语言对 C 语言做了很多改进,C+语言相对于 C 语言的最根本的变化是_(分数:1.00)A.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明符必须用原型D.引进了类和对象的概念19.假定有“char * p=“Hello“;”,若要输出这个字符串的地址值正确的写法为_(分数:1.00)A.cout* p;B
6、.coutp;C.coutD.cout(void *)p;20.从本质上看,引用变量是被引用变量的(分数:1.00)A.拷贝B.别名C.复制D.克隆二、填空题(总题数:20,分数:20.00)21.C+程序的编译是以 1 为单位进行的。 (分数:1.00)22.C+语言支持的两种多态性分别是编译时的多态性和 1 的多态性。 (分数:1.00)23.重载的运算符保持其原有的操作符个数、 1 和结合性不变。 (分数:1.00)24.在 C+中,函数的参数有两种传递方式,它们分别是值传递和 1。 (分数:1.00)25.含有 1 的类称为抽象类。 (分数:1.00)26.C+程序运行时的内存空间可以
7、分成全局数据区、堆区、栈区和 1。 (分数:1.00)27.对于无返回值函数,定义函数时要用 1 修饰函数类型。 (分数:1.00)28.定义重载函数必须在参数的个数或参数的 1 上与其他同名函数不同。 (分数:1.00)29.复制构造函数是在用一个对象初始化另一个对象时被调用,系统默认的复制构造函数的工作方法是 1。 (分数:1.00)30.以面向对象方法构造的系统,其基本单位是 1。 (分数:1.00)31.C+中定义友元函数使用的关键字为 1。 (分数:1.00)32.当一个成员函数被调用时,该成员函数的 1 指向调用它的对象。 (分数:1.00)33.类可将实现细节隐藏起来,这种机制称
8、为 1。 (分数:1.00)34.在面向对象的程序设计中,通过封装实现数据隐藏;通过 1 实现代码的复用。 (分数:1.00)35.在公有继承中基类数据成员在派生类中的访问权限 1。 (分数:1.00)36.复杂对象可以由简单对象构成,这种现象称为 1。 (分数:1.00)37.如有“char * p=“Hello“;”,则语句“cout*(p+1);”输出值是 1。 (分数:1.00)38.基类和派生类的关系称为 1。 (分数:1.00)39.C+对其对象的数据成员和成员函数的访问是通过 1 来限制的。 (分数:1.00)40.假定 x=10,则表达式 x=10? 20:30 的值为 1。
9、(分数:1.00)三、改错题(总题数:5,分数:20.00)41.#includeiostream.h class point private: float x,y; public: point(float a,float b)x=a;y=b; void f()x=0;y=0; void getx()coutxendl; void gety()coutyendl; ; main() point a(3.5); a.getx(); (分数:4.00)42.#includeiostream.h main() int x=7; const int *p= *p=99; cout*pendl; (分数
10、:4.00)43.#includeiostream.h class test private: int x;y; public: voicl f(int a,int b)x=a;y=b; int max()return(xy) ? x:y; ; main() test a; a.f(1,3); couta.max()endl; (分数:4.00)44.#includeiostream h class test private: int x; public: test(int a)x=a; void set(int a)x=a; void get()coutxendl; ; class test
11、l: public test private: int x; public: testl(int a)x=a; void set(int a)x=a; void get()cout“endl; (分数:4.00)45.#includeiostream.h class f private: int x,y; public: fl(int a,int b)x=a;y=b; void print()coutx-yendl; ; main() f a; float x=1.0,y=2.0; a.fl(x,y); a.print(); (分数:4.00)四、完成程序题(总题数:5,分数:20.00)46
12、.在下面程序横线处填上缺少的部分。源程序如下。 #includeiostream using namespace std; class base int a,b; public: base(int x,int y)a=x;b=y; void show(_) coutp.a“,“p.bendl; _ void main() base b(78,87); b.show(b); (分数:4.00)_47.在下面程序横线处填上缺少的部分。源程序如下。 #includeiostream #includefstream using namespace std; void main() _myf(“ab.t
13、xt“);/定义输出流文件,并初始化 _“This ia a TXT file“;/向文件输入字符串 myf.close(); (分数:4.00)_48.在下面程序横线处填上适当的程序,使程序的输出结果如下。 67,90 源程序如下。 #includeiostream using namespace std; class base pnvate: int x,y; priblic: void initxy(int a,int b)x=a;y=b; void show(base*p); ; inline void base:show(_) coutp-x“ “p-yendl; void prin
14、t(base*p) p-show(p); void main() base a; a.initxy(67,90); print(_); (分数:4.00)_49.下面程序给出了一个从普通的基类派生出一个模板类的方法,在横线处填上缺少的部分。 #includeiostream using namespace std; class Base public: Base(int a)x=a; int Getx()return x; void showb()coutxendl; private: int x; ; templateclass T class derived:public Base pub
15、lic: derived(T a,int b):_ y=a; T Gety()return y; void showd()couty“ “Gets()endl; private: ; void main() Base A(458); A.showb(); derivedchar * B(“It is“,1357); B.showd(); (分数:4.00)_50.下面程序的运行结果如下。 20.22 60.22 在横线处填上缺少的部分。源程序如下。 #includeiostream using namespace std; class base private: const int a; st
16、atic const int b; public: base(int); void Show(); ; _=22; _:a(i)/初始化 void base:Show( ) couta“,“bendl; void main() base al(20),a2(60); al.Show(); a2.Show(); (分数:4.00)_五、程序分析题(总题数:2,分数:20.00)51.给出下面程序的输出结果 #includeiostream using namespace std; class base int x; public: void setx(int a)x=a; int getx()r
17、eturn x; ; void main() int * p: base a; a.setx(15); p=new int(a.getx(); cout*p; (分数:10.00)_52.给出下面程序的输出结果 #includeiostream using namespace std; class base private: int x; public: void setx(int a)x=a; int getx()return x; ; void main() base a,b; a.setx(89); b=a; couta.getx()endl; coutb.getx()endl; (分数
18、:10.00)_六、程序设计题(总题数:1,分数:10.00)53.在字符串类 string 中实现一个判断函数,该函数功能是统计某一字符串类对象(仅由单词和空格组成)有多少个单词,同时保存所有单词在字符串中的起始地址(设该字符串不超过 100 个单词) #includeiostream.h #includestring class str string s; int n,a100,j,1; public:str(stfingn=0;j=0;l=0; test(); int * geta()return a; ; 请写出 test 函数的过程(如果需要形式参数,请给出形参类型和数量以及返回值类
19、型) (分数:10.00)_C+程序设计真题 2013 年 10 月答案解析(总分:110.00,做题时间:90 分钟)一、单项选择题(总题数:20,分数:20.00)1.下列不属于 C+关键字的是_(分数:1.00)A.externB.gotoC.free D.default解析:考点 C+关键字 解析 本题考查对 C+关键字的掌握。C+共有 73 个关键字,A、B、D 均为 C+的关键字。对于选项C,free 是内存释放函数,其功能与 C+中关键字 delete 是一样的,但 free 并不是 C+的关键字。故选C。2.C+中定义标准输入库为_(分数:1.00)A.stdioB.mathC
20、.istream D.stdlib解析:考点 C+标准库 解析 本题考查的是对 C+基础知识的掌握能力,很容易便能选出正确答案为 C。A 项的 stdio 为 C 的标准输入输出库函数;B 项的 math 中定义的是一些常用数学函数;D 项中的 stdlib 包含了 C、C+常用的系统函数,包括五种类型、一些宏和常用的工具函数,如 size_t 类型、malloc()函数等。3.My 是一个类,则执行语句 My a3, *p2; 之后,自动调用构造函数次数为_(分数:1.00)A.2B.3 C.4D.5解析:考点 类的构造函数 解析 构造函数是在对象被创建时自动调用的,在执行语句 My a3,
21、*p2;中,a3是创建包含 3 个 My类对象的数组,会调用 3 次构造函数。*p2是建立容量为 2 的数组,数组元素为指向类 My 的指针,只是对指针分配了空间,并未对指针所指向的对象进行创建,不会调用构造函数。故选 B。4.下列语句错误的是_(分数:1.00)A.int val(20);B.exterm int val(20);C.const int val; D.extern const int val;解析:考点 const、extern 关键字的使用 解析 A、B、D 均符合 C+的语法规则。选项 C,使用 const 定义一个常量时,要对其进行初化,即 C 选项是错误的语法。故选
22、C。5.下列说法中,有关构造函数是正确的是_(分数:1.00)A.任何一类必定有构造函数B.可定义没有构造函数的类 C.构造函数不能重载D.任何一类必定有默认的构造函数解析:考点 类的构造函数 解析 C+为类提供了默认构造函数机制,使其允许在定义的类中没有构造函数,但此时 C+编译器为类自动生成一个默认构造函数,故 A 不正确,B 正确;当类定义了自己的构造函数后,系统将不再提供默认构造函数,故 D 不正确;C+允许对构造函数重载,故 C 不正确。正确选项为 B。6.下面关于类和对象说法不正确的是_(分数:1.00)A.类由数据与函数组成B.一个对象必属于某个类C.对象是类的实例D.一个类的对
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学历 职业资格 程序设计 2013 10 答案 解析 DOC
