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

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

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

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

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:

10

TestClass1

注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。

1 #include<iostream>

2 Class TestClass1

3 {

4 public:

5 TestClass1(){

6 };

7 //********error+********

8 private:

9 virtual~TestClass1()

10 {

11 using namespace std;

12 cout<<’’TestClass1’’<<end1;

13 };

14 };

15 class TestClass2:public TestClass1

16 {

17 public:

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

19 explicit TestClass2(int i)

20 {

21 m_i=i;

22 };

23 TestClass2& operator()(int i)

24 {

25 this一>m_i=i;

26 }

27 void print()

28 {

29 //********error********

30 cout<<m_i<<end1;

31 }

32 private:

33 int m_i;

34 };

35 void fun(TestClass2 C1)

36 {

37 C1.print();

38 }

39 int main()

40 {

41 fun(10);

42 return 0;

43 }

(1)删除“private:”语句

(2)TestClass2(int i)

(3)std::cout<<m_i<<std::end1;

解析:程序要求输出值为10,TestClass1。从己给定源程序的main主函数开始入手,main主函数首先调用fun函数,fun调用TestClass2中的print()函数,其中TestClass2继承了TestClass1。

(1)第1个标识下的“virtual~TestClass1()”语句是TestClass1()析构函数,不是私有函数,所以删除“private:”。

(2)“explicit TestClass2(int i)”构造函数语句中的“explicit”是禁止隐式转换。程序中无法实现对类TestClass2的直接使用,所以这里应该将其删除。即“TestClass2(int i)”。

(3)第3个标识下实现,fun函数中m_i的标准输出,即在屏幕上输出10。在程序中用到C++标准库时,要使用std标准命名空间进行限定。cout为标准库函数,所以要声明cout是在命名空间std中定义的流对象,即“std::cout<<m_i<<std::end1;”或者添加“using namespace std;”。

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int x),该函数功能是将x的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。

例如:x=13,13的二进制数字为1101,则输出到屏幕的为1101。

注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

1 #include<iostream>

2 #include<fstream>

3 #include<cmath>

4 using namespace std;

5 void WriteFile(char* str)

6 {

7 Ofstream out1;

8 out1.open(’’modi2.txt’’,ios_base::binary|ios_base::app);

9 for(int i=0;str[i]!=0;i++)

10 out1.put(str[i]);

11 out1.close();

12 }

13 void fun(int x)

14 {

15

16 }

17 void ClearFile()

18 {

19 ofstream out1;

20 out1.open(’’modi2.txt’’);

21 out1.close();

22 }

23 int main()

24 {

25 ClearFile();

26 fun(13);

27 return 0;

28 }

1 char str[32];

2 int i;

3 for(i=30;i>=0; i–)//计算二进制

4 {

5 if(x%2)str[i]=’1’; //求余,如果余不为零字符串str第i位为1

6 else str[i]=’0’; //否则为0

7 x>>=1;

8 if(!x)break;

9 }

10 str[31]=’\0’; //串加尾符

11 tout<<&str[i]<<end1;

12 WriteFile(&str[i]);

解析:(1)该程序功能是实现十进制转换成二进制数。十进制到二进制的转换是对十进制的数字进行2的取余运算,余数不为零则取1,否则为0,然后对余数进行循环取余运算,直到余数为0。

(2)从已给部分源程序的main主函数开始入手,核心函数fun(int x)中的x参数为输入的十进制数。

(4)定义存放二进制的字符串str。

(5)然后利用for循环对十进制数字x进行取余运算,直到余数为0结束。

(6)如果取余结果为0,则二进制字符串这个字符位的值为0,否则为1。

(7)最后调用WriteFile将运算结果存入文件。

综合应用题

3.用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了多个类,但类不能达到输出要求,按照定义的输出修改函数,使得输出如下:

TestClass3

TestClass2<

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号