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

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

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

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

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

    1、国家二级 C+机试(操作题)模拟试卷 464及答案与解析 一、基本操作题 1 请使用 VC6或使用【答题】菜单打开考生文件夹 proj1下的工程 proj1,此工程中含有一个源程序文件 proj1 cpp。其中位于每个注释 “ERROR*found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: NUM=0 Value=1 注意:只修改注释 “ ERROR *found*”的下一行语句,不要改动程序中的其他内容。 proj1 cpp #incclude using namespace std; class MyClass int i; friend VOid Increment

    2、 (MyClass& f); public: const int NUN; ERROR*found* MyClass(int i=0)NUN=0; i=i; int GetValue()constreturn i; ; ERROR*found* void Increment()f i+; int main() NyClass obj; ERROR *found* NyClass: Increment(obj); cout using namespace std; const int MAXNUM=100; class Set private: int num; 元素个数 char setdat

    3、aMAXNUM; 字符数组,用于存储集合元素 public: Set(char *s); 构造函数,用字符串 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) for(int i=0; i us

    4、ing namespace std; const int MAXELEMENTS=100; 集合最多可拥有的元素个数 class IntegerSet int elemMAXELEMENTS; 用于存放集合元素的数组 int counter; 用于记录集合中元素个数的计数器 public: IntegerSet(): counter(0) 创建一个空集合 IntegerSet(int data, int size); 利用数组提供的数据创建一个整数集合 void add(int element); 添加一个元素到集合中 void remove(int element); 删除集合中指定的元素

    5、int getCount()constreturn counter; 返回集合中元素的个数 int getElement(int i)const return elemi; 返回集合中指定的元素 void show()const; ; void WriteToFile(char*); #endif main cpp #include“IntegerSet h“ #include IntegerSet: IntegerSet(int data, int size): counter(0) for(int i=0; i0; j-) if(element=elemj-1) break; 如果找到的是

    6、等于 element的元素,说明要添加的元素已经存在,直接返回 if(j0) if(element=elemj一 1) return; 如果找到的是小于 element的元素, j就是要添加的位置 该元素及 其后面的元素依次后移,腾出插入位置 for(int k=counter; kj; k-) elemk=elemk-1; elemj=element; 将 element插入到该位置 counter+; 计数器加 1 void IntegerSet: remove(int element) *333* *666* void IntegerSet: show()const for(int i=

    7、0; igetCount(); i+) coutsetw(4)getElement(i); coutendl; int main() int d=5, 28, 2, 4, 5, 3, 2, 75, 27, 66, 31; IntegerSet s(d, 11); s show (); s add(6); s show(); s add(19); s show(); s remove(2); s show(); s add(4); s show(); WriteToFile(“); return 0; 国家二级 C+机试(操作题)模拟试卷 464答案与解析 一、基本操作题 1 【正确答案】 (1

    8、)MyClass(int i=0): NUM(0) (2)void Increment(MyClass&f)f _i+; (3)Increment(obj); 【试题解析】 (1)主要考查考生对常量数据成员初始化方法的掌握,常量数据成员的初始化只能通过构造函 数的成员初始化列表进行,并且要使用关键字 const修饰。该题的前一条语句 const int NUM;,说明 NUM是常量数据成员。 (2)主要考查考生对友元函数的掌握,友元函数的定义与声明要一致,先看该友元函数的声明部分: friend void Increment(MyClass&f);,返回类型为 void,函数参数为 MyCla

    9、ss&f;再比较出错的语句: void Increment()f _i+; ,错误在于该函数没有参数,应把 MyClass&f填在括号内。 (3)主要考查友元函数的调用 ,友元函数并不属于类,因此调用友元函数时不需要添加类名及作用域,只需要像调用普通函数一样即可。 二、简单应用题 2 【正确答案】 (1)!InSet(*s) (2)setdatanum+=*s (3)c=setdatai (4)return true 【试题解析】 (1)主要考查考生对成员函数的掌握,题目要求:添加代码,测试元素在集合中不存在,由类的定义可知函数 bool InSet(char c)可以测试字符 c是否在集合中

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

    11、3 【正确答案】 for(int i=0; 1counter; 1+) 遍历整个集合 (数组 elem) if(element=elemi) 如果 element等于 elemi for(int j=i; jcounteri; j+)从 i开始集合 elem elemj=elemj+1; 把 elemj+1赋值给 elemj counter-; elem长度自减 1 return; 返回 【试题解析】 主要考查考生对有序数组的掌握,题目要求成员函数 remove从集合中删除指定的元素 (如果集合中存在该元素 )。遍历数组 elem中的元素,找出与形参 element相等的元素,并将其删除,每删除一个元素,即将该元素之后的每个元素前移一位,如果不存在与形参 element相等的元素则没有操作。使用下标 i遍历数组, if语句判断是否与 element相等。


    注意事项

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




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

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

    收起
    展开