1、国家二级 C+机试(操作题)模拟试卷 376及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: Number=8 注意:错误的语句在 *error*的下面,修改该语句即可。 #include class CMyClass public: *error* void&Get() return&Number; void Set(int m) Number=m; void display() cout int amicableNum(int n) int sum=0; for(int i=1; i
2、 #include #deflne MAXLEN 20 class CEmployee private: *1* int age; public: CEmployee (char*newName, zhar *newStreet, char *newCt, char*newZp, int newAge); void alterName(char*newName); void display(); bool IsEqual(char*ename); ; CEmployee: CEmployee (char *newName, char *newStreet, char *newCt, char*
3、newZp, int newAge) *2* age=newAge; void CEmployee: alterName(char *newName) *3* bool CEmployee: IsEqual (char*ename) *4* void CEmployee: display() cout name “ ” Street“ ”; cout city “ ”zipcode“”ageendl; void main(void) CEmployee employee4= CEmployee(“李伟 ”, “兴荣路 21 3号 ”, “兰州 ”, “4 1 3412”, 21), CEmpl
4、oyee(“张 星 ”, “南山街 1 57号 ”, “贵州 ”, ”53 4 67 0”, 30), CEmployee(“赵曦 ”, ”北大街 108号 ”, “深圳 ”, ”412440”, 4 3), CEmployee(“刘兰 ”, “南大街 33 0号 ”, “北京 ”, ”67 0 8 93”, 1 7), ; for(int i: 0; i4; i+) employeei display(); cout“ n修改 ”张星 “的名字为 “刘新 ” n”end1; for(int j=0; J4; J+) if(employeej IsEqual(“张星 ”) employeej
5、alterName(“刘新 ”); employeej display(); break; 国家二级 C+机试(操作题)模拟试卷 376答案与解析 一、基本操作题 1 【正确答案】 (1)void*Get() (2)添加语句: CMyClass t; (3)p=(int*)t Get(); 【试题解析】 程序中 定义了类 CMyClass,含有一个成员变量 Number, Get()返回 Number的地址 (指针 ), Set(int m)函数可改变成员变量的值, display()函数在屏幕上打印 Number的值。 二、简单应用题 2 【正确答案】 if(amicableNum(m)=n
6、 amicableNum(n)=m) return 1; retumR 0; 【试题解析】 函数 amicableNum(int m, int n)判定两个数是否是亲和数,亲和数指两个数的因子 (除去本身 )和分别是对方,因此在判断 亲和数时先求这两个数的因子和,然后比较便可知是否是亲和数。 三、综合应用题 3 【正确答案】 (1)添加语句: char nameMAXLEN, streetMAXLEN, cityMAXLEN, zipcodeMAXLEN; (2)添加语句: strcpy(name, newName); strcpy(street, newStreet); strcpy(city, newct); strcpy(zipcode, newZp); (3)添加语句: strcpy(name, newName); (4)添加语句: return strcmp(name, ename)=0; 【试题解析】 程序中定义了一个表示雇员的类 CEmployee,该类定义了私有数据成员 name、 street、 city、 zipcode和 age分别用于表示姓名、街道、城市、邮编、年龄,同时定义了四个函数包括构造函数以及三个成员函数,分别实现更改雇员姓名,判断雇员姓名以及显示雇员信息功能。