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

上传人:花仙子 文档编号:502511 上传时间:2018-11-29 格式:DOC 页数:6 大小:30.50KB
下载 相关 举报
[计算机类试卷]国家二级(C++)机试模拟试卷60及答案与解析.doc_第1页
第1页 / 共6页
[计算机类试卷]国家二级(C++)机试模拟试卷60及答案与解析.doc_第2页
第2页 / 共6页
[计算机类试卷]国家二级(C++)机试模拟试卷60及答案与解析.doc_第3页
第3页 / 共6页
[计算机类试卷]国家二级(C++)机试模拟试卷60及答案与解析.doc_第4页
第4页 / 共6页
[计算机类试卷]国家二级(C++)机试模拟试卷60及答案与解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、国家二级( C+)机试模拟试卷 60及答案与解析 一、程序改错题( 30分) 1 使用 VC6打开考生文件夹下的工程 ms9_1,此工程包含一个源程序文件test9_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下: 4,5 20 源程序文件 test9_1.cpp清单如下: #include iostream.h class A protected: int n, m; public: void set(int a, int b)m=a; n=b;) void show()cout m “,“ n endl;) *found* class B:public A int

2、 s; public: void set()s=m*n;) void shows()cout s endl;) ; void main() B b; *found*+* b.set(); b.show(); b.set(); *found* b.show(); 二、简单应用题( 40分) 2 请编写一个函数 maxofarray(atype*p,int count),该函数从一个数组中找出其中的最大元素,并且数组中可以存放多种数据类型的元素。 注意:部分源程序己存在文件 test42_2.cpp中。 请勿修改主函数 main和其他函数中的任何内容,仅在函数 maxofarray的花括号中填写若

3、干语句。 文件 test42_2.cpp清单如下: #include iostream.h #include string.h #include conio.h template class atype void maxofarray(atype* p,int count) void main () int len=5; char *p1; cout “the char type array and its length is 5:n“; cout “the array element is a b c d en“; p1=new charlen; for (int i=0;i len;i+)

4、 p1i=a+i; maxofarray(p1,len); 三、综合应用题( 30分) 2 使用 VC6打开考生文件夹下的工程 MyProj10。此工程包含一个源程序文件MyMain10.cpp。程序中定义了两个类 Base和 Derived,但类的定义并不完整。 请按要求完成下列操作,将类的定义补充完成: 类 Derived是基类 Base公有派生来的。请在注释 “/* *1* *”之后添加适当的语句。 完成构造函数 Derived(int i)定义,采用初始化列表的方式使基类 Base私有成员a初始化为 i+1,类 Derived的私有成员 b初始化为 i。请在注释 “/* *2* *”之

5、后添加适当的语句。 完成类 Derived的成员函数 show()的类体外的定义。函数 show()中要显式调用基类的 show()函数,然后要输出私有成员 b的值。请在注释 “/* *3*”之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件 MyMain10.cpp清单如下: /MyMain10.cpp #include iostream using namespace std; class Base public: Base(int x) a=x void show() cout a; private: int a; ; /* * *1* * *

6、 public: /* * * 2 * * * void show(); private: int b; ; void Derived : show() /* * * 3 * * * int main() Derived d(1), *pb; pb=”; (2)主要考查考生对基类与派生类函数调用关系的掌握,根据所要求的输出结果 ,应该调用的函数为类 A的 set,而不是类 B自身的 set函数,应该避免调用的二义性; (3)主要考查考生对继承与派生的理解,由所要求输出结果可知正确: b.shows()。 二、简单应用题( 40分) 2 【正确答案】 void maxofarray(atype*

7、p,int count) for (int j=0;j count-1;j+) for (int k=0;k count-1-j;k+) if(pk pk+1) atype temp; temp=pk; pk=pk+1; pk+1=temp; cout “nthe max element of this array is: “ pcount-1 endl; 【试题解析】 本题考查的是考生对模板函数和 简单的排序方法的综合应用。为了对于任何数据类型都能进行比较,应该使用模板类进行函数的参数的定义,而函数内部则使用了冒泡排序法得到最大的元素,实际上只需要一次两两比较就可以得到正确的答案了,考生可以自己试试看。 三、综合应用题( 30分)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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