ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:65.50KB ,
资源ID:1324247      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1324247.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C++分类模拟249及答案解析.doc)为本站会员(fuellot230)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C++分类模拟249及答案解析.doc

1、二级 C+分类模拟 249 及答案解析(总分:71.50,做题时间:90 分钟)一、选择题(总题数:40,分数:71.50)1.下列数据结构中,属于非线性结构的是_。(分数:1.00)A.循环队列B.带链队列C.二叉树D.带链栈2.下列关于二叉树的叙述中,正确的是_。(分数:2.50)A.叶子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点数是度为 1 的结点数的两倍3.假定 MyClas 为一个类,那么该类的析构函数是 _ 。(分数:2.00)A.voidMyClas();B.MyClas(int n);C.

2、MyClas();D.MyClas();4.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为 _ 。(分数:2.00)A.125B.n/2CnD.n+15.下列选项中不属于结构化程序设计方法的是_。(分数:1.00)A.自顶向下B.逐步求精C.模块化D.可复用6.下列关于 C+流的描述中,错误的是 _ ,(分数:2.50)A.cout“A“表达式中输出字符 AB.eof 函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件7.已知 char a; int b; floa

3、t c; double d; 则表达式 a*b+c-d 结果为(分数:2.00)A.doubleB.intC.floatD.char8.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点在第 1 层)_。(分数:1.00)A.3B.4C.6D.79.下列关于继承方式的描述中,错误的是_。(分数:2.50)A.如果不显式地指定继承方式,默认的继承方式是私有(private)B.采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员C.采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员D.采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员1

4、0.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为 _ 。(分数:2.00)A.125B.n/2CnD.n+111.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是 _ 。(分数:2.00)A.int operator-(FunNumber);B.FunNumber operator-();C.FunNumber operator-(int);D.int operator-(FunNumber,FunNumber);12.下列程序的输出结果为 _ 。 #includeiostream.h #includeiomanip.h voidmain() coutpre

5、cision(4); cout123.127; cout”12346: (分数:1.00)A.123.1 123.4B.123.1 123.46C.123.127 123.46D.123.1123.413.通过公有派生类的对象,只能访问基类成员中的 _ 。(分数:2.00)A.公有成员B.私有成员C.保护成员D.公有成员和保护成员14.下列描述中,错误的是_。(分数:2.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员D.保护继承时基类中的保护成员在派生类中仍是保护成员15.下列关

6、于析构函数的描述中,错误的是_。(分数:2.50)A.析构函数可以重载B.析构函数由系统自动调用C.每个对象的析构函数只被调用一次D.每个类都有析构函数16.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是_。(分数:2.50)A.整型表达式B.整型常量C.整型常量或整型表达式D.任何类型的表达式17.下列各组类型声明符中,含义相同的一组是_。(分数:1.00)A.unsigned long int 和 longB.signed short int 和 shortC.unsigned short 和 shortD.short int 和 int18.程序流程图中的箭头代表的是 _ 。

7、(分数:1.00)A.数据流B.控制流C.调用关系D.组成关系19.在下面程序中,编译时出现错误的是 _。 Class A /(1) public: /(2) A() f(); /(3) void B() f(); virtual void f()const=0; /(4) ;(分数:2.00)A.(1)B.(2)C.(3)D.(4)20.若有以下定义: int a=1,2,3,4,5,6,7; char c1=“b“,C2=“2“; 则数值不为 2 的表达式是(分数:1.00)A.a1B.“d“-c1C.a“3“-c2D.c2-021.在类的定义中,用于为对象分配内存空间,对类的数据成员进行

8、初始化并执行其他内部管理操作的函数是(分数:2.00)A.友元函数B.虚函数C.构造函数D.析构函数22.当使用 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 _ 。(分数:1.00)A.ios:inB.ios: outC.ios:in lios:outD.以上都不对23.如果派生类以 protected 方式继承基类,则原基类的 protected 成员和 public 成员在派生类中的访问属性分别是_。(分数:1.00)A.public 和 publicB.public 和 protectedC.protected 和 publicD.protected 和

9、 protected24.已知表达式+x 中的“+”是作为成员函数重载的运算符,则与+x 等效的运算符函数调用形式为_。(分数:1.00)A.operator+(1)B.operator+(x)C.operator+()D.operator+(x)25.下列虚基类的声明中正确的是 _。(分数:2.00)A.class virtual B: public AB.class B: public A virtualC.class B: public virtual AD.virtual class B: public A26.有如下程序: #include iostream using namesp

10、ace std; class AA int n; public: AA(int k):n(k) int get()return n; int get()constreturn n+1; int main() AA a(5); const AA b(6); couta.get()b.get(); return 0; 执行后的输出结果是 _ 。(分数:2.00)A.55B.57C.75D.7727.语句 ofstream f(“SALARY.DAT“,ios:appl ios:binary);的功能是建立流对象 f,试图打开文件SALARY.DAT 并与之连接,并且 _ 。(分数:2.00)A.若

11、文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件28.有如下程序: #includeiostream using namespace std; class CD public: CD()cout“C“; private: char name80; ; int main()CD a,*b,d2;return 0; 运行时的输出结果是_。(分数:2.50)A.CCCCB.CCCC.CCDC29.定义如下枚举

12、类型;enum Monday, Tuesday, Wednesday, Thrusday, Friday=2);,则下列语句正确的是 _ 。(分数:2.00)A.表达式 Wednesday=Friday 的值是 trueB.Day day;day=3C.Day day;day=Monday+3D.Day day;day=Tuesday+1030.下列运算符中,在 C+语言中不能重载的是(分数:1.00)A.*B.=C.:D./31.若已定义: int a 0,1,2,3,4,5,6,7,8,9, * pa, i ; 其中 0i9,则对 a 数组元素不正确的引用是(分数:2.00)A.apaB.

