[计算机类试卷]国家二级C++机试(操作题)模拟试卷411及答案与解析.doc
-
资源ID:497501
资源大小:32.50KB
全文页数:6页
- 资源格式: DOC
下载积分:2000积分
快捷下载

账号登录下载
微信登录下载
下载资源需要2000积分(如需开发票,请勿充值!)
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
[计算机类试卷]国家二级C++机试(操作题)模拟试卷411及答案与解析.doc
1、国家二级 C+机试(操作题)模拟试卷 411及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,该程序运行时有错,请改正错误,使得程序正确执行,并且输出以下语句: TestClass1: 0 TestClass2 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 *error*的下面。 #include struct TestClass1 TestClass1(int i=0) m_i=i; void print() cout int fun(char* s, int a) int main() int a1024;
2、int len=fun(“1234abcdef567“, a); for(int i=0; i Class Person public: *1* int i; for(i=0; sUserrNamei! =0; i+) m UserNamei= sUserrNamei; ) *2* m_Old=nOld; private: char m_UserName32; int m_Old; *3* ; void fun(char* s, Person&personl, Person&person2) *4* if( ) for(int i=0; personl m_UserNamei! =0; i+)
3、 Si =personl m_UserNamei; Si+1=0; else for(int i=0; person2 m_UserNamei! =0; i+) Si =person2 m_UserNamei; Si+1=0; void main() char S32; Person p1(“abc“, 20); Person p2(“def“, 30); fun(s, p1, p2); cout=0&siperson2 m_Old) 【试题解析】 (1)题目 1要求 “完成类的构造函数 ”。根据 “class Person”语句知道Person为类,所以类 Person的构造函数名为 Per
4、son,根据第 1个标识下的大括弧中的语句知道函数中的参数为数组 sUserrName存放姓名,整型 nOld存放年龄,所以补充构造函数定义为 “Person(char*sUserrName int nOld)”。 (2)题目 2要求 “完成构造函数对姓名的赋值 ”。根据 (1)中的分析,在第 2个标识下补全姓名赋值,即 “m UserNamei=0;。 (3)题目 3要求 “定义类的友元函数 fun()”。在 C+中,如果在本类以外的其它地方定义了一个函数,在类体中是用 friend对该函数进行声明的,此函数称为本类的友元函数 ,并且能够调用本类中的成员变量。程序中的 fun函数定义为 “void fun(char*s,Person&person1 Person&person2)”,所以声明 fun()为类 Person的友元函数,即这里补全 “friend void fun(char*s,Person&person1,Person&person2); ”。 (4)题目 4要求 “补充函数 fun()的年龄比较 ”。类 Person中年龄的变量为 m_Old,根据 C+中类变量的调用格式补充第 4个标识下, if判断中的条件语句,即“if(personl m_Oldperson2 m_Old)”。