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

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

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

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

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

    1、二级 C+-52及答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1,其中在编辑窗口内显示的主程序文件中定义有类 AAA和主函数 main。程序文本中位于每行“/ERROR*found*”下面的一行有错误,请加以改正。改正后程序的输出结果应该是: sum=60 注意:只修改每个“/ERROR*found*”下面的一行,不要改动程序中的其他任何内容。 #include iostream using namespace std; class AAA int a10;

    2、int n; /ERROR * found* private: AAA(int aa, int nn): n(nn) /ERROR * found* for(int i=0; in; i+) aai =ai; int Geta(int i) return ai; ; int main() int a6 = 2, 5, 8, 10, 15, 20; AAA x(a, 6); int sum = 0; /ERROR * found* for (int i=0; i6; i+) sum+ =x.ai; cout “sum = “ sum endl; return 0; (分数:30.00)_二、B简

    3、单应用题/B(总题数:1,分数:30.00)2.请使用 VC6或使用答题菜单打开考生文件夹 proj2下的工程 proj2,该工程中含有一个源程序文件proj2.cpp。其中定义了类 Set和用于测试该类的主函数 main。类 Set是一个用于描述字符集合的类,在该字符集合中,元素不能重复(将“a”和“A”视为不同元素),元素最大个数为 100。为该类实现一个构造函数 Set(char*s),它用一个字符串来构造一个集合对象,当字符串中出现重复字符时,只放入一个字符。此外,还要为该类实现另一个成员函数 InSet(char c),用于测试一个字符 c是否在一个集合中,若在,则返回 true;否

    4、则返回 false。 构造函数 Set和成员函数 InSet的部分实现代码已在文件proj2.cpp中给出,请在标有注释“/TODO:”的行中添加适当的代码,将这两个函数补充完整,以实现其功能。 提示:在实现构造函数时,可以调用 InSet函数来判断一个字符是否已经在集合中。 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“/*found*”。 / proj2.cpp #include iostream using namespace std; const int MAXNUM = 100; class Set private: int num; /元素个数 cha

    5、r setdataMAXNUM; /字符数组用于存储集合元素 public: Set(char* s); /构造函数,用字符串 bool InSet (char c); /判断一个字符 c是否在集合中,若在,返回 true,否则返回 false void Print () const; /输出集合中所有元素 ; Set:Set(char * s) num= 0; while (* s) /*found* if (_) / TODO: 添加代码,测试元素在集合中不存在 /* found* _; / TODO: 添加一条语句,加入元素至集合中 s+; bool Set:InSet (char c)

    6、 for (int i = 0; inum; i+) /*found* if (_) / TOD0: 添加代码,测试元素 c是否与集合中某元素相同 /*found* _; /TODO: 添加一条语句,进行相应处理 return false; void Set:Print() const cout “Set elements: “ endl; for(int i = 0; i num; i+) cout setdatai “; cout endl; int main ( ) char s MAXNUM; cin.getline (s, MAXNUM -1) ; /从标准输入中读入一行 Set s

    7、etobj (s); /构造对象 setobj setobj.Print() ; /显示对象 setobj return 0; (分数:30.00)_三、B综合应用题/B(总题数:1,分数:40.00)3.请使用 VC6或使用答题菜单打开考生文件夹 proj3下的工程 proj3,其中声明了 MiniComplex是一个用于表示复数的类。请编写这个 operator+运算符函数,以实现复数的求和运算。两个复数的和是指这样一个复数:其实部等于两个复数的实部之和,其虚部等于两个复数的虚部之和。例如,(23+34i)+(56+35i)等于(79+69i)。 要求: 补充编制的内容写在“/*333*”

    8、与“/*666*”之间,不得修改程序的其他部分。 注意:程序最后将结果输出到文件 out.dat中。输出函数 writeToFile已经编译为 obj文件,并且在本程序中调用。 /Minicomplex.h #include iostream using namespace std; class MiniComplex /复数类 public: /重载流插入和提取运算符 friend ostream return osObject; friend istream isObject complex.realPart ch complex.imagPart ch; return isObject;

    9、 MiniComplex(double real = 0, double imag = 0); /构造函数 MiniComplex operator + ( constMiniComplex /重载运算符+ private: double realPart; /存储实部变量 double imagPart; /存储虚部变量 ; voidwriteToFile(char * ); /main.cpp #include “MiniComplex.h“ MiniComplex:MiniComplex(double real, double imag) realPart = real; imagPar

    10、t = imag; MiniComplex MiniComplex: operator + (constMiniComplex MiniComplex numl (23, 34), num2 (56, 35); cout “Initial Value of Num1 = “numl “/nInitial Value of Num2 =“ num2 endl; cout num1 “ + “ num2 “ = “num1 + num2 endl; /使用重载的加号运算符 writeToFile (“); return 0; (分数:40.00)_二级 C+-52答案解析(总分:100.00,做题

    11、时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1,其中在编辑窗口内显示的主程序文件中定义有类 AAA和主函数 main。程序文本中位于每行“/ERROR*found*”下面的一行有错误,请加以改正。改正后程序的输出结果应该是: sum=60 注意:只修改每个“/ERROR*found*”下面的一行,不要改动程序中的其他任何内容。 #include iostream using namespace std; class AAA int a10; int n; /ERROR * found* pri

    12、vate: AAA(int aa, int nn): n(nn) /ERROR * found* for(int i=0; in; i+) aai =ai; int Geta(int i) return ai; ; int main() int a6 = 2, 5, 8, 10, 15, 20; AAA x(a, 6); int sum = 0; /ERROR * found* for (int i=0; i6; i+) sum+ =x.ai; cout “sum = “ sum endl; return 0; (分数:30.00)_正确答案:(1)public: (2)for(int j=0

    13、; in; i+) ai=aai; (3)for(int i=0; i6; i+) sum+=x.Geta(i);)解析:考点 本题考查 AAA类,其中涉及数组、构造函数和成员函数。 解析 (1)构造函数肯定是公有成员,所以应使用 public。 (2)主要考查考生对赋值语句的掌握,因为数组 a是私有成员,因此 a应该在左边,而数组 aa是形参,要赋值给数组 a。 (3)主要考查考生对成员函数调用的掌握,数组 a是类的私有成员,因此不能被 main函数直接调用,要通过成员函数 Geta来调用数组 a。 主要考查考生对公有成员的掌握,构造函数只能是公有成员,而私有成员不能被类外函数调用。二、B简

    14、单应用题/B(总题数:1,分数:30.00)2.请使用 VC6或使用答题菜单打开考生文件夹 proj2下的工程 proj2,该工程中含有一个源程序文件proj2.cpp。其中定义了类 Set和用于测试该类的主函数 main。类 Set是一个用于描述字符集合的类,在该字符集合中,元素不能重复(将“a”和“A”视为不同元素),元素最大个数为 100。为该类实现一个构造函数 Set(char*s),它用一个字符串来构造一个集合对象,当字符串中出现重复字符时,只放入一个字符。此外,还要为该类实现另一个成员函数 InSet(char c),用于测试一个字符 c是否在一个集合中,若在,则返回 true;否

    15、则返回 false。 构造函数 Set和成员函数 InSet的部分实现代码已在文件proj2.cpp中给出,请在标有注释“/TODO:”的行中添加适当的代码,将这两个函数补充完整,以实现其功能。 提示:在实现构造函数时,可以调用 InSet函数来判断一个字符是否已经在集合中。 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“/*found*”。 / proj2.cpp #include iostream using namespace std; const int MAXNUM = 100; class Set private: int num; /元素个数 cha

    16、r setdataMAXNUM; /字符数组用于存储集合元素 public: Set(char* s); /构造函数,用字符串 bool InSet (char c); /判断一个字符 c是否在集合中,若在,返回 true,否则返回 false void Print () const; /输出集合中所有元素 ; Set:Set(char * s) num= 0; while (* s) /*found* if (_) / TODO: 添加代码,测试元素在集合中不存在 /* found* _; / TODO: 添加一条语句,加入元素至集合中 s+; bool Set:InSet (char c)

    17、 for (int i = 0; inum; i+) /*found* if (_) / TOD0: 添加代码,测试元素 c是否与集合中某元素相同 /*found* _; /TODO: 添加一条语句,进行相应处理 return false; void Set:Print() const cout “Set elements: “ endl; for(int i = 0; i num; i+) cout setdatai “; cout endl; int main ( ) char s MAXNUM; cin.getline (s, MAXNUM -1) ; /从标准输入中读入一行 Set s

    18、etobj (s); /构造对象 setobj setobj.Print() ; /显示对象 setobj return 0; (分数:30.00)_正确答案:(1)!InSet(*s) (2)setdatanum+=*s (3)c=setdatai (4)return true)解析:考点 本题考查 Set类,其中涉及 const变量、构造函数、const 函数和 bool函数。 解析 (1)主要考查考生对成员函数的掌握,题目要求:添加代码,测试元素在集合中不存在,由类的定义可知函数bool InSet(char c)可以测试字符 c是否在集合中,因此这里直接调用函数 bool InSet(

    19、char c)即可。 (2)题目要求:添加一条语句,加入元素至集合中,集合用数组 setdata表示,直接把元素添加到数组中即可。 (3)主要考查考生对 if语句的掌握,题目要求:测试元素 c是否与集合中某元素相同。前一条语句是个 for循环,利用下标 i遍历整个集合,通过 if语句中的判断条件判断 c是否在集合中,用“=”判断。 (4)主要考查考生对成员函数的掌握,先看函数的注释:判断一个字符 c是否在集合中,若在,返回 true,否则返回 false。if 语句成立时,说明字符 c存在于集合中,因此应该返回 true。三、B综合应用题/B(总题数:1,分数:40.00)3.请使用 VC6或

    20、使用答题菜单打开考生文件夹 proj3下的工程 proj3,其中声明了 MiniComplex是一个用于表示复数的类。请编写这个 operator+运算符函数,以实现复数的求和运算。两个复数的和是指这样一个复数:其实部等于两个复数的实部之和,其虚部等于两个复数的虚部之和。例如,(23+34i)+(56+35i)等于(79+69i)。 要求: 补充编制的内容写在“/*333*”与“/*666*”之间,不得修改程序的其他部分。 注意:程序最后将结果输出到文件 out.dat中。输出函数 writeToFile已经编译为 obj文件,并且在本程序中调用。 /Minicomplex.h #includ

    21、e iostream using namespace std; class MiniComplex /复数类 public: /重载流插入和提取运算符 friend ostream return osObject; friend istream isObject complex.realPart ch complex.imagPart ch; return isObject; MiniComplex(double real = 0, double imag = 0); /构造函数 MiniComplex operator + ( constMiniComplex /重载运算符+ private

    22、: double realPart; /存储实部变量 double imagPart; /存储虚部变量 ; voidwriteToFile(char * ); /main.cpp #include “MiniComplex.h“ MiniComplex:MiniComplex(double real, double imag) realPart = real; imagPart = imag; MiniComplex MiniComplex: operator + (constMiniComplex MiniComplex numl (23, 34), num2 (56, 35); cout

    23、“Initial Value of Num1 = “numl “/nInitial Value of Num2 =“ num2 endl; cout num1 “ + “ num2 “ = “num1 + num2 endl; /使用重载的加号运算符 writeToFile (“); return 0; (分数:40.00)_正确答案:(MiniConmplex sum; /定义复数对象 Sum sum.imagPart = this-imagPart + otherComplex.imagPart; /把 this中的虚部(this-imagPart)和 othercomplex虚部相加赋值

    24、给 Sum虚部 sum.realPart = this-tealPart + otherComplex.realPart; /把 this中的实部(this-reapart)加上 othercomplex 实部赋值给 Sum实部 return sum; /返回对象 Sum)解析:考点 本题考查 MiniComplex类,其中涉及友元函数、运算符重载和构造函数。运算符重载首先要理解被重载的运算符的含义,其次要掌握类的定义。 解析 主要考查考生对运算符重载的掌握,题目要求编写 operater+运算符函数,以实现复数的求和与运算。复数的和的实部等于两个复数的实部之和,虚部等于两个复数的虚部之和。函数要返回的类型是 MiniComplex,因此要先定义一个 MiniComplex类型变量 sum,然后对它们的实部和虚部各自求和,返回 sum即可。


    注意事项

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




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

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

    收起
    展开