首页 > 全部 > 二级C++ > 国家二级C++机试(操作题)模拟试卷541

国家二级C++机试(操作题)模拟试卷541

本单篇文档共5322字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 章节练习 5385人下载
价格: 1.00 原价:¥9.60
收藏

国家二级C++机试(操作题)模拟试卷541

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为:

OK

注意:错误的语句在//******error******的下面,修改该语句即可。

1 #include<iostream.h>

2 class CBase

3 {

4 public:

5 CBase()

6 {

7 a=b=0;

8 }

9 private:

10 int a,b;

11 };

12 class CDerive1:public CBase

13 {

14 public:

15 CDerivel()

16 {

17 }

18 //******error******

19 virtual void func();

20 };

21 class CDerive2:public CDerive1

22 {

23 public:

24 CDerive2()

25 {

26 a=0;

27 b=0;

28 }

29 void func()

30 {

31 //******error******

32 cout<<’’OK’’<end1;

33 }

34 private:

35 int a;

36 int b;

37 };

38 void main()

39 {

40 CDerive2 obj;

41 //******error******

42 CDerive1 *p =(CDerivel*)obj;

43 p->func();

44 }

(1)virtual void func()=0;

(2)cout<<’’OK’’<<end1;

(3)CDerivel *p=(CDerive1 *) &obj;

解析:程序中定义了类CBase、CDerive1和CDerive2,类CDerive1公有派生于类CBase,CDerive2公有派生于类CDerive1,在类CDerive1中定义了虚函数func(),但是没有给出具体实现,派生类CDerive2中给出了func()函数的具体实现,因此CDerive1类中的func()函数是纯虚函数。

(1)由审题分析可知,CDerive1类中的func()函数是纯虚函数,纯虚函数的定义格式为:virtual<函数类型><函数名>(<参数表>)=0,因此第1个标识下应为“virtual void func()=0;”。func()函数没有参数表。

(2)编译程序后发现第2个标识下有错误,cout流中的数据是用流插入运算符“<<”顺序加入的,因此“<”不正确,应改成“cout<<\\

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数func(int d[],int n)的功能是将长度为num的数组d的每一个数字是奇数的扩大l倍,并存储到数组d中。

例如:1 2 3 4 5 6 7 8 9

返回:2 2 6 4 10 6 14 8 18

将fune(int d[],mt num)补充完整。

注意:请勿改动主函数。

1 #include<iostream.h>

2 void func(int d[],int num)

3 {

4

5 }

6 int main()

7 {

8 int Data[]={1,2,3,4,5,6,7,8,9};

9 func(Data,9);

10 for(int i=0,i<sizeof(Data)/sizeof(int);i++)

11 {

12 cout<<Data[i]<<’ ’;

13 }

14 cout<<end1;

15 return 0;

16 }

1 for(int i=0;i<num;i++)

2 {

3 if(d[i]%2!=0)

4 d[i]=2*d[i];

5 }

解析:函数func(int d[],int n)功能是将长度为num的数组d的每一个数字是奇数的扩大1倍,并存储到数组d中,因此可利用循环来查找该数组,如果该元素为奇数则变为原来的两倍。

(1)由审题分析可知,利用循环来逐个判断d[]中的元素,d[]中元素个数为num,因此循环变量从0变化至num。

(2)在循环内,用if判断该元素是不是奇数,即if(d[i]%2!=0),将满足条件的d[i]扩大一倍。

综合应用题

3.使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:

(1)完成CMyClass的构造函数,请改正注释//********1********后的错误。

(2)完成func()函数定义,请改正注释//********2********的错误。

(3)初始化CmyClass的成员变量Number3为4,请改正注释//********3********后的错误。

(4)完成func()函数,请改正注释//********4********后的错误。

输出的结果为:

Number1=12

Number2=18

Number3=16

Number1=4

Number2=2

Number3=19

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

1 #include<iostream.h>

2 class CMyClass

3 {

4 public:

5 //********1********

6 CMyClass(int i,int j)

7 {

8 Number1=i;

9 Number3+=i;

10 }

11 void display()

12 {

13 cout<<’’Number1=’’<<Number1<<end1;

14 cout<<’’Number2=’’<<Number2<<end1;

15 cout<<’’Number3=’’<<Number3<<end

本文档预览:3600字符,共5322字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C++机试(操作题)模拟试卷541

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号