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

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

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

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

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

    1、二级 C+-56及答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1,此工程中含有一个源程序文件proj1.cpp。其中位于每个注释“/ERROR*found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: The extension is:CPP 注意:只修改注释“/ERROR*found*”的下一行语句,不要改动程序中的其他内容。 / proj1.epp #include iostream using namespace std; class

    2、MyClass char * p; public: MyClass(char c) p = new char; * p=c; / ERROR * found* MyClass (const MyClass copy) p =new char; * p = * (copy.p); / ERROR * found* MyClass() free p; MyClass *p = * (rhs.p); / ERROR * found* return this; char GetChar() const return * p; ; int main() MyClass obj1(C), obj2 (P)

    3、; MyClass obj3(obj1); obj3 = obj2; cout “The extension is:“ obj1.GetChar () obj2.GetChar() obj3.GetChar () endl; return 0; (分数:30.00)_二、B简单应用题/B(总题数:1,分数:30.00)2.请使用 VC6或使用答题菜单打开考生文件夹 proj2下的工程 prod2,此工程中含有一个源程序文件proj2.cpp,其中定义了 Array类。 在 C+程序中访问数组元素时,如果索引值(下标)小于 0或者大于元素个数减 1,就会产生越界访问错误。Array 是一个带有检

    4、查越界访问功能的数组类,其成员列表如下: 公有成员函数 功能 GetValue 获取指定元素的值 SetValue 将指定元素设置为指定值 GetLength 获取元素个数 私有成员函数 功能 IsOutOfRange 检查索引是否越界 私有数据成员 功能 _p 指向动态分配的整型数组的指针 _size 存放元素个数 Array 类的构造函数会动态分配一个 int类型数组,以存储给定数量的元素。在公有成员函数 GetValue和 SetValue中,首先调用私有成员函数 IsOutOfRange检查用于访问数组元素的索引是否越界,只有当索引值在有效范围内时,才能进行元素访问操作。 请在横线处填

    5、写适当的代码,然后删除横线,以实现 Array类的功能。此程序的正确输出结果应为: 1,2,3,4,5,6,7,8,9,10 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“/*found*”。 / proj2.cpp #include iostream using namespace std; class Array public: Array(int size) /构造函数 /* found* 下列语句动态分配一个 int类型数组 _p=_; _size = size; Array() delete _p; /析构函数 void SetValue (int in

    6、dex, int value) /设置指定元素的值 if (IsOutOfRange(index) ) cerr “Index out of range!“ endl; return; /* found* _; int GetValue(int index) const /获取指定元素的值 if (IsOutOfRange(index) cerr “Index out of range!“ endl; return -1; /* found* _; int GetLength () const return_size; /获妈元素个数 private: int *_p; int_size; b

    7、ool IsOutOfRange(int index) const /检查索引是否越界 /* found* if (index 0 |_) return true; else return false; ; int main() Array a(10); for (int i = 0; i a.GetLength(); i+) a. SetValue(i, i+1); for (int j = 0; j a.GetLength() -1 j+) cout a. GetValue(j) “,“; cout a. GetValue (a. GetLength()-1) endl; return 0

    8、; (分数:30.00)_三、B综合应用题/B(总题数:1,分数:40.00)3.请使用 VC6或使用答题菜单打开考生目录 proj3下的工程文件 proj3,此工程中包含一个源程序文件proj3.cpp,补充编制 C+程序 proj3.cpp,其功能是读取文本文件 in.dat中的全部内容,将文本存放到doc类的对象 myDoc中。然后分别统计 26个英文字母在文本中出现的次数,统计时不区分字母大小写。最后将统计结果输出到文件 out.dat中。文件 in.dat长度不大于 1000字节。 要求: 补充编制的内容写在“/*333*”与“/*666*”之间。实现分别统计 26个英文字母在文本中

    9、出现的次数,并将统计结果在屏幕上输出。统计时不区分字母大小写,输出不限格式。不得修改程序的其他部分。 注意:程序最后将结果输出到文件 out.dat中,输出函数 writeToFile已经给出并且调用。 / proj3.cpp #include iostream #include fstream #include cstring using namespace std; class doc private: char * str; /文本字符串首地址 int counter26; /用于存入 26个字母的出现次数 int length; /文本字符个数 public: /构造函数,读取文件内容

    10、,用于初始化新对象。filename是文件名字符串首地址。 doc(char * filename); void count(); /统计 26个英文字母在文本中出现的次数,统计时不区分大小写。 doc(); void writeToFile(char * filename); ; doc:doc(char * filename) ifstreammyFile(filename); int len=1001, tmp; str=new charmen; length=0; while(tmp=myFile.get()!=EOF) strlength+ =tmp; strlength =/0;

    11、myFile.close(); for(int i=0; i26; i+) counteri =0; /* 333* /* 666* doc:doc() delete str; void doc:writeToFile ( char * filename) ofstream outFile(filename); for(int i=0; i26; i +) outFile counteri endl; outFile.close(); void main () doc mymoc (“); myDoc.count(); myDoc.writeToFile(“); (分数:40.00)_二级 C

    12、+-56答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1,此工程中含有一个源程序文件proj1.cpp。其中位于每个注释“/ERROR*found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: The extension is:CPP 注意:只修改注释“/ERROR*found*”的下一行语句,不要改动程序中的其他内容。 / proj1.epp #include iostream using namespace std; class MyCla

    13、ss char * p; public: MyClass(char c) p = new char; * p=c; / ERROR * found* MyClass (const MyClass copy) p =new char; * p = * (copy.p); / ERROR * found* MyClass() free p; MyClass *p = * (rhs.p); / ERROR * found* return this; char GetChar() const return * p; ; int main() MyClass obj1(C), obj2 (P); MyC

    14、lass obj3(obj1); obj3 = obj2; cout “The extension is:“ obj1.GetChar () obj2.GetChar() obj3.GetChar () endl; return 0; (分数:30.00)_正确答案:(1)MyClass(const MyClass class Array public: Array(int size) /构造函数 /* found* 下列语句动态分配一个 int类型数组 _p=_; _size = size; Array() delete _p; /析构函数 void SetValue (int index,

    15、 int value) /设置指定元素的值 if (IsOutOfRange(index) ) cerr “Index out of range!“ endl; return; /* found* _; int GetValue(int index) const /获取指定元素的值 if (IsOutOfRange(index) cerr “Index out of range!“ endl; return -1; /* found* _; int GetLength () const return_size; /获妈元素个数 private: int *_p; int_size; bool

    16、IsOutOfRange(int index) const /检查索引是否越界 /* found* if (index 0 |_) return true; else return false; ; int main() Array a(10); for (int i = 0; i a.GetLength(); i+) a. SetValue(i, i+1); for (int j = 0; j a.GetLength() -1 j+) cout a. GetValue(j) “,“; cout a. GetValue (a. GetLength()-1) endl; return 0; (分

    17、数:30.00)_正确答案:(1)new intsize (2)_pindex=value (3)return_pindex (4)index_size)解析:考点 本题考查 Array类,其中涉及构造函数、析构函数、成员函数和 const函数。 解析 (1)主要考查考生对动态分配的掌握,题目要求分配一个 int类型数组,数组长度为 size,应使用 new语句分配空间,因此为 new intsize。 (2)主要考查考生对成员函数的掌握,先看函数功能:设置指定元素的值。index 为指定的下标,value 为指定的值,因此使用语句:_pindex=value;。 (3)主要考查考生对成员函数

    18、的掌握,函数功能为获取指定元素的值,index 为要求返回的元素的下标,直接使用 return语句返回数组元素即可。 (4)主要考查考生对 if语句的掌握,函数功能是检查索引是否越界,当index0 或者 index_size 时,index 越界,返回 true。三、B综合应用题/B(总题数:1,分数:40.00)3.请使用 VC6或使用答题菜单打开考生目录 proj3下的工程文件 proj3,此工程中包含一个源程序文件proj3.cpp,补充编制 C+程序 proj3.cpp,其功能是读取文本文件 in.dat中的全部内容,将文本存放到doc类的对象 myDoc中。然后分别统计 26个英文

    19、字母在文本中出现的次数,统计时不区分字母大小写。最后将统计结果输出到文件 out.dat中。文件 in.dat长度不大于 1000字节。 要求: 补充编制的内容写在“/*333*”与“/*666*”之间。实现分别统计 26个英文字母在文本中出现的次数,并将统计结果在屏幕上输出。统计时不区分字母大小写,输出不限格式。不得修改程序的其他部分。 注意:程序最后将结果输出到文件 out.dat中,输出函数 writeToFile已经给出并且调用。 / proj3.cpp #include iostream #include fstream #include cstring using namespac

    20、e std; class doc private: char * str; /文本字符串首地址 int counter26; /用于存入 26个字母的出现次数 int length; /文本字符个数 public: /构造函数,读取文件内容,用于初始化新对象。filename是文件名字符串首地址。 doc(char * filename); void count(); /统计 26个英文字母在文本中出现的次数,统计时不区分大小写。 doc(); void writeToFile(char * filename); ; doc:doc(char * filename) ifstreammyFil

    21、e(filename); int len=1001, tmp; str=new charmen; length=0; while(tmp=myFile.get()!=EOF) strlength+ =tmp; strlength =/0; myFile.close(); for(int i=0; i26; i+) counteri =0; /* 333* /* 666* doc:doc() delete str; void doc:writeToFile ( char * filename) ofstream outFile(filename); for(int i=0; i26; i +)

    22、outFile counteri endl; outFile.close(); void main () doc mymoc (“); myDoc.count(); myDoc.writeToFile(“); (分数:40.00)_正确答案:(void doc:count() for(int i=0; ilength; i+) /从 0开始遍整个文本字符 if(stri=a /在数组 counter对加,做计数 if(stri=A /在数组counter对应的做计数 for(int index=0; index26; +index) /遍历数组数 counter,将下标转化为字母,然后输出其出

    23、现次数 cout (char)(index+65)“or“ (char)(index+97) “出现的次数是:“counter indexendl; )解析:考点 本题考查 doc类,其中涉及动态数组、构造函数、成员函数和析构函数。 解析 主要考查考生对统计字母的掌握,首先要判断该字符是否为字母,即当字符的 ASCII码大于等于 a,小于等于 z时,为小写字母;当大于等于 A,小于等于 Z时,为大写字母,则用于计量该字母出现次数的元素值加1。如何确定计量字母次数的元素下标是本题的难点。当字母为小写时,用该字母的 ASCII码减去 a的ASCII码;当字母为大写时,用该字母的 ASCII码减去 A的 ASCII码,即可得到计量该字母的元素下标。


    注意事项

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




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

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

    收起
    展开