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

    [计算机类试卷]国家二级C++机试(操作题)模拟试卷204及答案与解析.doc

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

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

    [计算机类试卷]国家二级C++机试(操作题)模拟试卷204及答案与解析.doc

    1、国家二级 C+机试(操作题)模拟试卷 204及答案与解析 一、基本操作题 1 请使用 VC6或使用【答题】菜单打开考生文件夹 proj1下的工程 proj1,此工程中包含一个源程序文件 main epp,其中有类 Book(“书 ”)和主函数 main的定义。程序中位于每个 “ ERROR*found*”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: 书名: C+语句程序设计总页数: 299 已把 “C+语言程序设计 ”翻到第 50页 已把 “c H语言程序设计 ”翻到第 51页 已把 “C+语言程序设计 ”翻到第 52页 已把 “C+语言程序设计 ”翻到第 51页 已把书合上。

    2、当前页: 0 注意:只修改每个 “ ERROR*found*”下的那一行,不要改动程序中的其他内容。 1 #include 2 us ing namespace std; 3 clasS Book 4 char*title; 5 int num pages;页数 6 int cur page ;当前打开页面的页码, 0表示书未打开 7 public: 8 ERROR*found* 9 Book(const char*theTitle, int pa-ges)num_pages(pageS) 10 11 title=new charstrlen(theTi-tle)+1; 12 strcpy(t

    3、itle, theTitle); 13 coutnum_pa-ges) 25 cout 2 #include 3 using namespace std; 4 class Employee 5 public: 6 Employee (string name, string dept): 7 *found* 8 _ 9 10 virtual void print()const; 11 string dept()const 返回部门名称 12 13 *found* 14 _ 15 16 virtual Employee() 17 private: 18 string name; 19 string

    4、 dept; 20 ; 21 class Manager: public Employee 22 public: 23 Manager(string name, string dept, int level): 24 *found* 25 _ 26 27 virtual void print()const; 28 private: 29 int level; 30 ; 31 void Employee: print()const 32 33 coutprint(); 46 delete emp; 47 return 0; 48 三、综合应用题 3 请使用 VC6或使用【答题】菜单打开考生文件夹

    5、 proj3下的工程 proj3,其中包含了类 IntegerSet和主函数 main的定义。一个 IntegerSet对象就是一个整数的集合,其中包含 0个或多个无重复的整数;为了便于进行集合操作,这些整数按升序存放在成员数组 elem的前若干单元中。成员函数 add的作用是将一个元素添加到集合中 (如果集合中不存在该元素 ),成员函数 remove从集合中删除指定的元素 (如果集合中存在该元素 )。请编写成员函数 remove。在 main函数中给出了一组测试数据,此时程序的正确输出 结果应为: 2 3 4 5 27 28 31 66 75 2 3 4 5 6 27 28 31 66 75

    6、 2 3 4 5 6 19 27 28 31 66 75 3 4 5 6 19 27 28 31 66 75 3 4 5 6 19 27 28 31 66 75 要求: 补充编制的内容写在 “ *333*”与 “ *666*”之间,不得修改程序的其他部分。 注意:程序最后 将结果输出到文件 out dat中。输出函数 WriteToFile已经编译为 obj文件,并且在本程序中调用。 1 IntegorSet h 2 #ifndef工 NTEGERSET 3 #de fine工 NTEGERSET 4 #include 5 using namespace std; 6 const int MA

    7、XELEMENTS=100; 7 集合最多可拥有的元素个数 8 classIntegerSet 9 int elemMAXELEMENTS; 10 用于存放集合元素的数组 1l int counter:用于记录集合中元素个数的计数器 12 public: 13 IntegerSet(): counter(0) 14 创建一个空集合 15 IntegerSet(int data, int size); 16 利用数组提供的数据创建一个整数集合 17 void add(int element); 18 添加一个元素到集合中 19 void remove(int element); 20 删除集合中

    8、指定的元素 21 int getCount()constreturn counter ; 22 返回集合中元素的个数 23 int getElement(int i)constreturn elemi; 返回集合中指定的元素 24 void show()const; 25 ; 26 void WriteToFile(char*); 27 #endif 1 main cpp 2 #include“IntegerSet h“ 3 #include 4 IntegerSet: IntegerSet(int data , int size): counter(0) 5 for(int i=0; i0;

    9、 j-) 12 if(element=elemj-1)break; 13 如果找到的是等于 element的元素,说明要添加的元素已经存在,直接返回 14 if(j0) 15 if(element=elemj-1)return ; 16 如果找到的是小于 element的元素, j就是要添加的位置 17 该元素及其后面的元素依次后移,腾出插入位置 18 for(int k=counter;kj; k-) 19 elemk=elemk-1; 20 elemj=element;将 element插入到该位置 21 counter+; 计数器加 1 22 23 void IntegerSet: re

    10、move(int ele-ment) 24 *333* 25 26 27 *666* 28 29 void IntegerSet: show()const 30 for(int i=0; igetCount(); i+) 31 coutsetw(4)getElement(i); 32 coutendl; 33 34 int main() 35 int d=5, 2 8, 2, 4, 5, 3, 2, 75, 27, 66, 31; 36 IntegerSet s(d, 11); s show(); 37 s add(6); s show(); 38 s add(19); s show(); 3

    11、9 s remove(2); s show(); 40 s add(4); s show(); 41 WriteToFile(“ “); 42 return 0; 43 国家二级 C+机试(操作题)模拟试卷 204答案与解析 一、基本操作题 1 【正确答案】 (1)Book(const char*theTitle, int pages): Hum_pages(pages) (2)void openAtPage(int page_no)把书翻到指定页 (3)cur_page=0; 【试题解析】 (1)主要考查考生对构造函数的掌握,构造函数的成员列表初始化法要注意它的格式 ,即成员列表前要有标识符

    12、 “: ”,因此语句改为: Book(eonst char*theTitle, int pages): nun_pages(pages)。 (2)主要考查考生对 const函数的掌握,在函数体中可以看到有语句cur_page=page_no,即 cur_page的值发生改变,因此该函数不是 const函数。 (3)主要考查考生对成员函数的掌握,题目要求输出的最后一条是 “当前页: 0”,可知主函数中调用 close函数后当前页为 0,因此应该是 cur_page=0;。 二、简单应用题 2 【正确答案】 (1)name_(name), dept_(dept) (2)return dept_;

    13、(3)Employee(name, dept), leVel_(1eVel) (4)Employee: print(); 【试题解析】 (1)主要考查考生对构造函数的掌握,这里使用成员列表初始化法对私有成员初始化。 (2)主要考查考生对成员函数的掌握,题目要求返回部门名称,因此这里是一条返回语句。函数要求返回的类型为 string,因此直接返回 dept_即可。 (3)主要考查考生对构造函 数的掌握,因为 Manager类是 Employee类的派生类,因此它的构造函数要先对基类初始化,应使用成员列表初始化。 (4)主要考查考生对虚函数的掌握,因为 Manager类是 Employee类的派生

    14、类,因此它的 print函数可以先调用基类的 print函数,再输出自身要输出的数据,故为 Employee: print();。 三、综合应用题 3 【正确答案】 1 for(int i=0; icounter; i+)遍历整个集合 (数组 elem) 2 if(element: =elemi)如果 element等于 elemi 3 4 for(int j=i; jcounter-1; j+) 从 i开始遍历集合 elem 5 elemj=elemj+1;把 elemj+1赋值给 elemj 6 counter-; elem长度自减 1 7 return;返回 8 【试题解析】 主要考查考生对有序数组的掌握,题目要求成员函数 remove从集合中删除指定的元素 (如果集合中存在该元素 )。遍历数组 elem中的元素,找出 与形参 element相等的元素,并将其删除,每删除一个元素,即将该元素之后的每个元素前移一位,如果不存在与形参 element相等的元素则没有操作。使用下标 i遍历数组, if语句判断是否与 element相等。


    注意事项

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




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

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

    收起
    展开