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

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

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

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

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

    1、国家二级 C+机试(操作题)模拟试卷 335及答案与解析 一、基本操作题 1 请使用 VG6或使用【答题】菜单打开考生文件夹 pmjl下的工程 proj1,其中有枚举 DOGCOLOR、狗类 Dog和主函数 main的定义。程序中位于每个 “ERROR*found*”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a white dog named Hoho There is a black dog named HaIla There is a motley dog named Hihi 注意:只修改每个 “ ERROR*found*”下的那一行,不要改动程序中的

    2、其他内容。 #include using namespace std; 狗的颜色:黑、白、黄、褐、花、其他 enum DOGCOLORBLACK, WHTTE, YELLOW, BROWN, PTEBALD, OTHER); class Dog /狗类 DOGCOLOR colot; char name2 O; static int count; public: Dog(char name, DOGCOLOR color) strcpy(this一 name, name); ERROR*found* strcpy(this一 color, color); DOGCOLOR getColor()

    3、constreturn color; ) ERROR*found* COnSt char*get: Name()constreturn*name; ) const char* getColorString() const switch(colot) CaSe BLACK: return”blaCk”; case WHITE: return”white”; CaSe YELLOW: return”yellow”; case BROWN: return”brown”; CaSe PIEBALD: return”piebald”; return”motley”; Void show()const c

    4、out using namespace std; class Member ERROR*found* private: Member(int val): value(val) int value; , class MyClass Member m; public: ERROR*found* MyClass(int val) int GetValue()constreturn m value; ) ; int main() MyClass*obj=new MyClass(i0); ERROR*found* 下列语句输出 obj指向类中的 value值 cout using namespace s

    5、td; class IntStack 整数栈类 public: virtual VOid push(int)=0;入栈 virtual int pop()=0; 出栈并返回出栈元素 virtual int topElement()const=0; 返回栈顶元素。但不出栈 virtual bool isEmpty()oonst=0; 判断是否栈空 ; class SeqStack: public IntStack int data100; 存放栈元素的数组 int top; 栈顶元素的下标 public: *found* SeqStack(): _()把 top初 始化为一 1表示栈空 void

    6、 push(int n)data+top= n; ) *found* int pop()return_; int topElement()constreturn data top; bool isEmpty()constreturn top=一 1; ) ; struct Node int data; Node*next; ; class LinkStack: public IntStack Node*top; public: * found* LinkStack(): _)把 top 初始化为 NULL表示栈空 void push(int n) Node*P=new Node; P-data

    7、=n; * found* _; top=P; int pop() int d=top-data; top=top-next; return d; int topElement()constreturn top 一 data; ) bool isEmpty()constreturn top= NULL; ) , void pushData(IntStack DataList(DataList&data); int length()constreturn len; ) double getElement(int i)constreturn di; DataList operator+(const

    8、DataList& list)const;两个数据表求和 void show()const;显示数据表 ; void writeToFile (char *, const DataList&); main cpp #include“DataList h“ DataList: DataList(int fen, double data): len(len) d=new double1en; for(int i=0; i using namespace std; clas s ValArray int*v; int Size; public: ValArray(const int*P, int n

    9、): Size(n) v=new intsize; for(int i=0; icolor=color; (2)const char getName()constreturn *name; (3)Dog dogl(”Hoho”, WHITE), dog2(”Haha”, BLACK), dg3(”Hihi”,OTHER); 【试题解析】 (1)主要考查 考生对 strcpy函数的掌握,如果看到上一条语句strcpy(this一 nallle, name);,就以为本条语句也要用 strcpy函数来赋值,这是错误的。 Strcpy函数只能复制字符串,根据类的私有成员声明可知, color是DOG

    10、COLOR型的,这里直接使用赋值语句 “=”即可。 (2)主要考查考生对函数返回值的掌握,先解读语句 const char*getName()constreturn*name; ,要返回的是一个 const的字符指针,同时函数内的值不能改变, name在:类的私有成员声明中是 个字符数组, *name代表字符数组而不是字符指针;问题就出来了,需要修改返回类型: constchar getName()constreturn*name; 。 (3)语法错误,定义变量时,变量之间应使用 “, ”分开。 2 【正确答案】 (1)public: (2)MyClass(int val): _m(val)或

    11、 MyClass(int val)_m=val (3)coutGetValue()”。 二、简单应用题 3 【正确答 案】 (1)top(一 1) (2)datatop- (3)top(NULL) (4)p-next=top 【试题解析】 (1)主要考查考生对构造函数的掌握情况,先看语句注释:把 top初始化为一 1表示栈空,即要把 top赋值为一 1即可。 (2)主要考查考生对纯虚函数的掌握情况,先看纯虚函数在基类的注释:出栈并返回出栈元素。要返回栈顶元素可以通过 datatop得到,出栈同时要使得 top往下移动,即 top-。 (3)主要考查考生对构造函数的掌握情况,先看语句注释:把 t

    12、op初始化为NULL表示栈空,因此使用成员列表初始化直接把 top赋值为 NULL即可。 (4)主要考查考生对栈的掌握, push为入栈函数, top指向栈顶元素,因此新添加的指针的 next要指向 top,即 p一 next=top:。 三、综合应用题 4 【正确答案】 for(int i=0; i len; +i) 遍历对象 list中的数组和 d数组,把对应的值相加后放到数组 dd中。 ddi=di+list di; 【试题解析】 主要考查考生对重载运算符的掌握,题目要求对两个数据表 求和。程序已经定义了动态数组 dd,并已经分配好了空间,接下来只要运用循环语句完成元素相加并进行赋值即可

    13、。 5 【正确答案】 size=other size; 把对象数组的大小赋值给 size V=Dew intother size ; 根据对象数组的大小动态分配数组 v for(int i=0; isize; +i) vi=other vi; 遍历整个对象的数组把值 other vi放到数组 v中 【试题解析】 主要考查考生对复制构造函数的掌握。由函数名: ValArray: :ValArray(const。 ValArray&other),知道要复制的对象是 other,对由 ValArray类的成员: int* v; int size;知道要复制的内容是动态数组 v及整型变量 size。动态数组要使用 new语句分配内存,最后利用 for循环语句来完成复制过程。


    注意事项

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




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

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

    收起
    展开