【计算机类职业资格】国家二级(C++)机试-试卷7-1及答案解析.doc
《【计算机类职业资格】国家二级(C++)机试-试卷7-1及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C++)机试-试卷7-1及答案解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C+)机试-试卷 7-1 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(分数:2.00)A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA2.下列符号中不属于 C+关键字的是( )。(分数:2.00)A.friendB.namespaceC.continueD.byte3.有如下程序: #include using namespace std; class CD
2、 public: CD() coutGetValue(); / sp-Task:GetValue(); / sp-Displayed:GetValue(); / sp-Draw(); / 在标注号码的语句行中,对类中成员访问存在二义性的是(分数:2.00)A.B.C.D.10.一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般都有一个教练,则实体运动队和队员的联系是(分数:2.00)A.一对多B.一对一C.多对一D.多对多11.有如下程序: #include using namespace std; void fun(int c=a; a=b; b=c; int main() int
3、x,y; x=1; y=2; fun(x,y); coutopen(“file.dat“);16.下列字符中,可以出现在合法的 C+标识符中的是(分数:2.00)A.:B.C. class AA public: virtual void disp() coutGetValue(); / sp-Task:GetValue(); / sp-Displayed:GetValue(); / sp-Draw(); / 在标注号码的语句行中,对类中成员访问存在二义性的是(分数:2.00)A.B.C.D.28.下列关于货币数据类型的叙述中,错误的是(分数:2.00)A.DOUBLEB.abcC._5_D.x
4、yz29.在 C+中,编译系统自动为一个类生成默认构造函数的条件是(分数:2.00)A.该类没有定义任何公有构造函数B.该类没有定义任何无参构造函数C.该类没有定义任何构造函数D.该类没有定义任何成员函数30.某二叉树中有 15 个度为 1 的结点,16 个度为 2 的结点,则该二叉树中总的结点数为(分数:2.00)A.32B.46C.48D.4931.有如下类定义: class Base public: void fun() coutfun();C.Base:fun();D.fun();32.有如下类定义: class Base public: int a; protected: int b
5、; private: int c; ; class Derived: public Base protected: int d; ;若 obj 是类 Derived 的对象,以下语句编译正确的是(分数:2.00)A.obj.a;B.obj.b;C.obj.c;D.obj.d;33.在函数中,可以用 auto、extern、register 和 static 这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是( )。(分数:2.00)A.autoB.externC.registerD.static34.有如下程序: #include using namespace
6、std; class Music public: void setTitle(char* str) strcpy(title, str); protected: char type10; private: char title20; ; class Jazz : public Music public: void set(char* str) strcpy(type, “Jazz“); / strcpy(title, str); / ; 下列叙述中正确的是( )。(分数:2.00)A.程序编译正确B.程序编译时语句出错C.程序编译时语句出错D.程序编译时语句和都出错35.已知枚举类型声明语句为
7、:enum COLOR WHITE, YELLOW, GREEN=5, RED, BLACK=10 ;则下列说法中错误的是( )。(分数:2.00)A.枚举常量 YELLOW 的值为 1B.枚举常量 RED 的值为 6C.枚举常量 BLACK 的值为 10D.枚举常量 WHITE 的值为 136.有如下类定义: class Cup public: Cup(double val,string cr=“red“):price(val),color(cr) / Cup(); / private: string color; / double price=5.8; / ;在标注号码的语句行中存在语法错
8、误的是(分数:2.00)A.B.C.D.37.负责数据库中查询操作的数据库语言是( )。(分数:2.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言38.如果派生类以 protected 方式继承基类,则原基类的 protected 成员和 public 成员在派生类中的访问属性分别是(分数:2.00)A.public 和 publicB.public 和 protectedC.protected 和 publicD.protected 和 protected39.对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n1)/2 的排序方法是( )。(分数:2.00
9、)A.快速排序B.冒泡排序C.直接插入排序D.堆排序40.有如下类声明和函数声明 class Base int m; public: int n; protected: int p; ; class Derived: public Base int k; friend void f(Derived d); ;则在函数 f 中通过 d 可访问类数据成员的个数是(分数:2.00)A.1B.2C.3D.4二、基本操作题(总题数:1,分数:2.00)41.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj1 下的工程 proj1,其中有矩形类 Rectangle、函数 show 和主函数 ma
10、in 的定义。程序中位于每个“ERROR*found*”下一行的语句有错误,请力11 以改正。改正后程序的输出结果应该是:Upperleft=(1,8),downright:(5,2),areal=24注意:只修改每个“ERROR*found*”下的那一行,不要改动程序中的其他内容。#includeiostream#includecmathusingnamespacestd;classRectangledoublex1ty1;左上角坐标 doublex2,y2;右下角坐标public:ERROR*found*Rectangle(doublex1,y1;doublex2,y2)this-x1=x
11、1;this-y1=y1;thiS-x2=x2;this-y2=y2;doublegetXl()constreturnx1;doublegetYl()constreturny1;doublegetX2()constreturnx2;doublegetY2()constreturny2;doublegetHeight()constreturnfabs(y1y2);doublegetWidth()constfreturnfabs(x1x2);doublearea()constreturngetHeight()*getWidth();ERROR*found*voidshow(Rectangler)c
12、onstcout“Upperleft=(“;ERROR*found*coutrx1”,”ry1”),downright=(“rx2“,“ry2;cout“),area=“rarea()“end1;intmain()Rectanglerl(1,8,5,2);show(r1);return0;(分数:2.00)_三、简单应用题(总题数:1,分数:2.00)42.请使用 VC6 或使用【答题】菜单打开考生文件夹 prog2 下的工程 prog2,此工程中包含一个程序文件mmncpp,其中有“班级”类 Class 和“学生”类 Student 的定义,还有主函数 main 的定义。在主函数中定义了两个
13、“学生”对象,他们属于同一班级。程序展示,当该班级换教室后,这两个人的教室也同时得到改变。请在横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的正确输出结果应为:改换教室前:学号:0789 姓名:张三班级:062113 教室:521 学号:0513 姓名:李四班级:062113 教室:521 改换教室后:学号:0789 姓名:张三班级:062113 教室:311 学号:0513 姓名:李四班级:062113教室:311 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容。#includeiostreamusingnamespacestd;classClass(“班级”类pu
14、blic:Class(constchar*id,constchar*room)strcpy(classid,id);f*found*constchar*getClassID()constreturnclassid;返回班号*found*constchar*getClassroom()const_返回所在教室房号voidchangeRoomTo(constchar*newroom)改换到另一个指定房号的教室strcpy(classroom,new_room);private:charclassid20;班号 charclassroom20;所在教室房号;classStudent“学生”类 cha
15、rmyid10;学号 charmyname20;姓名Class class CD public: CD() coutGetValue(); / sp-Task:GetValue(); / sp-Displayed:GetValue(); / sp-Draw(); / 在标注号码的语句行中,对类中成员访问存在二义性的是(分数:2.00)A. B.C.D.解析:解析:本题考查派生类对基类的继承二义性问题,类 Satellite 公用继承 Task 和 Displayed,两个基类中都有 GetValue 函数,所以引起二义性,A 选项错误。10.一个运动队有多个队员,一个队员仅属于一个运动队,一个
16、队一般都有一个教练,则实体运动队和队员的联系是(分数:2.00)A.一对多 B.一对一C.多对一D.多对多解析:解析:一般来说,实体集之间必须通过联系来建立联接关系,分为三类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。实体运动队和队员的关系为 1:m 联系,故 A 选项正确。11.有如下程序: #include using namespace std; void fun(int c=a; a=b; b=c; int main() int x,y; x=1; y=2; fun(x,y); coutopen(“file.dat“);解析:解析:本题考查对文件流输入的操作,可
17、以调用文件流的成员函数 pen,一般形式如下:文件流对象.open(磁盘文件名,输入/输出方式)。根据以上格式,可以判断 A 选项错误。16.下列字符中,可以出现在合法的 C+标识符中的是(分数:2.00)A.:B.C. class AA public: virtual void disp() coutGetValue(); / sp-Task:GetValue(); / sp-Displayed:GetValue(); / sp-Draw(); / 在标注号码的语句行中,对类中成员访问存在二义性的是(分数:2.00)A. B.C.D.解析:解析:本题考查派生类对基类的继承二义性问题,类 Sa
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 试试 71 答案 解析 DOC
