1、国家二级 C+机试(操作题)模拟试卷 290及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6打开考生文件夹下的源程序文件 modi1cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: Number=8 注意:错误的语句在*error*的下面,修改该语句即可。#includeiostreamhclass CMyClasspublic: *error* voidGet() returnNumber; Void Set(int m) Number=m; void display() cout“Number=“Number
2、endl; private: int Number;Void main() int*p; *error* *error* p=tGet(); *p=8; tdisplay();(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.使用 VC6打开考生牛文件夹下的源程序文件 modi2cpp。阅读下列函数说明和代码。函数num(char*str)实现返回字符串中非数字的个数。 例如:abc123abc45 返回输出:6 将函数 num()b 充完整。 注意:请勿改动主函数。 #include int num(char*str) int main() char str1024; co
3、ut“please input a string: “国家二级 C+机试(操作题)模拟试卷 290答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6打开考生文件夹下的源程序文件 modi1cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: Number=8 注意:错误的语句在*error*的下面,修改该语句即可。#includeiostreamhclass CMyClasspublic: *error* voidGet() returnNumber; Void Set(int m) Number=m; void dis
4、play() cout“Number=“Numberendl; private: int Number;Void main() int*p; *error* *error* p=tGet(); *p=8; tdisplay();(分数:2.00)_正确答案:(正确答案:(1)void*Get() (2)添加语句:CMyClass t; (3)P=(int*)tGet();)解析:解析:(1)Get()的返回的是“returnNumber;”,即返回 Number的地址,主函数中 P为整型指针,但是“P=tGet();”有错误,因为 Get()函数返回的不是整型指针,而应该是空指针(void),
5、空指针可强制类型转换成其他类型的指针,第 1个标识下应改为“void*Get()”。 (2)由于 Get()函数返回空指针(void),要使 P指向 Get()函数的返回值,必须做强制类型转化,即第 3个标识下应改为“P=(int*)tGet():”。 (3)变量 t可以使用 Get()函数,说明 t为 CMyClass类对象。即第 2个标识下应添加对象定义,故第 2个标识下添加“CMyclass t;”。二、简单应用题(总题数:1,分数:2.00)2.使用 VC6打开考生牛文件夹下的源程序文件 modi2cpp。阅读下列函数说明和代码。函数num(char*str)实现返回字符串中非数字的个数。 例如:abc123abc45 返回输出:6 将函数 num()b 充完整。 注意:请勿改动主函数。 #include int num(char*str) int main() char str1024; cout“please input a string: “