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

账号登录下载
微信登录下载
下载资源需要2000积分(如需开发票,请勿充值!)
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
[计算机类试卷]国家二级C++机试(操作题)模拟试卷37及答案与解析.doc
1、国家二级 C+机试(操作题)模拟试卷 37及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modi cpp,该程序运行时有错误,请改正错误,使得程序正常运行,并且要求最后一个 catch()必须抛出执行的任何异常。 程序通过抛出异常输出: error ERROR 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 *error*的下面。 1 #include 2 int main() 3 4 try 5 f 6 throw(“error“); 7 8 *error* 9 catch(char S) 10 11 cout 2 #inclu
2、de 3 int factorial(int n) 4 5 6 7 void main() 8 9 cout 2 #include 3 USing namespace std; 4 class TestClassl 5 6 *1* 7 8 public: 9 *2* 10 11 12 X=a; 13 Y=b; 14 15 *3* 16 17 18 X=a; 19 Y=0; 20 21 void print() 22 23 cout1时,此时递归函数调用自己,即 factorial(n)=n*factorial(n 1),此时的函数的返回值是 n*factorial(n-1),如此来实现递归调用
3、。 三、综合应用题 3 【正确答案】 (1)添加语句: friend class TestClass2 ; (2)添加语句: TestClassl(float a, float b) (3)添加语句: TestClassl(float a) (4)添加语句: result=sqrt(p X-q X)*(p Xq X)+(p Yq Y)*(p Yq Y); 【试题解析】 在 VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已给定源程序的 main主函数开始入手,可以看出程序通过调用类 TestClass实现各种输出操作。 解题思路 (1)题目 1要求 “
4、声明 TestClass2类为 TestClassl类的友元类 ”。 C+中声明友元类的一般形式为 friend类名;,所以这里补全 “friend class TestClass2; ”。 (2)题目 2要求 “完成类的构造函数,分别对成员变量赋值 ”。程序中 TestClassl类的构造函数缺少定义,构造函数首部的一般格式为:构造函数名 (类型 l形参 1,类型 2形参 2, ) ,所以在第 2个标识下补全 “TestClassl(float a, float b)”。 (3)题目 3要求 “完成类的构造函数,分别对成员变量赋值 ”。同理,第三个标识下补全 “TestClassl(float a)”。 (4)题目 4要求 “完成计算平面上两点之间的距离函数 Distance”。题目中已经给出了计算方法, X坐标之差的平方与 Y坐标之差的平方之和的开方。利用 C+中的开方函数 sqn补全函数中的两点之间的距离。即 “result=sqrt(p X-q X)*(p X-q X)+(p Y-q Y)*(p Y-q Y); ”。