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

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

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

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

基本操作题

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

100

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

#include

static int x=50;

int t=0;

int*func(int x,int y,int z)

{

t=t+x+y+z;

//********error********

return t;

};

Void main()

{

int y=30;

int x=10;

int z=20;

//********error********

x=x;

//********error********

cout<<func(x,y,z)<<endl;

}

(1)return&t;

(2)X=::x;

(3)cout<<*func(x,y,z)<<endl;

解析:(1)由审题分析可知,函数func(int x,int y,int z)返回的是整型数据指针,而第1个标识下的return t表示返回一个整型数据,和要求的返回数据类型不匹配,应改为“return&t;”。

(2)第2个标识下x=x表示局部变量x自己给自己赋值,调用func(x,y,z)函数后,返回的运算结果是30+10+20=60,与输出100不同,而全局静态变量x值为50,30+50+20=100,刚好满足条件,因此第2个标识下是将全局静态变量x的值赋给局部变量x,即第2个标识下应该为“X=::x;”,“::”表示的是引用全局变量。

(3)func(x,y,z)返回一个整型数据指针,通过该指针可以得到运算结果,而cout<<func(x,y,z)输出的fun(x,y,z)返回的地址值(变量t的地址值),而不是该地址内存储的变量的值(t的值),运行程序后会发现输出的是奇怪的一串数字,而不是我们所想要的100,应加上取指针运算符“*”,*func(x,y,z)为变量t,故第3个标识下应改为“tout<<*func(x,y,z)<<endl;”。

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*s),该函数完成以下功能:

(1)把s中的大写字母转换成小写字母,把其中的小写字母转换成大写字母。并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。

例如:s=\\

(1)void WriteFile(char*s)中的命令语句:

ofstream out1,t

out1.open(\\

解析:(1)在WriteFile(char*s)函数中,利用标准流ofstream实现字符串写入文件modi2.txt。

(2)在fun函数中,利用for循环逐个判断字符是大写还是小写。

(3)如果是大写,那么加上32实现大写转换为小写。否则,就减去32,实现小写到大写的转换。最后调用前面实现的WriteFile函数,将字符串写入文件。

综合应用题

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

TestClass3

TestClass2

TestClass1

其中定义的类并不完整,按照要求完成下列操作,将类的定义补充完整。

(1)类TestClass2公共继承于TestClass1,请在注释//********1********后添加适当的语句。

(2)print函数为虚函数,请在注释//********2********后添加适当的语句。

(3)修改语句,使得P指定对象obj3,请在注释//********3********后添加适当的语句。

(4)修改语句,利用P调用print()函数,完成输出信息,注释//********4********后添加适当的语句。

注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

#include

using namespace std;

Class TestClass1

{

public:

void print(){

cout<<\\

(1)将“class TestClass2”补充完整为:Class TestClass2:public TestClass1

(2)将“void print()”补充完整为:virtual void print()

(3)将“p=obj3;”修改为:p=&obj3;

(4)将“p.print();”修改为:p->print();

解析:(1)题目1要求“类TestClass2公共继承于TestClass1”。从已有的类产生一个新的子类,成为类的派生。声明派生类的一般形式为:class派生类名:[继承方式]基类名。根据题目中的要求以及派生类的一般形式,第1个标识下添加语句“classTestClass2:public TestClass1 990

(2)题目2要求“print函数为虚函数”。在C++中,用virtual声明的函数为虚函数,因此第2个标识下的语句修改为“virtual void print()”。

(3)题目3要求“使得P指定对象obj3”。p为指针变量,obj3为类的对象,将一个指针变量指向另一个变量,只要把被指向的变量的地址赋给指针变量即可。取对象obj3地址的语句为&obj3,所以这里补全“p=&obj3;”。

(4)题目4要求“利用P调用print()函数”。C++中用\\

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号