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

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

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

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

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

    1、国家二级 C+机试(操作题)模拟试卷 507及答案与解析 一、基本操作题 1 请打开考生文件夹下的解决方案文件 proj1,该工程中包含程序文件main cpp,其中有关 TVSet(“电视机 ”)和主函数 main的定义。程序中位于每个 “ ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: 规格: 29英寸,电源:开,频道: 5,音量: 18 规格: 29英寸,电源:关,频道: -1,音量: -1 注意:只修改每个 “ ERROR*found*”下的那一行,不要改动程序中的其他内容。 #include iostream using namespace

    2、std; class TVSet “电视机 ”类 const int size; int channel;频道 int volume;音量 bool on;电源开关: true表示开, false表示关 public: ERROR*found* TVSet(int size) this- Size(size); channel=0; volume=15; on=false; int getsize( )constreturnsize; 返回电视机规格 bool isOn( )constreturnon; 返回电源开关状态 返回当前音量,关机情况下返回 -1 int getVolume( )co

    3、nstreturnisOn( )?volume: -1; 返回当前频道,关机情况下返回 -1 int getChannel( )constreturn isOn( )?channel: -1; ERROR*found* void turnOnOff( )const将电源在 “开 ”和 “关 ”之间转换 on=!on; void setChannelTo(int chan) 设置频道 (关机情况下无效 ) if(isOn( )&chan =0&chan =99) channel=chan; void setVolumeTo(int vol) 设置音量 (关机情况下无效 ) if(isOn( )&

    4、vol =&vol =30) volume=vol; void show_state( ) ERROR*found* cout “规格: “ getSize( ) “英寸 “ “,电源: “ (isOn( )?“开 “: “关 “) “,频道: “ getChannel( ) “,音量: “ getVolume( ) endl; , int main( ) TVSet tv(29); tv turnOnOff( ); tv setChannelTo(5); tv setVolumeTo(18); tv showState( ); tv turnOnOff( ); tv showState( )

    5、; return0; 二、简单应用题 2 请打开考生文件夹下的解决方案文件 proj2,此工程包含有一个源程序文件proj2 cpp,其中定义了 Stack类和 ArrayStack类。 Stack是一个用于表示数据结构 “栈 ”的类,栈中的元素是字符型数据。 Stack为抽象类,它只定义了栈的用户接口,如下所示: 公有成员函数功能 push 入栈:在栈顶位置添加一个元素 pop 退栈:取出并返回栈顶元素 ArTayStack是 Stack的派生类,它实现了 Stack定义的接口。 ArrayStack内部使用动态分配的字符数组作为栈元素的存储空间。数据成员 maxSize表示的是栈的最大容量

    6、, top用于记录栈顶的位置。成员函数 push和 pop分别实现具体的入栈和退栈操作。 请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此程序的正确输出结果应为: a, b, c c, b, a 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动 “ *found*”。 proj2 cpp #include iostream using namespace std; class Stack public: virtual void push(char c)=0; virtual char pop( )=0; ; class ArrayStack: pu

    7、blic Stack char*P; int maxSize; int top; public: ArrayStack(int s) top=0; maxSize=s; *found* p=_; ArrayStack( ) *found* _; void push(char c) if(top=maxSize) cerr “Overflow! n“; return; *found* _; top+; char pop( ) if(top=0) cerr “Underflow! n“; return 0; top-; *found* _; ; void f(Stack&sRef) char ch

    8、 =a, b, c; cout ch0 “, “ ch1 “, “ ch2 endl; sRef push(ch0); sRef push(ch1); sRef push(ch2); cout sRef pop( ) “, “; cout sRef pop( ) “, “; cout sRef pop( ) endl; int main( ) ArrayStack as(10); f(as); return0; 三、综合应用题 3 请打开考生文件夹下的解决方案文件 proj3,其中声明了 SortedList类,是一个用于表示有序数据表的类。其成员函数 insert的功能是将一个数据插入到一个

    9、有序表中,使得该数据表仍然保持有序。请编写这个 insert函数。程序的正确输出应为: 插入前: 1, 2, 4, 5, 7, 8, 10 插入 6和 3后: 1, 2, 3, 4, 5, 6, 7, 8, 10 要求: 补充编制的内容写在 “ *333*”与 “ *666*”之间。不得修改程序的其他部分。 注意:程序最后将结果输出到文件 out dat中。输出函数 writeToFile已经编译为obj文件,并且在本程序中调用。 SortedList h #include iostream using namespace std; class SortedLi有序数据表类 int len;

    10、double*d; public: SortedList(int len, doubledata =NULL); SortedList( )delete d; int length( )constreturnlen; )有序数据表长度 (即元素的个数 ) double getElement (int i)constreturn di; VOid insert(double data); void show( )const;显示有序数据表 ; void writeToFiie(char*, const SortedLiSt&); main cpp #include“SortedList h“ S

    11、ortedList: SortedList(int len, double data ): len(len) d=new doublelen; for(int k=0; k len; k+) dk=(data=NULL?0 0: datak); for(int i=0; i len-1; i+) int m=i; for(int j=i; j len; j+) if(dj dm)m=j; if(m i) double t=dm; dm=di; di=t; void SortedList: insert(double data) *333* *666* void SortedLiSt: show

    12、( )const 显示有序数据表 for(int i=0; i len-1; i+) cout di “, “; cout dlen-1 endl; int main( ) double s =5, 8, 1, 2, 10, 4, 7); SortedList1ist(7, s); cout “插入前: “ endl; list show( ); list insert(6 0); list insert(3 0); cout “插入 6和 3后: “ endl; list show( ); writeToFile(“ “, list); return0; 国家二级 C+机试(操作题)模拟试卷

    13、 507答案与解析 一、基本操作题 1 【正确答案】 (1)TVSet(intsize): size(size) (2)void tumOnOff( ) (3)cout “规格: “ getSize( ) “英寸 “ 【试题解析】 (1)主要考查考生对构造函数的掌握,因为 size是常变量,所以只能用成员初始化列表来初始 size,即 TVSet(int size): size(size)。 (2)主要考查考生对 const函数的掌握,在 turnOnOff函数中,有语句:on=!on;,使得 on的值发生改变,因此该函数不能使用 const。 (3)主要考查考生对输出语句的掌握,下一条语句:

    14、 “,电源: “ (isOn( )?“开 “: “关 “), 说明输出语句还没结束,因此不能用 “; ”。 二、简单应用题 2 【正确答案】 (1)new chars (2)delete p (3)ptop=c (4)return ptop 【试题解析】 (1)主要考查的是 ArrayStack类的构造函数,在函数中要为 p申请S个 char型空间,应使用语句 p=new charS;。 (2)主要考查析构函数,使用 delete语句释放指针,即 delete p;。 (3)主要考查 push函数, top表示栈顶元素下标,添加的数据放到栈顶,因此使用语句 ptop=c;。 (4)主要考查 p

    15、op函数,输出栈顶数据, top表示栈顶元素下标,因此使用语句return ptop;。 三、综合应用题 3 【正确答案】 for(int i=0; i len; +i)遍历数组 d if(data di)如果 data小于 di len+;数组 d的长度自加 1 double*dd=new doublelen;分配长度为 len空间 for(int k=len; k i; k-)在数组 d中从 k等于 len到 i做遍历 ddk=dk-1;把 dk-1赋值给 ddk ddi=data;把 data赋值给 ddi for(int j=0; j i; j+)把数组 d从 0到 i做遍历 ddj=

    16、dj;把 dj赋值给 ddj delete d;删 d分配的空间 d=new doublelen;给 d分配长度为 len的空间 for(int index=0; index len; +index)遍历数组 dd从 0到 len dindex=ddindex;地 ddindex赋值给 dindex delete dd;删 dd分配的空间 break;跳出循环 【试题解析】 主要考查考生对插入算法的掌握,题目要求 insert函数的功能是将一个数据插入到一个有序表中,使得该数据表仍保持有序。可以知道数据表 d是一组有序的数组,那么就采取先比较再插入的步骤完成即可。 要注意动态数组 d的长度是确定的,要添加元素,就要重新分配空间。


    注意事项

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




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

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

    收起
    展开