【计算机类职业资格】二级C++-54及答案解析.doc
《【计算机类职业资格】二级C++-54及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-54及答案解析.doc(4页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-54及答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1,此工程中含有一个源程序文件proj1.cpp。其中位于每个注释“/ERROR*found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: There are 2 object(s). 注意:只修改注释“/ERROR *found*”的下一行语句,不要改动程序中的其他内容。 /proj1.cpp #include iostream using namespace std; clas
2、s MyClass public: / ERROR *found* MyClass(int i = 0) value = i count +; void Print() cout “There are“ count “object(s).“ endl; private: const int value; static int count; ; / ERROR *found* static int MyClass:count = 0; int main() MyClass obj1, obj2; / ERROR *found* MyClass.Print(); return 0; (分数:30.
3、00)_二、B简单应用题/B(总题数:1,分数:30.00)2.凡是使用过 C语言标准库函数 strcpy(char*s1,char*s2)的程序员都知道,使用该函数时有一个安全隐患,即当指针 s1所指向的空间不能容纳字符串 s2的内容时,将发生内存错误。类 Stung的 Strcpy成员函数能进行简单的动态内存管理,其内存管理策略为:若已有空间能容纳新字符串,则直接进行字符串复制;若已有空间不够时,将重新申请一块内存空间(能容纳下新字符串),并将新字符串内容复制到新申请的空间中,释放原字符串空间。 请使用 VC6或使用答题菜单打开考生文件夹 proj2下的工程proj2,此工程中含有一个源程
4、序文件 proj2.cpp。其中定义了类 String和用于测试该类的主函数 main,且成员函数 Strepy的部分实现代码也已在该文件中给出,请在标有注释“/TODO:”的行中添加适当的代码,将这个函数补充完整,以实现其功能。 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“/*found*”。 / proj2.cpp #include iostream using namespace std; class String private: int size; /缓冲区大小 char * buf; /缓冲 public: String(int bufsize);
5、void Strcpy(char * s); /将字符串 s 复制到 buf中 void Print() const; String() if (buf != NULL) delete buf; ; String:String (int bufsize) size = bufsize; bur = new charsize; * buf = /0; void String:Strcpy (char * s) char * p,* q; int fen = strlen(s); if (len+1 size) /缓冲区空间不够,须安排更大空间 size = len+1; p = q = new
6、char size; /* found* while(* q=* s) !=0) _ /TODO: 添加代码将字符串 s复制到字符指针 q中 delete buf; buf = p; else /*found* for(p=buf; _; p+, s+); /TODO: 添加代码将字符串 s复制到buf中 void String:Print() const cout size /t buf endl; int main () char s100; String str (32); cin.getline(s, 99); str.Strcpy(s); str.Print (); return 0
7、; (分数:30.00)_三、B综合应用题/B(总题数:1,分数:40.00)3.请使用 VC6或使用答题菜单打开考生目录 proj3下的工程文件 proj3,该工程中包含一个源程序文件proj3.cpp,其中定义了用于表示平面坐标系中的点的类 MyPoint和表示圆形的类 MyCircle;程序应当显示: (1,2),5,31.4159,78.5398 但程序中有缺失部分,请按照以下提示,把缺失部分补充完整: (1)在“/*1* *found*”的下方是构造函数的定义,它用参数提供的圆心和半径分别对 cen和 rad进行初始化。 (2)在“/*2* *found*”的下方是非成员函数 per
8、imeter的定义,它返回圆的周长。(3)在“/*3* *found*”的下方是友元函数 area的定义,它返回圆的面积。 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。 / proj3.cpp #include iostream #include cmath using namespace std; class MyPoint /表示平面坐标系中的点的类 double x; double y; public: MyPoint (double x, double y) this-x=x; this-y=y; double getX()const
9、return x; double getY()const return y; void show()const cout (x, y); ; class MyCircle /表示圆形的类 MyPoint cen; /圆心 double rad; /半径 public: MyCircle(MyPoint,double); MyPoint center () const return cen; /返回圆心 double radius()const return fad; /返回圆半径 friend double area (MyCircle); /返回圆的面积 ; /*1* *found* MyC
10、ircle:MyCircle(MyPoint p, doubler) : cen(p), _ #define PI 3.1415926535 double perimeter(MyCircle c) /返回圆 c的周长 /*2* *found* return PI*_; /*3* *found* double area(_) /返回圆 a的面积 return PI* a.rad* a.rad; int main() MyCircle c(MyPoint(1, 2), 5.0); c.center().show(); cout ,c.radius() ,perimeter(c) ,area(c)
11、endl; return 0; (分数:40.00)_二级 C+-54答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1,此工程中含有一个源程序文件proj1.cpp。其中位于每个注释“/ERROR*found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: There are 2 object(s). 注意:只修改注释“/ERROR *found*”的下一行语句,不要改动程序中的其他内容。 /proj1.cpp #include iostream
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C54 答案 解析 DOC
