欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:1324284       资源大小:77KB        全文页数:18页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、二级 C+分类模拟 286及答案解析(总分:69.50,做题时间:90 分钟)一、选择题(总题数:40,分数:69.50)1.下列程序的输出结果是 _ 。 #includeiostream.h void main() char*Str; str=“testI“; coutstr5; (分数:2.00)A.test!B.testC.空字符D.异常2.已知在一个类体中包含如下函数原型:VOLUMEOPER ATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_。(分数:1.00)A.这是运算符一的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.

    2、这个函数不改变类的任何数据成员的值3.有如下类定义: class Bag public: Bag(int p=200, char s=“M“):price(p), size(s) coutsize; private: int price; char size; ; 若执行语句 Bag Alice, Kelly(Mice), *Twins2, F44; 则输出结果为_。(分数:1.00)A.MMMMMMMMB.MMMMMMC.MMMMMD.MMMM4.数据的存储结构是指_ 。(分数:2.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机

    3、中的表示5.下列关于模板的叙述中,错误的是_。(分数:1.00)A.调用模板函数时,在一定条件下可以省略模板实参B.可以用 int、double 这样的类型修饰符来声明模板参数C.模板声明中的关键字 class都可以用关键字 typename替代D.模板的形参表中可以有多个参数6.当使用 fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 _ 。(分数:1.00)A.ios:inB.ios: outC.ios:in lios:outD.以上都不对7.有如下程序: #includeiostream using namespace std; class XX int x;

    4、public: XX(int XX=0):x(xx) int getX()return x; ; class YY:public XX int y; public: YY(int xx,int yy):XX(xx),y(yy) int getV()return getX()+y; ; int main() YY c(3,4); coutc.getV()+c.getX()endl; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.3B.4C.7D.108.通过派生类的对象可直接访问其_。(分数:2.00)A.公有继承基类的公有成员B.公有继承基类韵私有成员C.私有继承基类的

    5、公有成员D.私有继承基类的私有成员9.要定义一个具有 5个元素的一维数组 vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的是_。(分数:2.00)A.int vect=30,50,-88;B.int vect=30,50,-88,0,0;C.int vect5=(30,50,-88;D.int vect5=30,50,-88,0,0;10.下列关于类和对象的叙述中,错误的是 _ 。(分数:2.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系11.下列表达式的值为 false的是

    6、_ 。(分数:2.00)A.13 public: int b; friend class Derived; ; class Derived:public Base public: void foo() a=0;/ b=0;/ ; 则下列说法正确的是_。(分数:2.50)A.编译时语句有错B.编译时语句有错C.编译时语句和均有错D.编译时语句和均无错14.下列关于 C+函数的说明中,正确的是_。(分数:1.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表

    7、来区分函数的不同重载形式15.下列关于模板的说法正确的是_。(分数:1.00)A.模板的实参在任何时候都可以省略B.类模板与模板类所指的是同一概念C.类模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数16.下列运算符不能重载为友元函数的是_。(分数:2.00)A.= () -B.+ - + -C. = =D.+= -= *= /=17.下列代码段声明了 3个类 class Person; class Student:public Person; class Undergraduate:Student; 下列关于这些类之间关系的描述中,错误的是_。(分数:2.00)A.类 Per

    8、son是类 Undergraduate的基类B.类 Undergraduate从类 student公有继承C.类 student是类 Person的派生类D.类 Undergraduate是类 Person的派生类18.有如下程序 #includeiostream.h void main() char ch25=“6937“,“8254“,*p2; int i,j,s0; for(i0;i(2;i+)pichi; for(i0;i(2;i+) for(j0;pij“/0,j+2) s10*s+pij-“0“; couts; 该程序的输出结果是 _ 。(分数:2.00)A.69825B.6382

    9、5C.6385D.69382519.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_。(分数:1.00)A.函数调用可以作为独立的语句存在B.函数调用可以无返回值C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参20.有三个关系 R、S 和 T如下: (分数:2.50)A.自然连接B并C交D差21.有如下程序: #includeiostream using namespace std; class XA int a; public: static int b; XA(int aa):a(aa)b+; int getA()return a; ; int XA:b=0;

    10、 int main() XA d1(4),d2(5); coutd1.getA()+d2.getA()+XA:b+d1.bendl; return 0; 运行这个程序的输出结果是_。(分数:2.50)A.9B.11C.13D.1522.下列关于线性链表的描述中,正确的是_。 、只含有一个指针域来存放下一个元素地址 、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件) 、结点由两部分组成:数据域和指针域。(分数:2.50)A.仅、B.仅、C.仅、D.全部23.如下函数模板: template class T T square(T x) return x*x; 其中 T是_。(分数:

    11、1.00)A.函数形参B.函数实参C.模板形参D.模板实参24.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为(分数:1.00)A.publicB.protectedC.privateD.static25.语句 while(!E)中的表达式!E 等价于 _ 。(分数:2.00)A.E=0B.E! =1C.E! =0D.E=126.有如下程序: #includeiostream using namespace std; int f(int x); int sum(int n) int x, s=0; for(x=0; x=n; x+) s+=f(x); re

    12、turn s; int f(int x)return(x*x+1); int main() int a, b; cout“Enter a integer number:“; cina; b=sum(a); cout“a=“a“, b=“bendl; return 0; 如果输入数字 3,其输出结果是_。(分数:2.50)A.a=3, b=12B.a=3, b=16C.a=3, b=18D.a=4, b=2027.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_。(分数:2.00)A.publicB.protectedC.privateD.static28.

    13、下列有关继承和派生的叙述中,正确的是_。(分数:1.00)A.如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员B.派生类的成员函数可以访问基类的所有成员C.基类对象可以赋值给派生类对象D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类29.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。(分数:1.00)A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统30.若有定义语句“int i=2,j=3;”,则表达式 i/j的结果是_。(分数:1.00)A.0B.0.7C.0.66667D.0.666666

    14、6731.下列对基类和派生类关系的描述中,错误的是 _ 。(分数:1.00)A.派生类是基类的具体化B.派生类是基类的子集C.派生类是基类定义的延续D.派生类是基类的组合32.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是(分数:1.00)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针33.若已定义了类 Vehicle,则下列派生类定义中,错误的是_。(分数:2.00)A.class Car:vehicle/*类体略*/;B.class Car:public car

    15、/*类体略*/;C.class Car:public Vehicle/*类体略*/);D.class Car:virtual public Vehicle/*类体略*/;34.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.50)A.fstreamB.ifstreamC.ofstreamD.iostream35.某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是_。(分数:2.00)A.10B.8C.6D.436.下面程序的输出结果是( )。 #include iostream using namespace std; void main() int s; for

    16、(int k=2;k6;k+=2) s=1; for(int j=k; j6;j+) s+=j; coutsend1;(分数:2.00)A.9B.1C.11D.1037.以下有关析构函数的叙述不正确的是(分数:2.00)A.一个类只能定义一个析构函数B.析构函数和构造函数一样可以有形参C.析构函数指定返回类型D.析构函数名前必须冠有符号“”38.生成派生类对象时,派生类构造函数调用基类构造函数的条件是_。(分数:2.00)A.无需任何条件B.基类中显式定义了构造函数C.派生类中显式定义了构造函数D.派生类构造函数明确调用了基类构造函数39.在一棵二叉树上第 5层的结点数最多是 _ 。(分数:2

    17、.00)A.8B.16C.32D.1540.有如下程序: # includeiostream using namespace std; class Publication/出版物类 char name30; public: Publication(char*name=“未知名称“) strcpy(this-name,name); const char*getName()constreturn name;) virtual const char*getType()constreturn“未知类型“; ; class Book:public Publication/书类 public: Book(

    18、char*namc):Publication(name) viriual const char*getType()constreturn “书“; ; void showPublication(Publicationp) coutp.getType()“:“p.getName()endl; int main() Book book(“精彩人生“); showPublication(book); return 0; 运行时的输出结果是_。(分数:2.50)A.未知类型:未知名称B.未知类型:精彩人生C.书:未知名称D.书:精彩人生二级 C+分类模拟 286答案解析(总分:69.50,做题时间:9

    19、0 分钟)一、选择题(总题数:40,分数:69.50)1.下列程序的输出结果是 _ 。 #includeiostream.h void main() char*Str; str=“testI“; coutstr5; (分数:2.00)A.test!B.testC.空字符 D.异常解析:解析 字符指针 str值为“test!”,它们的下标由 0开始,并且具有一个尾符,输出 str5的位置为尾符标识,指针字符指向的尾符为空。所以答案为空字符,即选项 C正确。2.已知在一个类体中包含如下函数原型:VOLUMEOPER ATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_。(分

    20、数:1.00)A.这是运算符一的重载运算符函数B.这个函数所重载的运算符是一个一元运算符 C.这是一个成员函数D.这个函数不改变类的任何数据成员的值解析:解析 本题考核运算符的重载。题中语句为运算符一这是一个二元运算符,且是作为常成员函数来重载的,所以它不能更新对象的数据成员,也不能调用该类中没有用 const修饰的成员函数。3.有如下类定义: class Bag public: Bag(int p=200, char s=“M“):price(p), size(s) coutsize; private: int price; char size; ; 若执行语句 Bag Alice, Kel

    21、ly(Mice), *Twins2, F44; 则输出结果为_。(分数:1.00)A.MMMMMMMMB.MMMMMMC.MMMMM D.MMMM解析:解析 首先 Bag Alice语句,会调用默认构造函数 Bag(int p=200,char s=“M“),输出 size的值 M;接着 Bag Kelly(Alice)语句会调用编译器生成的复制构造函数,完成初始化,复制构造函数只负责初始化成员变量,没有输出语句;Bag *Twins2定义一个 Bag*类型的数组,包含两个 Bag*类型的元素,并不会构造 Bag对象,没有输出;而:Bag F44定义了一个 Bag类型的数组,包含 4个 Bag

    22、类型的元素,同时这 4个元素会使用默认构造函数完成初始化,所以调用 Bag(int p=200,char s=“M“),输出 4个 M。综上,输出结果为 MMMMM,答案为 C选项。4.数据的存储结构是指_ 。(分数:2.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示 解析:解析 计算机存储的相关概念。5.下列关于模板的叙述中,错误的是_。(分数:1.00)A.调用模板函数时,在一定条件下可以省略模板实参B.可以用 int、double 这样的类型修饰符来声明模板参数C.模板声明中的关键字 class都可以用关键字 typ

    23、ename替代 D.模板的形参表中可以有多个参数解析:解析 本题考查类模板是类的抽象,类是类模板的实例。函数模板允许使用多个类型参数,但在template定义部分的每个形参前必须有关键字 typename或 class;模板的类型参数由关键字 class或关键字 typename及其后的标识符构成,(在标准 C+之前关键字 typename没有被支持,把这个关键字加入到 C+中的原因是因为有时必须要靠它来指导编译器解释模板定义。)本题 C选项错误。6.当使用 fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 _ 。(分数:1.00)A.ios:inB.ios: out

    24、C.ios:in lios:outD.以上都不对 解析:7.有如下程序: #includeiostream using namespace std; class XX int x; public: XX(int XX=0):x(xx) int getX()return x; ; class YY:public XX int y; public: YY(int xx,int yy):XX(xx),y(yy) int getV()return getX()+y; ; int main() YY c(3,4); coutc.getV()+c.getX()endl; return 0; 运行这个程序的

    25、输出结果是_。(分数:2.00)A.3B.4C.7D.10 解析:解析 由于类 YY公开继承自类 XX,所以执行表达式 e.getV()+c.getX()的值等于 3+3+4=10。8.通过派生类的对象可直接访问其_。(分数:2.00)A.公有继承基类的公有成员 B.公有继承基类韵私有成员C.私有继承基类的公有成员D.私有继承基类的私有成员解析:解析 基类的私有成员在派生类中都是不能访问的,所以选项 B、D 是错误的,基类的公有成员通过私有继承后,在派生类中变为了私有成员,只能在派生类中进行访问,而通过派生类的对象不能访问,所以选项 C也是错误的。基类的公有成员通过公有继承后,在派生类中是公有

    26、成员,所以可以通过派生对象来访问。9.要定义一个具有 5个元素的一维数组 vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的是_。(分数:2.00)A.int vect=30,50,-88; B.int vect=30,50,-88,0,0;C.int vect5=(30,50,-88;D.int vect5=30,50,-88,0,0;解析:解析 此题考查的是一维数组定义时的初始化。当数组声明时没有给出数组的大小但是有初始化列表时,数组的大小就由列表中元素的个数来确定。所以选项 A中数组只定义 3个元素,不符合题目。10.下列关于类和对象的叙述中,错误

    27、的是 _ 。(分数:2.00)A.一个类只能有一个对象 B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系解析:11.下列表达式的值为 false的是 _ 。(分数:2.00)A.13 public: int b; friend class Derived; ; class Derived:public Base public: void foo() a=0;/ b=0;/ ; 则下列说法正确的是_。(分数:2.50)A.编译时语句有错B.编译时语句有错C.编译时语句和均有错D.编译时语句和均无错 解析:解析 本题考查的是派生类的相关知识。派生类继承了

    28、父类的所有属性又因为 Derived派生类属于公有 public继承,所以父类里的变量都可以在于类里使用,所以选择 D。14.下列关于 C+函数的说明中,正确的是_。(分数:1.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return语句C.标准 C+要求在调用一个函数之前,必须先声明其原型 D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式解析:解析 一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换,而不是在定义在另一个函数体内,所以 A选项错误。函数可以没

    29、有返回值,所以就不需要 return了,如果被调函数在调用函数之前已经定义,那么就不需要声明,所以 C选项错误,正确选项为 D。15.下列关于模板的说法正确的是_。(分数:1.00)A.模板的实参在任何时候都可以省略B.类模板与模板类所指的是同一概念C.类模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数 解析:解析 在 C+中规定如果一个类被声明为类模板,那么其中的所有成员函数就都成为了模板函数。16.下列运算符不能重载为友元函数的是_。(分数:2.00)A.= () - B.+ - + -C. = =D.+= -= *= /=解析:解析 此题考查的是运算符重载的概念。C+语言

    30、规定,=、()、-以及所有的类型转换运算符只能作为成员函数重载,如果要重载为友元函数就必须重载为非成员函数。17.下列代码段声明了 3个类 class Person; class Student:public Person; class Undergraduate:Student; 下列关于这些类之间关系的描述中,错误的是_。(分数:2.00)A.类 Person是类 Undergraduate的基类B.类 Undergraduate从类 student公有继承 C.类 student是类 Person的派生类D.类 Undergraduate是类 Person的派生类解析:解析 Studen

    31、t 类公有继承自 Person类,Undergraduate 类私有继承自 Student类。所以Undergraduate类是从 Student类私有继承的。18.有如下程序 #includeiostream.h void main() char ch25=“6937“,“8254“,*p2; int i,j,s0; for(i0;i(2;i+)pichi; for(i0;i(2;i+) for(j0;pij“/0,j+2) s10*s+pij-“0“; couts; 该程序的输出结果是 _ 。(分数:2.00)A.69825B.63825C.6385 D.693825解析:解析 该题主要要

    32、搞清楚以下几点:定义了一个指针数组 char *p2后,程序中第一个循环or(i=o;i2,i+)pi=chi;的作用是使指针数组的 p0元素(它本身是一个指针)指向了二维数组ch的第一行字符串,井使指针数组的 p1元素指向了二维数组 ch的第二行字符串,这样,就使指针数组p和二维数蛆 ch建立起了一种对应关系,以后对二维数组 ch的某个元素的引用就有两种等价的形式;chij或 Pij。对二维数组 ch的初始化,使其第一行 ch0中存入了字符串“6937“,第二行ch1中的内容为字符串”8254”。程序中第二个循环中的循环体 s=s。10+pij -“0“;的功能是这样的,每执行一次,将 s中

    33、的值乘以 10(也即,将 s中的数值整体向左移动一位,并在空出来的个位上添一个 0),再将当前 pij中的字符量转换为相应的数字,然后把这个数字加到 s的个位上。注意到内层循环的循环条件 pij,“/0“是指 pij中的字符只要不是字符串结束标志“/0“就继续循环,语句j+2;是使下标 j每次增加 2,也即一个隔一个地从 pi所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从 p0所指向的字符串” 6937“中一个隔一个地取出字符,分别是“6“和“3“,然后从 p1所指向的宇符串“8254“,中一个隔一个地取出字符,分别是”“8“和“5“,同时经过转换和相加运算后,结果 s中的值

    34、应该是 6385。19.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_。(分数:1.00)A.函数调用可以作为独立的语句存在B.函数调用可以无返回值C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参 解析:解析 本题考查函数的调用方式。函数的形参和实参具有以下特点:形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放分配的内存单元,因此,形参只有在函数内部有效,函数调用结束返回主调函数后则不能再使用该形参变量;实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参,因此应通过预先用赋值

    35、、输入等办法使实参获得确定值;实参和形参在数量上、类型上、顺序上应严格一致,否则会发生“类型不匹配”的错误;函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。20.有三个关系 R、S 和 T如下: (分数:2.50)A.自然连接B并C交D差 解析:解析 并:没有两个关系 R和 S,它们具有相同的结构。R 和 S的并是由属于 R或属于 S的元组组成的集合,运算符为。记为 T=RS。差:R 和 S的差是由属于 R但不属于 S的元组组成的集合,运算符为一。记为 T=R-S。交:R 和 S的交是

    36、由既属于 R又属于 S的元组组成的集合,运算符为。记为T=RS。RS=R(R-S)。综上所述,答案选 D。21.有如下程序: #includeiostream using namespace std; class XA int a; public: static int b; XA(int aa):a(aa)b+; int getA()return a; ; int XA:b=0; int main() XA d1(4),d2(5); coutd1.getA()+d2.getA()+XA:b+d1.bendl; return 0; 运行这个程序的输出结果是_。(分数:2.50)A.9B.11C

    37、.13 D.15解析:22.下列关于线性链表的描述中,正确的是_。 、只含有一个指针域来存放下一个元素地址 、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件) 、结点由两部分组成:数据域和指针域。(分数:2.50)A.仅、B.仅、C.仅、D.全部 解析:解析 在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。 在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。23.如下函数模板: template class T T

    38、 square(T x) return x*x; 其中 T是_。(分数:1.00)A.函数形参B.函数实参C.模板形参 D.模板实参解析:解析 本题考查模板函数的基本概念,根据模板函数的定义,T 是模板形参,所以答案为 C。24.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为(分数:1.00)A.public B.protectedC.privateD.static解析:解析 本题考查点为类成员的访问权限,public 关键字修饰的类成员可以被类的对象通过成员操作符“.”直接访问,protected 和 private则不能,而 static 不能单独修饰

    39、类的成员。25.语句 while(!E)中的表达式!E 等价于 _ 。(分数:2.00)A.E=0 B.E! =1C.E! =0D.E=1解析:解析 语句 while(!E)中的表达式!E 等价于 E=0。26.有如下程序: #includeiostream using namespace std; int f(int x); int sum(int n) int x, s=0; for(x=0; x=n; x+) s+=f(x); return s; int f(int x)return(x*x+1); int main() int a, b; cout“Enter a integer nu

    40、mber:“; cina; b=sum(a); cout“a=“a“, b=“bendl; return 0; 如果输入数字 3,其输出结果是_。(分数:2.50)A.a=3, b=12B.a=3, b=16C.a=3, b=18 D.a=4, b=20解析:解析 按照 sum函数的功能,若输入 a的值为 3,则 for循环,1 次,函数 f调用 4次,b 的值为0+(02+1)+(12+1)+(22+1)+(32+1)=18。27.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_。(分数:2.00)A.public B.protectedC.privat

    41、eD.static解析:解析 类的 public成员可以被类对象通过成员操作符“.”直接访问,protected 和 private成员则不能,而 static不能单独修饰类的成员。28.下列有关继承和派生的叙述中,正确的是_。(分数:1.00)A.如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员B.派生类的成员函数可以访问基类的所有成员C.基类对象可以赋值给派生类对象D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类 解析:解析 私有继承方式为基类的公用成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有,但派生类对象可以访问基类的保护成员,所以基类对

    42、象不能赋值给派生类对象。抽象类是指含有纯虚拟函数的类,所以选项 D正确。29.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。(分数:1.00)A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统 解析:解析 A 为工具软件,BC 为系统软件。30.若有定义语句“int i=2,j=3;”,则表达式 i/j的结果是_。(分数:1.00)A.0 B.0.7C.0.66667D.0.66666667解析:解析 整数相除为整数,所以结果为 0。31.下列对基类和派生类关系的描述中,错误的是 _ 。(分数:1.00)A.派生类是基类的具体化

    43、B.派生类是基类的子集 C.派生类是基类定义的延续D.派生类是基类的组合解析:解析 本题考核基类和派生类的关系。派生类中包含了基类中的成员,它是对基类定义的扩充和延续,是对基类定义的进一步具体化,而不是基类的子集。32.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是(分数:1.00)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员 D.派生类的对象的地址可以赋给指向基类的指针解析:解析 公有继承的派生类和基类是子类型的关系,所谓子类型是类型间一般和特殊的关系,即派生类是基类的子类型或者说基类的操作可以被用于操作

    44、派生类的对象。33.若已定义了类 Vehicle,则下列派生类定义中,错误的是_。(分数:2.00)A.class Car:vehicle/*类体略*/;B.class Car:public car/*类体略*/; C.class Car:public Vehicle/*类体略*/);D.class Car:virtual public Vehicle/*类体略*/;解析:解析 类 Car不能派生自它本身。34.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.50)A.fstream B.ifstreamC.ofstreamD.iostream解析:35.某二叉树有 5个

    45、度为 2的结点,则该二叉树中的叶子结点数是_。(分数:2.00)A.10B.8C.6 D.4解析:解析 根据二叉树的基本性质 3:在任意一颗二叉树中,度为 0的叶子结点总是比度为 2的结点多一个,所以本题中是 5+1=6个。36.下面程序的输出结果是( )。 #include iostream using namespace std; void main() int s; for(int k=2;k6;k+=2) s=1; for(int j=k; j6;j+) s+=j; coutsend1;(分数:2.00)A.9B.1C.11D.10 解析:37.以下有关析构函数的叙述不正确的是(分数:

    46、2.00)A.一个类只能定义一个析构函数B.析构函数和构造函数一样可以有形参 C.析构函数指定返回类型D.析构函数名前必须冠有符号“”解析:解析 本题考察析构函数的定义和使用,析构函数不能有形参,故正确答案应为 B。38.生成派生类对象时,派生类构造函数调用基类构造函数的条件是_。(分数:2.00)A.无需任何条件 B.基类中显式定义了构造函数C.派生类中显式定义了构造函数D.派生类构造函数明确调用了基类构造函数解析:39.在一棵二叉树上第 5层的结点数最多是 _ 。(分数:2.00)A.8B.16 C.32D.15解析:40.有如下程序: # includeiostream using namespace std; class Publication/出版物类 char name30; public: Publication(char*name=“未知名称“) strcpy(this-name,name); const char*getName()constreturn name;) virtual const char*getType()constreturn“未知类型“; ; class Book:public Publication/书类


    注意事项

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开