1、国家二级 C+机试(操作题)模拟试卷 398及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6打开考生文件夹下的源程序文件 modilcpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: number1=48 number2=936 number3=09 PRODUCT=4043 52 注意:错误的语句在*error*的下面。 修改该语句即可。其他的语句不能修改。 #include using namespace Std; int msin() double number1=48,number2=936,number3=09
2、; *error* Droduct=number1*number2*n umber3; *error* cout t number2 _二、简单应用题(总题数:1,分数:2.00)2.使用 VC6打开考生文件夹下的源程序文件 modi2cpp。请完成函数 fun(int x),该函数功能是将 x的值转换成二进制数输出到屏幕,并且在函数中调用写函数 WriteFile()将结果输出到 modi2txt 文件中。例如:x=13,13 的二进制数字为 1101,则输出到屏幕的为 1101。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 #include #include
3、#include using namespace std; void WriteFile(char*str) ofstream outl; outlopen(“modi2txt”,ios base:binary iosbase:app); for(int i=0;stri!=0; i+) out1put(stri); out1close(); void fun(int x) void ClearFile() Ofstream out1; out1open(“modi2txt”); out1close(); int main() ClearFile(); fun(1 3); return 0;
4、(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.使用 VC6打开考生文件夹下的源程序文件 modi3cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: 每卖出一个瓜,则计算瓜的重量,还要计算所有卖出瓜的总重量以及总个数,同时允许退货,请按照以下的操作,把类补充完整 (1)定义类 Cmelon的私有静态数据成员float型变量 totalweight和 int型变量 totalNo,请在注释*1*后添加适当的语句。 (2)完成类 Cmelon的带一个 float型变量 W的构造函数,并把这个 W加到 totalweight中,并且 total
5、No自加。请在注释*2*后添加适当的语句。 (3)在析构函数中,在 totahveight中减去weight,然后 totalNo自减,请在注释*3*后添加适当的语句。 (4)完成静态成员变量的初始化为 0,请在注释*4*后添加适当的语句。 注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。 #inClude class Cmelon private: float weight; *1* static int totaINo; public: Cmelon(flcat w) *2* totalweight+=w; totaiNo+; Cmelon() *3* to
6、talweight一=weight; void display() tout “Sell a melon with”weight“kg”totalNo “Total sell weight:”totalweightendl_国家二级 C+机试(操作题)模拟试卷 398答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6打开考生文件夹下的源程序文件 modilcpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: number1=48 number2=936 number3=09 PRODUCT=4043 52 注意:错误的语句在*
7、error*的下面。 修改该语句即可。其他的语句不能修改。 #include using namespace Std; int msin() double number1=48,number2=936,number3=09; *error* Droduct=number1*number2*n umber3; *error* cout t number2 _正确答案:(正确答案:(1)double prduct=numbe_r1*number2*number3; (2)cout “number1=”number1t “number2=” number2 t; (3)coutnumber3tend
8、1;)解析:解析:程序内容比较简单,要求在屏幕上输出三个变量值和这三个变量的乘积值,可编译程序按照提示来找到错误处修改调试,按照要求来修改程序。二、简单应用题(总题数:1,分数:2.00)2.使用 VC6打开考生文件夹下的源程序文件 modi2cpp。请完成函数 fun(int x),该函数功能是将 x的值转换成二进制数输出到屏幕,并且在函数中调用写函数 WriteFile()将结果输出到 modi2txt 文件中。例如:x=13,13 的二进制数字为 1101,则输出到屏幕的为 1101。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 #include #incl
9、ude #include using namespace std; void WriteFile(char*str) ofstream outl; outlopen(“modi2txt”,ios base:binary iosbase:app); for(int i=0;stri!=0; i+) out1put(stri); out1close(); void fun(int x) void ClearFile() Ofstream out1; out1open(“modi2txt”); out1close(); int main() ClearFile(); fun(1 3); return
10、 0; (分数:2.00)_正确答案:(正确答案:char str32; int i; for(i=30;i=0;i 一一)计算二进制 if(x2)stri=1; 求余,如果余不为零字符串 str第 i位为 1 el se stri=0; 否则为 0 x=1; if(!x)break; str31=0; 串加尾符 coutStriend1; WriteFile(stri);)解析:解析:(1)该程序功能是实现十进制转换成二进制数。十进制到二进制的转换是对十进制的数字进行 2的取余运算,余数不为零则取 1,否则为 0,然后对余数进行循环取余运算,直到余数为 0。 (2)从己给部分源程序的 mai
11、n主函数开始入手,核心函数 fun(int x)中的 x参数为输入的十进制数。三、综合应用题(总题数:1,分数:2.00)3.使用 VC6打开考生文件夹下的源程序文件 modi3cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: 每卖出一个瓜,则计算瓜的重量,还要计算所有卖出瓜的总重量以及总个数,同时允许退货,请按照以下的操作,把类补充完整 (1)定义类 Cmelon的私有静态数据成员float型变量 totalweight和 int型变量 totalNo,请在注释*1*后添加适当的语句。 (2)完成类 Cmelon的带一个 float型变量 W的构造函数,并
12、把这个 W加到 totalweight中,并且 totalNo自加。请在注释*2*后添加适当的语句。 (3)在析构函数中,在 totahveight中减去weight,然后 totalNo自减,请在注释*3*后添加适当的语句。 (4)完成静态成员变量的初始化为 0,请在注释*4*后添加适当的语句。 注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。 #inClude class Cmelon private: float weight; *1* static int totaINo; public: Cmelon(flcat w) *2* totalweight+
13、=w; totaiNo+; Cmelon() *3* totalweight一=weight; void display() tout “Sell a melon with”weight“kg”totalNo “Total sell weight:”totalweightendl_正确答案:(正确答案:(1)添加语句:static float totalweight: (2)添加语句:weight=w; (3)添加语句:totaiNo 一一; (4)添加语句:int Cmelon:totalNo=0;)解析:解析:程序中定义了 Cmelon类,包含 totalweight和 totalNo两个静态变量和 float型变量weight,分别表示卖出瓜的总重量、总个数和该瓜的重量,每定义一个 Cmelon对象表示卖出去了一个瓜,在构造函数中计算瓜的总重量和总个数,display 函数打印基本信息,包括瓜的重量、总重量和总个数。