【计算机类职业资格】二级C++-62及答案解析.doc

上传人:outsidejudge265 文档编号:1324118 上传时间:2019-10-17 格式:DOC 页数:3 大小:42KB
下载 相关 举报
【计算机类职业资格】二级C++-62及答案解析.doc_第1页
第1页 / 共3页
【计算机类职业资格】二级C++-62及答案解析.doc_第2页
第2页 / 共3页
【计算机类职业资格】二级C++-62及答案解析.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、二级 C+-62及答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1,其中有矩形类 Rectangle、函数show和主函数 main的定义。程序中位于每个“/ERROR *found*”下一行的语句有错误,请加以改正。改正后程序的输出结果应该是: Upper left=(1,8),down right=(5,2),area=24 注意:只修改每个“/ERROR *found*”下的那一行,不要改动程序中的其他内容。 #include iostream #incl

2、ude cmath using namespace std; class Rectangle double x1, y1; /左上角坐标 double x2, y2; /右下角坐标 public: / ERROR * found* Rectangle (double x1, y1; double x2, y2) this -x1=x1; this -y1=y1; this -x2=x2; this -y2=y2; double getX1 ()const return x1; double getY1 ()const return y1; double getX2 ()const return

3、 x2; double getY2 ()const return y2; double getHeight () const return fabs(y1-y2); double getWidth () const return fabs(x1-x2); double area () const return getH-eight()* getWidth(); ; / ERROR * found* void show(Rectangle r)const cout “Upper left = (“; / ERROR * found* cout r.x1 “, “ r.y1 “), down ri

