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

    【计算机类职业资格】国家二级(C++)机试-试卷35及答案解析.doc

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

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

    【计算机类职业资格】国家二级(C++)机试-试卷35及答案解析.doc

    1、国家二级(C+)机试-试卷 35 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列关于虚函数的说明中,正确的是( )。(分数:2.00)A.从虚基类继承的函数都是虚函数B.虚函数不得是静态成员函数C.只能通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数2.下列关于 C+流的描述中,错误的是( )。(分数:2.00)A.coutA表达式可输出字符 AB.eof()函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件3.语句

    2、int*p=定义了指针 p,与这个语句等效的语句序列是( )。(分数:2.00)A.int*p;p=B.int*p;p=k;C.int*p;*p=D.int*p;*p=k;4.有如下两个类定义:class XX private:double x1;protected:double x2;public:double x3;class YY: protected XX private:double y1;protected:double y2;public:double y3;在类 YY 中保护成员变量的个数是( )。(分数:2.00)A.1B.2C.3D.45.下列关于线性链表的叙述中,正确的是

    3、( )。(分数:2.00)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上说法均不正确6.在 C+中,用来取代中的预处理宏函数的是(分数:2.00)A.重载函数B.友元函数C.递归函数D.内联函数7.已知 Bag 是一个类,并有函数 FBag 定义如下: Void FBag() Bag *ptr, my, colleage2, 则在调用函数 FBag()后,Bag 类的析构函数被调用的次数是(分数:2.00)A.2 次B.3 次C.4 次D.5 次8.对

    4、长度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为(分数:2.00)A.9B.10C.45D.909.有如下函数原型: int func(int *a, int *b, int 其中可称为引用参数的参数变量是(分数:2.00)A.aB.bC.cD.d10.有如下类定义: class Shape public: _ /虚函数 Draw 的声明 ;横线处缺失的虚函数 Draw 的声明是(分数:2.00)A.virtualvoidDraw();B.voidvirtualDraw();C.voidDraw()virtual;D.voidDraw(virtual);11.下面不属于黑盒测试方

    5、法的是(分数:2.00)A.边界值分析法B.基本路径测试C.等价类划分法D.错误推测法12.p 是指向 ClassA 类型对象的指针。执行 deletep;时,系统自动调用(分数:2.00)A.析构函数B.构造函数C.静态函数D.友元函数13.下列关于函数模板的表述中,正确的是(分数:2.00)A.当函数形参表为空时,可以省略两边的括号B.当函数形参表为空时,可以省略两边的括号C.模板实参表要用圆括号括起来D.在一定条件下模板实参表可以被省略14.下面不属于对象主要特征的是(分数:2.00)A.唯一性B.多态性C.可复用性D.封装性15.如下类定义:class AA int a;public:

    6、int getRef()const return /int getValue()const return a; /void set(int n)const a=n; /friend void show(AA aa)const coutshow(); void fun2(B void fun3(B b) b.show(); int main() B b,*p=new D; D d; fun1(p); fun2(b); fun3(d); delete p; return 0; 执行这个程序的输出结果是( )。(分数:2.00)A.BBBB.BBDC.DBBD.DBD36.下列语句中,正确的是(分数

    7、:2.00)A.charstr=“abcde“;B.char*str=“abcde“;C.charstr5=“abcde“;D.char*str5=“abcde“;37.有如下程序: #include #include using namespace std; class MyBag public: MyBag(string br,string cr):brand(br),color(cr) +count; MyBag() -count; static int GetCount() return count; private: string brand,color; static int co

    8、unt; ; int MyBag:count=0; int main() MyBag one(“CityLife“,“Gray“),two(“Micky“,“Red“); coutA表达式可输出字符 A B.eof()函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件解析:解析:本题考查 C+流,想要输出字符“A“,则应该是 coutshow(); void fun2(B void fun3(B b) b.show(); int main() B b,*p=new D; D d; f

    9、un1(p); fun2(b); fun3(d); delete p; return 0; 执行这个程序的输出结果是( )。(分数:2.00)A.BBBB.BBDC.DBB D.DBD解析:解析:在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,本题中定义类B 的对象 b、对象指针*p=newD 以及类 D 的对象 d;执行 fun1 会调用派生类的 show 函数,因为 show 函数为虚函数,而调用 fun2、fun3 仍然为基类的 show 函数,所以本题答案为 C。36.下列语句中,正确的是(分数:2.00)A.charstr=“abcde“;B.char*

    10、str=“abcde“; C.charstr5=“abcde“;D.char*str5=“abcde“;解析:解析:本题考查字符串的定义,A 选项中,定义了一个字符,而用字符串赋值,所以错误,C 选项定义了字符数组,但是赋值的字符串实际上有 6 个字符,所以赋值错误,D 选项定义了一个字符串指针数组,赋值错误。37.有如下程序: #include #include using namespace std; class MyBag public: MyBag(string br,string cr):brand(br),color(cr) +count; MyBag() -count; stat

    11、ic int GetCount() return count; private: string brand,color; static int count; ; int MyBag:count=0; int main() MyBag one(“CityLife“,“Gray“),two(“Micky“,“Red“); cout“不能重载为类的成员函数,因为如果将这两种操作符重载为类的成员函数,左操作数将只能是该类类型的对象,这样的用法与正常 I/O 使用方式相反,为了支持正常用法,左操作数必须为标准库 I/O 内置类型,这又意味着如果该操作符重载为类的成员,那它必须是标准库内置类型的类成员,而

    12、标准库内置的类是不能人为添加成员的,D 选项错误;答案为 C。二、基本操作题(总题数:1,分数:2.00)41.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj1 下的工程 pmjl,此工程中含有一个源程序文件pmj1cpp。其中位于每个注释“ERROR*found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:Thevalueofmemberobjectsis8 注意:只修改注释“ERROR*found*”的下一行语句,不要改动程序中的其他内容。proj1cpp#includeiostreamusingnamespacestd;ClaSsHemberpublic:H

    13、ember(intx)val=x;intGetData()returnval;private:ERROR*found*intval=0;classHyClasspublic:ERROR*found*HyClass(intX)data=x;voidPrint()ERROR*found*cout“ThevalueOfmemberobjectis“datavalend1;private:Hemberdata;intmain()HyClassobj(8);objPrint();return0;(分数:2.00)_正确答案:(正确答案:(1)int val; (2)MyClass(int x) : da

    14、ta(x) (3) coutoffice,office); (2)returnoffice; (3)dept(my_dept) (4)deptchangeOfficeTo(“311“);)解析:解析:(1)主要考查考生对 strcpy 函数的掌握情况,根据上一条语句:strcpy(this-name,name);可知,这条语句复制的是 office,即 strcpy(this-office,office);。 (2)主要考查考生对成员函数的掌握情况,根据语句的注释:返回办公室房号可知,要填写的是一条 return 语句。在私有成员里:charoffice20;部门所在办公室房号,表明 offi

    15、ce 即为办公室房号。因此直接返回 office 即可。 (3)主要考查考生对构造函数的掌握情况,根据函数体: strcpy(this-staff_id,my_id); strcpy(this-name,my_name); 可知,只有 dept 没有初始化,而空格前有字符“:”,这是成员列表初始化的标识符,因此填写 dept(my_dept)即可。 (4)主要考查考生对成员函数的调用的掌握情况,根据题目要求:人事处办公室由 521 搬到 311。在 Department 类中有函数voidehangeOffieeTo(constchar*office)可以修改办公室的房间号,直接调用即可。四、

    16、综合应用题(总题数:1,分数:2.00)43.请使用 VC6 或使用【答题】菜单打开考生文件夹 pmj3 下的工程 proj3,其中声明了一个单向链表类sLst。sList 的成员函数 Prepend 的功能是在链表头部加入一个新的元素。请编写成员函数 Prepend。在main 函数中给出了一组测试数据,此时程序的输出应为:B-A-#A-#A-#exitinginnerblockexitingouterblock 注意:只在函数 Prepend 的“*333*”和“*666*”之间填入若干语句,不要改动程序中的其他内容。SListhstructsListItemchardata;sListI

    17、tem*next;classsListpublic:sList():h(0)0 表示空链表sList();voidPrepend(charc);在链表前端加入元素 voidDel();删除链表首元素 sListItem*First()constreturnh;返回链表首元素voidPrint()COnSt;打印链表内容 voidRelease();销毁链表 private:sListItem*h;链表头;voidwriteTOFile(constchar*);maincpp#includeiostream#include“sListh“usingnamespacestd,sList:一 sLi

    18、st()Release();voidsList:Prepend(charc)*333*666*voidsList:Del()sListltem*temp=h;h=h-next;deletetemp;voidsList:Print()constsListItem*temp=h;while(temp!=0)判断是否到达链表尾部couttemp-data“-“;temp=temp-next;cout“n#“end1;voidsList:Release()while(h!=0)Del();intmain()sList*ptr;sListobj;objPrepend(A);objPrepend(B);o

    19、bjPrint();objDel();objPrint();ptr=&obj;ptr-Print();cout“exitinginnerblock“end1;cout“exitingouterblock“end1;writeToFile(“);return0;(分数:2.00)_正确答案:(正确答案:sLiStItern*temp=newsLiStItem; 动态分配空间给结构体 temp 的指针terap-data=c; 把 C 赋值于结构体 temp 成员 datagemp-next=h; 把 h 赋值于结构 terap体成员 nexth=temp; 把 temp 赋值给 h,即 h 指向 temp 指向的空间)解析:解析:主要考查考生对链表的掌握,成员函数 Prepend 的功能是在链表头部加入一个新元素。形参C 是一个 char 型变量,因此要定义一个新的结构体指针 temp,并给它分配 sListItem 类型空间,把形参C 中的值赋给 temp 的数据域,并使 temp 通过指针链接到链表上。


    注意事项

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




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

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

    收起
    展开