13、* ( ; int x,*p; 则以下引用形式中,正确的是(分数:2.00)A.x=value;B.x=C:value;C.p= 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*39.下列关于多继承二义性的描述中,错误的是 _ 。(分数:2.00)A.一个派生类的两个基类中都有某个同名成员,派生类中这个成员的访问可能出现二义性B.解决二义性的最常用的

14、方法是对成员名的限定法C.基类和派生类中同时出现的同名函数,也存在二义性问题D.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性40.下面有关重载函数的描述中正确的是_。(分数:1.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须具有不同的形参列表D.重载函数名可以不同二级 C+分类模拟 249 答案解析(总分:71.50,做题时间:90 分钟)一、选择题(总题数:40,分数:71.50)1.下列数据结构中,属于非线性结构的是_。(分数:1.00)A.循环队列B.带链队列C.二叉树 D.带链栈解析:解

15、析 树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。2.下列关于二叉树的叙述中,正确的是_。(分数:2.50)A.叶子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个 C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点数是度为 1 的结点数的两倍解析:解析 由二叉树的性质可以知道在二叉树中叶子结点总是比度为 2 的结点多一个。3.假定 MyClas 为一个类,那么该类的析构函数是 _ 。(分数:2.00)A.voidMyClas();B.MyClas(int n);C.MyClas();D.MyClas(); 解析:解析 析构函数名为符号“”加

16、类名,析构函数没有参数和返回值。4.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为 _ 。(分数:2.00)A.125B.n/2Cn D.n+1解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。5.下列选项中不属于结构化程序设计方法的是_。(分数:1.00)A.自顶向下B.逐步求精C.模块化D.可复用 解析:解析 可复用属于面向对象程序设计方法,其他选项属于结构

17、化程序设计方法。6.下列关于 C+流的描述中,错误的是 _ ,(分数:2.50)A.cout“A“表达式中输出字符 A B.eof 函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件解析:解析 在 C+中输入用“cin”,输出用“cout”。7.已知 char a; int b; float c; double d; 则表达式 a*b+c-d 结果为(分数:2.00)A.double B.intC.floatD.char解析:解析 本题考察混合运算表达式类型,由表达式中具有最高优先级

18、的类型所确定,所以答案为A。8.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点在第 1 层)_。(分数:1.00)A.3B.4C.6D.7 解析:解析 根据二叉树的基本性质 3:在任意一棵二叉树中,度为 0 的叶子结点总比度为 2 的结点多一个,所以本题中度为 2 的结点为 1-1=0 个,所以可以知道本题目中的二叉树的每一个结点都有一个分支,所以共 7 个结点共 7 层,即度为 7。9.下列关于继承方式的描述中,错误的是_。(分数:2.50)A.如果不显式地指定继承方式,默认的继承方式是私有(private)B.采用公有继承方式时,基类中的公有成员在派生类

19、中仍然是公有成员C.采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员D.采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员 解析:解析 采用私有继承方式时,基类中私有成员在派生类中是不可访问的成员。10.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为 _ 。(分数:2.00)A.125B.n/2Cn D.n+1解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,

20、因此比较次数为 n。11.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是 _ 。(分数:2.00)A.int operator-(FunNumber);B.FunNumber operator-();C.FunNumber operator-(int);D.int operator-(FunNumber,FunNumber); 解析:解析 本题考查的知识点是:运算符“-”的重载。“-”运算符有一元(取负)和二元(减法)两种形式,且均可重载为成员函数和非成员函数。运算符重载为成员函数时,形参个数一般为运算符元数减1,因为此成员函数所属的对象可成为运算符的一个运算分量。重载为非成

21、员函数时,形参个数一般和运算符元数相等。所以“-”运算符重载为成员函数时,参数个数可以是 0 个和 1 个,而重载为非成员函数时,参数个数可以是 1 个或 2 个。12.下列程序的输出结果为 _ 。 #includeiostream.h #includeiomanip.h voidmain() coutprecision(4); cout123.127; cout”12346: (分数:1.00)A.123.1 123.4 B.123.1 123.46C.123.127 123.46D.123.1123.4解析:13.通过公有派生类的对象,只能访问基类成员中的 _ 。(分数:2.00)A.公有

22、成员 B.私有成员C.保护成员D.公有成员和保护成员解析:14.下列描述中,错误的是_。(分数:2.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员 D.保护继承时基类中的保护成员在派生类中仍是保护成员解析:解析 保护继承时基类中的公有成员在派生类中是保护成员。15.下列关于析构函数的描述中,错误的是_。(分数:2.50)A.析构函数可以重载B.析构函数由系统自动调用C.每个对象的析构函数只被调用一次D.每个类都有析构函数 解析:解析 本题考查的知识点是析构函数。析构函数的功能是用

23、来释放一个对象,在对象删除前,用它来做一些清理工作。 (1)析构函数是特殊的成员函数,函数体可以写存类体内,也可写在类体外。该函数的名字为求反符号“”后面跟着类名,该函数不能指定返回类型,不能有参数,也不能重载。 (2)一个类只能定义一个析构函数。 (3)析构函数在对象生命周期结束时被系统直接调用,程序中一般不调用析构函数。 (4)运算符 delete 与析构函数一起使用。16.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是_。(分数:2.50)A.整型表达式B.整型常量C.整型常量或整型表达式 D.任何类型的表达式解析:解析 在 C 语言中,引用数组元素时,其数组下标的数据类型可

24、以是整型常量,也可以是整型表达式。17.下列各组类型声明符中,含义相同的一组是_。(分数:1.00)A.unsigned long int 和 longB.signed short int 和 short C.unsigned short 和 shortD.short int 和 int解析:解析 本题考查整型变量的类型,A、C 选项中前者为无符号的,后者为有符号的,D 选项中short int 为 2 个字节,int 为 4 个字节。18.程序流程图中的箭头代表的是 _ 。(分数:1.00)A.数据流B.控制流 C.调用关系D.组成关系解析:解析 程序流程图的基本图符有箭头、矩形和菱形,其中

25、箭头表示控制流,矩形表示加工步骤,菱形表示逻辑条件。19.在下面程序中,编译时出现错误的是 _。 Class A /(1) public: /(2) A() f(); /(3) void B() f(); virtual void f()const=0; /(4) ;(分数:2.00)A.(1)B.(2)C.(3) D.(4)解析:20.若有以下定义: int a=1,2,3,4,5,6,7; char c1=“b“,C2=“2“; 则数值不为 2 的表达式是(分数:1.00)A.a1B.“d“-c1C.a“3“-c2D.c2-0 解析:解析 本题考查数组的定义、初始化及其引用,以及对字符 A

26、SCII 码值的熟悉程度。解本题的关键在于熟悉字符的 ASCII 码值。字符在进行数学运算时取其 ASCII 码值,其中“b“,的 ASCII 码值为98,“d“的 ASCII 码值为 100,字符“2“的 ASCII 码值为 50。根据以上知识,可知 D)选项中表达式 c2-0 的值为 50。21.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是(分数:2.00)A.友元函数B.虚函数C.构造函数 D.析构函数解析:解析 构造函数在创建对象时系统自动调用,其功能是使用给定的值将对象初始化。22.当使用 fstream 流类定义一个流对象并打开一个磁

27、盘文件时,文件的隐含打开方式为 _ 。(分数:1.00)A.ios:inB.ios: outC.ios:in lios:outD.以上都不对 解析:23.如果派生类以 protected 方式继承基类,则原基类的 protected 成员和 public 成员在派生类中的访问属性分别是_。(分数:1.00)A.public 和 publicB.public 和 protectedC.protected 和 publicD.protected 和 protected 解析:解析 本题考查保护继承中派生类对基类的访问属性,在受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍

28、为基类私有,所以本题答案为 D。24.已知表达式+x 中的“+”是作为成员函数重载的运算符,则与+x 等效的运算符函数调用形式为_。(分数:1.00)A.operator+(1)B.operator+(x)C.operator+() D.operator+(x)解析:解析 本题考查的是前缀自增运算符的重载。由于题意中“+”是作为成员函数重载的运算符,所以若要显式的调用该运算符,需要使用该类的对象加上“.”运算符,即 x.operator+();又因为为了区分前缀运算符和后缀运算符,在调用后缀运算符时,需要给出一个整型实参值,而前缀运算符则不需要,所以+x 等效的运算符函数调用形式为:x.ope

29、rator+(),答案为 C 选项。25.下列虚基类的声明中正确的是 _。(分数:2.00)A.class virtual B: public AB.class B: public A virtualC.class B: public virtual A D.virtual class B: public A解析:26.有如下程序: #include iostream using namespace std; class AA int n; public: AA(int k):n(k) int get()return n; int get()constreturn n+1; int main(

30、) AA a(5); const AA b(6); couta.get()b.get(); return 0; 执行后的输出结果是 _ 。(分数:2.00)A.55B.57 C.75D.77解析:27.语句 ofstream f(“SALARY.DAT“,ios:appl ios:binary);的功能是建立流对象 f,试图打开文件SALARY.DAT 并与之连接,并且 _ 。(分数:2.00)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件 B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若

