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

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

1、国家二级 C+机试(操作题)模拟试卷 223及答案与解析 一、基本操作题 1 请使用 ”答题 ”菜单或使用 VC6打开考生文件夹 proj1下的工程 proj1,程序中位于每个 ERROR *found*下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是: A True 注意:只能修改每个 ERROR *found*下的那一行,不要改动程序中的其他内容。 1 include 2 using namespace std; 3 class Choice 4 private: 5 const char answer; 6 public: 7 ERROR *found* 8

2、Choice(char c)(answer=c; ) 9 Choice() 10 void check(char x) 11 coutcheck(A); 5 delete c; 6 return 0; 7 二、简单应用题 2 请使用 VC6或使用【答题】菜单打开考生文件夹 prog2下的工程 prog2,此工程中包含一个程序文件 main cpp,其中有 “班级 ”类 Class和 “学生 ”类 Student的定义,还有主函数 main的定义。在主函数中定义了两个 “学生 ”对象,他们属于同一班级。程序展示,当该班级换教室后,这两个人的教室也同时得到改变。请在横线处填写适当的代码, 然后删除

3、横线,以实现上述类定义。此程序的正确输出结果应为: 改换教室前: 学号: 0789姓名:张三班级: 062113教室: 521 学号: 0513姓名:李四班级: 062113教室: 521 改换教室后: 学号: 0789姓名:张三班级: 062113教室: 311 学号: 0513姓名:李四班级: 062113教室: 311 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容。 1 #include 2 using namespace std; 3 class Class “班级 “类 4 public: 5 C1ass(const char*id, const char*room)

4、6 strcpy(class id, id); 7 *found* 8 _ 9 10 const char*getClassID()constre-turn class_id; 返回班号 11 *found* 12 const char*getClassroom()const_返回所在教室房号 13 void changeRoomTo(const char *new_room) 改换到另一个指定房号的教室 14 strcpy(classroom, new room); 15 16 private: 17 char class id20; 班号 18 char classroom20; 所在教室

5、房号 19 ; 20 class Student “学生 ”类 21 char my id1 0; 学号 22 char my name2 0; 姓名 23 Class 28 strcpy(my_name, the_name); 29 30 const char*getID()constreturn my id; 31 const char*getName()constre-turn my_name; 32 Class getClass()const(return my_class; 33 ; 34 void showStudent(Student*stu) 35 coutgetID()get

6、Name() “ “; 37 coutgetClas s() getClassID()getClass() getClassroom() 3 using namespace std; 4 class DataList数据表类 5 int len; 6 double*d; 7 public: 8 DataList(int len, double data=NULL); 9 DataList(DataList data); 10 int length()constreturn fen; 11 double getElement(int i)constre-turn di; 12 DataList

7、operator+(const DataList 7 8 DataList: DataList(DataList 12 13 DataList DataList: operator+(const 14 DataList 16 *333* 17 18 19 *666* 20 return DataList(list length(), dd); 21 22 void DataList: show()const显示数据表 23 for(int i=0; ilen-1; i+) 24 coutdi“, “; 25 coutdlen-1endl; 26 27 int main() 28 double

8、sl=1, 2, 3, 4, 5, 6; 29 double s2=3, 4, 5, 6, 7, 8; 30 DataList listl(6, s1), list2(6, s2);定义两个数据表对象 31 cout“两个数据表: “endl ; 32 list1 show(); 33 list2 show(); 34 coutendl“两个数据表之和: “ endl; 35 (listl+list2) show(); 36 writeToFile(“ “, listl+list2); 37 return 0; 38 国家二级 C+机试(操作题)模拟试卷 223答案与解析 一、基本操作题 1

9、【正确答案】 (1)Choice(char c): answer(c) (2)if(answer=x) (3)Choice*c=newChoice(A): 【试题解析】 (1)C+约定:初始化 const对象或引用类型的对象,但不能对他们赋值。在开始执行构造函数的函数体之前,必须完成初始化。初始化 const或引用类型 数据成员的唯一机会是在构造函数初始化列表中。 (2)判断相等使用 =运算符,不是赋值号 “=”。 (3)new操作符返回的是一个指针,因此使用指针变量来接收。 二、简单应用题 2 【正确答案】 (1)strcpy(classroom, room); (2)retum class

10、room; (3)my_class(the_class) (4)cla changeRoomTo(“311“); 【试题解析】 (1)主要考查考生对 strcpy函数的掌握情况,根据上一条语句:strcpy(class_id, id);可知,这条语句要复制字符串 room,因此使用 strcpy函数复制,即 strcpy(classroom, room);。 (2)主要考查考生对函数返回值的掌握情况,根据函数要求:返回所在教室房号及函数要求返回的类型为 const char*,可以得出这里直接使用 return语句返回classroom即可。 (3)主要考查考生对构造函数的掌握情况,先看函数体

11、中: strcpy(my_id, the_id); strcpy(my_name, the_name); 可知只有参数 Class&the_class未使用,因此在这里使用成员列表初始化给my_class赋初始值。 (4)主要考查考生对成员函数调用的掌握,程序要求 062113班的教室由 521改换到 311。在类 Class中已经定义了函数: void changeRoomTo(const char*new_room),因此直接调用函数 changeRoomTo即可。 三、综合应用题 3 【正确答案】 1 for(int i=0; ilen; +i) 遍历对象 list中的数组和 d数组,把 对应的值相加后放到数组 dd中。 2 ddi =di+list di; 【试题解析】 主要考查考生对重载运算符的掌握,题目要求对两个数据表求和。程序已经定义了动态数组 dd,并已经分配好了空间,接下来只要运用循环语句完成元素相加并进行赋值即可。

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

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

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