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

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

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

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

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

    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

    12、 using namespace std; class 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.

    13、Print(); return 0; (分数:30.00)_正确答案:(1)MyClass(int i=0):value(i) (2)int MyClass:count=0; (3)obj2.Print();)解析:考点 本题考查 MyClass类,其中涉及构造函数、成员函数、常变量和静态数据成员。 解析 (1)主要考查考生对构造函数的掌握,使用成员列表初始化给常变量赋初始值。 (2)主要考查考生对静态数据成员的掌握,静态数据成员的赋值不需要使用 static关键字。 (3)主要考查考生对成员函数调用的掌握,MyClass 是类名,不能调用函数,应使用对象 obj2调用函数。二、B简单应用题/

    14、B(总题数:1,分数:30.00)2.凡是使用过 C语言标准库函数 strcpy(char*s1,char*s2)的程序员都知道,使用该函数时有一个安全隐患,即当指针 s1所指向的空间不能容纳字符串 s2的内容时,将发生内存错误。类 Stung的 Strcpy成员函数能进行简单的动态内存管理,其内存管理策略为:若已有空间能容纳新字符串,则直接进行字符串复制;若已有空间不够时,将重新申请一块内存空间(能容纳下新字符串),并将新字符串内容复制到新申请的空间中,释放原字符串空间。 请使用 VC6或使用答题菜单打开考生文件夹 proj2下的工程proj2,此工程中含有一个源程序文件 proj2.cpp

    15、。其中定义了类 String和用于测试该类的主函数 main,且成员函数 Strepy的部分实现代码也已在该文件中给出,请在标有注释“/TODO:”的行中添加适当的代码,将这个函数补充完整,以实现其功能。 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“/*found*”。 / proj2.cpp #include iostream using namespace std; class String private: int size; /缓冲区大小 char * buf; /缓冲 public: String(int bufsize); void Strcpy(c

    16、har * 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 char size; /*

    17、 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; (分数:30.00)_

    18、正确答案:(1)+q;+s; (2)(*p=*s)!=0)解析:考点 本题考查 string类,其中涉及动态数组、构造函数、成员函数、const 函数和析构函数。 解析 (1)主要考查考生对 while循环的掌握,先看语句注释:添加代码将字符串 s复制到字符指针 q中。程序已经给出了赋值语句,这里只要使 q和 s递增即可。 (2)主要考查考生对 for循环的掌握,先看语句注释:添加代码将字符串 s复制到 bur中。因为循环体中没有语句,直接用分号结束,因此需要在循环条件中完成赋值,同时进行条件判断,赋值语句为*p=*s,判断条件为当前字符不是字符串结束符。三、B综合应用题/B(总题数:1,分数

    19、: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*”的下方是非成员函数 perimeter的定义,它返回圆的周长。(3)在“/*3* *fou

    20、nd*”的下方是友元函数 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 return x; double getY()const ret

    21、urn 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* MyCircle:MyCircle(MyPoint p, double

    22、r) : 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)endl; return 0; (分数:40.00)_正确答案:(1)rad(r) (2)2*c.radius() (3)MyCircle a)解析:考点 本题考查 MyPoint类和 MyCircle类,其中涉及构造函数、成员函数、const 函数和友元函数。 解析 (1)主要考查考生对构造函数的掌握,使用成员列表初始化给 rad赋初始值。 (2)主要考查考生对成员函数的掌握,函数功能为返回圆 c的周长。要返回圆的周长,应利用公式 PI*2*c.radius()完成。 (3)主要考查考生对成员函数的掌握,因为函数功能为返回圆 a的面积,所以函数的形参应该为MyCircle a。


    注意事项

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




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

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

    收起
    展开