4、ght = (“ r.x2 “, “ r.y2; cout “), area =“ r. area () “. “ endl; int main() Rectangle r1 (1, 8, 5, 2); show(r1); return 0; (分数:30.00)_二、B简单应用题/B(总题数:1,分数:30.00)2.请使用 VC6或使用答题菜单打开考生文件夹 proj2下的工程 proj2,此工程中包含一个源程序文件main.cpp,其中有坐标点类 Point、线段类 Line和矩形类 Rectangle的定义,还有 main函数的定义。程序中两点间的距离的计算是按公式 (分数:30.00

5、)_三、B综合应用题/B(总题数:1,分数:40.00)3.请使用答题菜单命令或直接用 VC6打开考生文件夹下的工程 proj3,其中声明了一个人员信息类Person。在 Person类中数据成员 name、age 和 address分别存放人员的姓名、年龄和地址。构造函数Person用以初始化数据成员。补充编制程序,使其功能完整。在 main函数中分别创建了两个 Person类对象 p1和 p2,并显示两个对象信息,此种情况下程序的输出应为: Jane 25 Beijing Tom 22 Shanghai 注意:只能在函数 Person中的“/*333*”和“/*666*”之间填入若干语句,

6、不要改动程序中的其他内容。 /proj3.h #include iostream #include string using namespace std; class Person public: char name20; int age; char* address; public: Person (char* name, int_age,char*_add =NULL); /构造函数 void info_display (); /人员信息显示 Person (); /析构函数 ; void writeToFile (const char * path=“); /proj3.cpp #inc

7、lude iostream #include string #include “proj3.h“ using namespace std; Person:Person (char*_name, int_age, char* _add) :age (_age) /把字符串_name 复制到数组 name中 /使address指向一个动态空间,把字符串_add 复制到该数组中。 /* 333* /* 666* void Person:info_display () cout name /t age /t; if (address!=NULL) cout address endl; Person:

8、Person () if (address !=NULL) delete address; void main () char add100; strcpy(add, “Beijing“) ; Person p1 (“Jane“, 25, add) ; p1.info_display () ; strcpy(add, “Shanghai“); Person * p2 =new Person (“Tom“, 22, add); p2 - info_display () ; delete p2; writeToFile (“); (分数:40.00)_二级 C+-62答案解析(总分:100.00,

9、做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1,其中有矩形类 Rectangle、函数show和主函数 main的定义。程序中位于每个“/ERROR *found*”下一行的语句有错误,请加以改正。改正后程序的输出结果应该是: Upper left=(1,8),down right=(5,2),area=24 注意:只修改每个“/ERROR *found*”下的那一行,不要改动程序中的其他内容。 #include iostream #include cmath using namespac

10、e std; class Rectangle double x1, y1; /左上角坐标 double x2, y2; /右下角坐标 public: / ERROR * found* Rectangle (double x1, y1; double x2, y2) this -x1=x1; this -y1=y1; this -x2=x2; this -y2=y2; double getX1 ()const return x1; double getY1 ()const return y1; double getX2 ()const return x2; double getY2 ()cons

11、t return y2; double getHeight () const return fabs(y1-y2); double getWidth () const return fabs(x1-x2); double area () const return getH-eight()* getWidth(); ; / ERROR * found* void show(Rectangle r)const cout “Upper left = (“; / ERROR * found* cout r.x1 “, “ r.y1 “), down right = (“ r.x2 “, “ r.y2;

12、 cout “), area =“ r. area () “. “ endl; int main() Rectangle r1 (1, 8, 5, 2); show(r1); return 0; (分数:30.00)_正确答案:(1)Rectangle(double x1, double y1, double x2, double y2) (2)void show(Rectangle r) (3)coutr.getX1()“, “r.getY1()“), down right=(“r.getX2()“, “r.getY2();)解析:考点 本题考查 Rectangle类,其中涉及构造函数和 c

13、onst函数。 解析 (1)主要考查考生对构造函数的掌握,函数的参数要使用“,”隔开,不能使用“;”。 (2)主要考查考生对 const函数的掌握,程序中调用函数 r.area(),该函数修改了成员值,因此不能使用 const。 (3)主要考查考生对成员函数的掌握,类外函数不能直接调用类的私有成员,只能通过成员函数调用。二、B简单应用题/B(总题数:1,分数:30.00)2.请使用 VC6或使用答题菜单打开考生文件夹 proj2下的工程 proj2,此工程中包含一个源程序文件main.cpp,其中有坐标点类 Point、线段类 Line和矩形类 Rectangle的定义,还有 main函数的定

14、义。程序中两点间的距离的计算是按公式 (分数:30.00)_正确答案:(1)const.Point class Person public: char name20; int age; char* address; public: Person (char* name, int_age,char*_add =NULL); /构造函数 void info_display (); /人员信息显示 Person (); /析构函数 ; void writeToFile (const char * path=“); /proj3.cpp #include iostream #include strin

15、g #include “proj3.h“ using namespace std; Person:Person (char*_name, int_age, char* _add) :age (_age) /把字符串_name 复制到数组 name中 /使address指向一个动态空间,把字符串_add 复制到该数组中。 /* 333* /* 666* void Person:info_display () cout name /t age /t; if (address!=NULL) cout address endl; Person: Person () if (address !=NULL

16、) delete address; void main () char add100; strcpy(add, “Beijing“) ; Person p1 (“Jane“, 25, add) ; p1.info_display () ; strcpy(add, “Shanghai“); Person * p2 =new Person (“Tom“, 22, add); p2 - info_display () ; delete p2; writeToFile (“); (分数:40.00)_正确答案:(strcpy(name, _name); /把 name中的内容复制到 name中 address =new charstrlen(add) +1; /动态给 address分配 strlen(-add)+1大小的空间 strcpy(address, _add); /把 add中的内容复制到 address中)解析:考点 本题考查 Person类,其中涉及数组、构造函数、成员函数和析构函数。 解析 主要考查考生对构造函数的掌握,根据题目要求,首先使用 strcpy()函数把字符串_name 复制到数组 name中,然后使用 new语句分配一个动态空间,使 address指向空间首地址,最后把字符串_add 复制到该数组中。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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