[计算机类试卷]国家二级C++机试(操作题)模拟试卷275及答案与解析.doc

上传人:周芸 文档编号:497349 上传时间:2018-11-28 格式:DOC 页数:6 大小:32KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(操作题)模拟试卷275及答案与解析.doc_第1页
第1页 / 共6页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷275及答案与解析.doc_第2页
第2页 / 共6页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷275及答案与解析.doc_第3页
第3页 / 共6页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷275及答案与解析.doc_第4页
第4页 / 共6页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷275及答案与解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、国家二级 C+机试(操作题)模拟试卷 275及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modi1 cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: m=-10 n=-10 p=0 q=-10 z=A 注意:错误的语句在 *error*的下面,修改该语句即可。 #include iostream h void main() double m=10; float n=10; bool p=1; int q=10; char z=a; m=-m; *error* n= n; *error* p=-p; *error* q= q; z=z-32;

2、cout “m=“ m endl; cout “n=“ n endl; cout “p=“ p endl; cout “q=“ q endl; cout “z=“ z endl; return; 二、简单应用题 2 使用 VC6打开考生文件夹下的源程序文件 modi2 cpp。阅读下 列函数说明和代码,补充空出的代码。程序的功能是寻找 1 500以内的亲和数并显示出来,函数amicableNum(int m, int n)判定两个数是否是亲和数。 亲和数的定义为:两个数 m和 n,如果 n的所有因子之和 (因子除掉自身 )等于 m,且 m的所有因子等于 n,则 m、 n是互为亲和数。 注意:不

3、能修改程序的其他部分,只能补充 amicableNum(int m, int n)函数。 #include iostream h int amicableNum(int n) int sum=0; for(int i=1; i n; i+) if(n i=0) sum+=i; return sum; bool amicableNum(int m, int n) void main() cout “1 500以内的亲和数有: “ endl; for(int i=1; i 500; i+) for(int j=i+1; j 500; j+) if(i!=j) if(amicableNum(i, j

4、)=1) cout i j endl; return; 三、综合应用题 3 使用 VC6打开考生文件夹下的源程序文件 modi3 cpp,其中定义了用于表示矩形的 CRect类,但类 CRect的定义并不完整。请按要求完成下列操作,将类 CRect的定义补充完成。 (1)定义私有数据成员 lefiPoint、 topPoint、 rightPoint、 bottomPoint,分别用于表示矩形左上角及右下角的点的坐标,它们都是 double型的数据。请在注释*1*之后添加适当的语句。 (2)完成默认构造函数 CRect的定义,指定缺省实参为 0,都是 double型的数据。请在注释 *2*之后

5、添加适当的语句。 (3)定义函数体为空的析构函数。请在注释 *3*之后添加适当的语句。 (4)在 main()函数中定义 CRect类的实例 rect2,并把 rectl的值赋给 rect2。请在注释 *4*之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 #include iostream h class CRect private: *1* public: *2* *3* void SetPoints(double, double, double, double); void SetLeftPoint(double m)leftPoint=m; void

6、SetRightpoint(double m)rightPoint=m; void SetToppoint(double m)topPoint=m; void SetBottomPoint(doublem)bottomPoint=m; void Display(); ; CRect: CRect(double1, double t, double r, double b) leftPoint=1; topPoint=t; rightPoint=r; bottomPoint=b; void CRect: SetPoints(double1, double t, double r, double

7、b) leftPoint=1; topPoint=t; rightPoint=r; bottomPoint=b; void CRect: Display() cout “left-top point is(“ leftPoint “, “ topPoint “)“ n; cout “right-bottom point is(“ rightPoint “, “ bottomPoint( “)“ n; void main() CRect rect0; rect0 Display(); rect0 SetPoints(20, 20 6, 30, 40); rect0 Display(); CRec

8、t rectl(0, 0, 150, 150); rectl SetTopPoint(10 5); rectl SetLeftPoint(10 5); *4* rect2 Display(); 国家二级 C+机试(操作题)模拟试卷 275答案与解析 一、基本操作题 1 【正确答案】 (1)n=-n; (2)p=!p; (3)q=-q; 【试题解析】 (1)程序中定义了多个变量,并做了一些基本的运算 处理。 (2)由题目要求的运行结果可知,第 1个标识下和第 3个标识下是对变量 n和 q取反,求。个正数的相反数可以通过算数运算符 “-”得到,第 1个标识下和第 3个标识下应分别改为 “n=-n;

9、 ”和 “q=-q; ”,即只需要通过负号运算就可以实现。 (3)从题目要求输出的结果来分析,第 2标识下是对逻辑变量 p取反,对一个逻辑变量求反应该用取反运算符 “!”,第 2个标识下应改为 “p=!p”。 二、简单应用题 2 【正确答案】 if(amicableNUm(m)=n &amicableNum(n)=m) return1; return0; 【试题解析】 (1)程序中定义了两个 amicableNum()函数,由于参数个数不同重载了 amicableNum()函数,函数 amicableNum(int n)返回 n的因子和,而函数amicableNum(int m, int n)

10、则是判断 m和 n是不是亲和数,两个函数功能并不相同。 (2)在 amicableNum(int m, int n)函数中,可调用 amicableNum(int n)函数求 m和n的因子和,然后比较两个因子和,如果两个因子和相同则返回真,否则返回假。 三、综 合应用题 3 【正确答案】 (1)添加语句: double leftPoint, topPoint, rightpoint,bottomPoint; (2)添加语句: CRect(double leftPoint=0, double topPoint=0, double rightPoint=0,double bottomPoint=0

11、); (3)添加语句: CRect(); (4)添加语句: CRect rect2(rect1); 【试题解析】 (1)第 1个标识下完成私有数据成员 lefiPoint、 topPoint、rightPoint、 bottomPoint的定义,均为 double型的变量,故第 1个标识下应添加“double leftPoint, topPoint, rightPoint, bottomPoint; ”。 (2)构造函数完成成员变量的初始化,类 CRect的默认构造函数并初始化 double型私有数据成员 leftPoint、 topPoint、 rightPoint、 bottomPoint

12、为 0,故第 2个标识下应添加 “CRect(double lettPoint=0, doubletopPoint=0, double rightPoint=0,double bottomPoint=0); ”。 (3)析构函数名和类名一致,并在前面加 “ ”以和构造函数区别,该析构函数体为空,故第 3个标识下应添加 “ CRect(); ”,虽然该函数体为空,但是 “”必须保留。 (4)主函数中类 CRect的对象 rect2是通过复制构造函数将 rect1的值赋值给它实现初始化的,而 rect1的初始化直接调用自定义构造函数,第 4个标识下应添加“CRectrect2(rect1); ”。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1