1、国家二级 C+机试(操作题)模拟试卷 423及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为: TestClass2 TestClass3 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 *error*的下面。 #include Class TestClass1 public: virtual void fun()=0; ; class TestClass2: public TestClass1 *error* int fun() using
2、 namespace std; coutfun(); obj2 fun(); return; 二、简单应用题 2 使用 VC6打开考生文件夹下的源程序文件 modi2 cpp。阅读下列函数说明和代码,完成空出部分程序,使函数 fun()实现以下功能:找出一个整数,它加上 100后是一个完全平方数,再加上 268又是一个完全平方数,请问该数是多少 ? 程序分析:在 10万以内判断,先将该数加上 100后再开方,再将该数加上 268后开方,如果开方后的结果满足条件,即是结果。 #include #include void fun() int main() fun(); return 0; 三、综合
3、应用题 3 使用 VC6打开考生文件夹下的源程序文件 modi3 cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义纯虚类 TestClass0,包含纯虚函数 fun(),请在注释*1*后添加适当的语句。 (2)完成类 TestClass1,以公有继承 TestClass0,请在注释 *2*后添加适当的语句。 (3)定义 TestClass0对象指针 p,请在注释 *3*后添加适当的语句。 (4)把 TestClass1的对象 obj的指针赋给 TestClass0指针 P,请在注释*4*后添加适当的语句。 注意:增加代码,或者修改代码的位置已经用
4、符号表示出来。请不要修改其他的程序代码。 #include Class TestClass0 public: *1* ; *2* class TestClass1 public: void fun() coutfun()j return 0; 国家二级 C+机试(操作题)模拟试卷 423答案与解析 一、基本操作题 1 【正确答案】 (1)void fun() (2)添加语句: public: (3)std: cout“TestClass3 “std: end1;或者添加 using namespace std; 【试题解析】 (1)fun()函数是没有返回值的,而第 1个标识下的 “int f
5、un()”语句中定义的 funO函数是有 int型返回值的,所以将其修改为 “void fun()”。 (2)第 2个标识下的 fun()函数,没有被定义为 public型,所以外部其他成员无法访问,只能是类本身访问,所以添加 “public: ”。 (3)在程序中用到 C+标准库时,要使用 std标准命名空间进行限定。第三个标识下 cout为标准库函数,所 以要声明 cout是在命名空间 std中定义的流对象,即为“std: cout”TestClass3”std: end1; ”或者添加 “using namespace std; ”。 二、简单应用题 2 【正确答案】 long int
6、i, x, y, z; for(i=i; i100000; i+) x=aqrt(i+100); x为加上 100后开方后的结果 y=aqrt(i+268); y为再加上 268后开方的结果 if(x*x=i+100&y*y=i+268) 如果 一个数的平方根的平方等于该数, 说明此数是完全平方数 coutiend1; 【试题解析】 (1)利用循环找到满足条件的整数。 (2)首先计算 x加上 100和 y加上 268的开方。 (3)一个数的平方根的平方等于该数,说明此数是完全平方数。 三、综合应用题 3 【正确答案】 (1)添加语句: virtual void fun()=0; (2)将 “c
7、lass TestClass1”补充完整为: class TestClass1: public TestClass0 (3)添加语句: TestClass0* p; (4)添加语句: p=&obj; 【试题解析】 (1)题目 1要求 “定义纯虚类 TestClass0”。在 C+中,虚函数在基类用 virtual声明类为虚类。纯虚类是在声明虚类时被 “初始化 ”为 0的函数。所以第1个标识下应添加 “virtual voidfun0=0; ”。 (2)题目 2要求 “完成类 TestClass1,以公有继承 TestClass0”。公有继承是在定义一个派生类时将基类的继承方式指定为 public的,称为公用继承。所以这里补全“class TestClass1: public TestClass0”。 (3)题目 3要求 “定义 TestClass0对象指 p”。定义类的对象指针变量,一般的格式为:类名指针变量,所以这里添加 “TestClass0*p; ”。 (4)题目 4要求 “把 TestClass1的对象 obj的指针赋给 TestClass0指针 p”。将指针指向的对象赋值给另一个指针,其实是将其地址指向另一个指针的地址,所以使用取地址运算符 “&”,即在第四个符号下添加语句 “p=&obj; ”。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1