31、文件存在,打开失败;若文件不存在,建立一个新文件解析:28.有如下程序: #includeiostream using namespace std; class CD public: CD()cout“C“; private: char name80; ; int main()CD a,*b,d2;return 0; 运行时的输出结果是_。(分数:2.50)A.CCCCB.CCC C.CCDC解析:解析 本题考查构造函数和析构函数的调用。题中,生成对象 a 和含有 2 个元素的对象数组 d,撤消对象时,要凋用析构函数 3 次,故输出结果为:CCC。29.定义如下枚举类型;enum Monday

32、, Tuesday, Wednesday, Thrusday, Friday=2);,则下列语句正确的是 _ 。(分数:2.00)A.表达式 Wednesday=Friday 的值是 true B.Day day;day=3C.Day day;day=Monday+3D.Day day;day=Tuesday+10解析:30.下列运算符中,在 C+语言中不能重载的是(分数:1.00)A.*B.=C.: D./解析:解析 不能被重载的运算符还包括:“.”,“.*”,“-*”和“?:”。31.若已定义: int a 0,1,2,3,4,5,6,7,8,9, * pa, i ; 其中 0i9,则对

33、a 数组元素不正确的引用是(分数:2.00)A.apaB.* ( ; int x,*p; 则以下引用形式中,正确的是(分数:2.00)A.x=value; B.x=C:value;C.p= int main() int s=123,234; coutsetfill(“*“)setw(6); for(int i=0;i2;i+)coutsiendl; return 0; 运行时的输出结果是_。(分数:2.50)A.123234B.*123234 C.*123*234D.*123234*解析:解析 setw()为填充字符控制,仅对紧接着它的字符起作用,当输出的字符宽度小于 setw()预留的字符数

34、时,需用 sctw()设置的字符给予填充。39.下列关于多继承二义性的描述中,错误的是 _ 。(分数:2.00)A.一个派生类的两个基类中都有某个同名成员,派生类中这个成员的访问可能出现二义性B.解决二义性的最常用的方法是对成员名的限定法C.基类和派生类中同时出现的同名函数,也存在二义性问题 D.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性解析:40.下面有关重载函数的描述中正确的是_。(分数:1.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须具有不同的形参列表 D.重载函数名可以不同解析:解析 所谓函数重载,是指同一个函数名可以对应多个函数的实现,进行函数重载时,要求同名函数的参数个数不同,或者参数类型不同。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1