1、国家二级 C+机试(操作题)模拟试卷 7及答案与解析 一、基本操作题 1 使用 VC+6 0打开考生文件夹下的源程序文件 1 cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: member: 1 member: 10 member: 100 注意:错误的语句在 *error*的下面,修改该语句即可。其他的语句不能修改。 试题程序: #include int i=100: class TC public: TC(int i) cout double fun(double A55) void main() double A55= 4431 3, 45 56, 5697 65, 768
2、 678, 122 45, 444 4, 34 545, 5667 656, 2548 678, 1562 45, 537 3, 655 5456, 5677 65, 7168 678, 1242 45, 134 3, 454 5486, 5637 65, 7687 678, 1322 45, 189 3, 445 5786, 5677 65, 7528 678, 142 45 ; cout class TC public: *1* *2* No=no; for(int i=0; strNameEi!=0; i+) Namei=strNamei; Namei+1=0; void print()
3、 *3* TC() *3* ; int main() TC stu; stu Set(12345, “HelloWorld!“); stu print(); return 0; 国家二级 C+机试(操作题)模拟试卷 7答案与解析 一、基本操作题 1 【正确答案】 (1)“i=i+9; ”应改为 “this-)i=i+9; (*this) i=i+9;或 TC:i=i+9; ”。 (2)“TC obj; ”应改为 “TC obj(1); ”。 (3)“coutsum1) return s11m2: 【试题解析】 本题要实现的功能是返回二维数组中大于本行平均数的所有数之和,数组的下标是从 0开始的
4、,所以数组中有 5行 5列的数,先求出每行的平均值,然后查找本行中大于平均值的数,然后求和,最后返回和值。 三、综合应用题 3 【正确答案】 (1)应添加 “int No; char Name32; ”。 (2)应添加 “void Set(int no, char*strName)”。 (3)应添加 “eout“No=“(Noend1“Name=“Nameend1; ”。 (4)应添加 “No=Name0=0; ”。 【试题解析】 第 1处要求 “定义类的公有数据成员函数 No、 Name32,其中 No为 int型, Name32为字符型 ”。在已有程序中类定义的 public区域,定义变量
5、No, Name32,即在第 1处添加语句 “int No; char Name32; ”0第 2处要求 “完成函数 Set的定义,分别设置 No和 Name的值 ”。在第 2处说明函数 Set的语句中,应该包括变 量 no, strName的定义,然后在函数中将其值赋值给 No Name,即添加定义语句 “void Set(int no, char*StrName)”。第 3处要求 “完成函数print”,根据输出结果,知道输出的是 No和 Name的值,所以这里补全“cout“No=“(Noend1“Name=“Nameend1; ”。第 4处要求 “加缺省构造函数,设置 No为 0, Name为空 ”,即在 TC构造函数中补充赋值语句“No=Name0=0; ”。