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

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

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

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

基本操作题

1.请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中包含程序文件main.cpp,其中有类Foo和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:

X=a

Y=42

注意:只修改每个“//ERROR*********found*********”下的那一行,不要改动程序中的其他内容。

#include

using namespace std;

class Foo{

public:

Foo(char x){x =x;}

char getX()const{return x;}

public:

static int y_;

private:

char x;

};

//ERROR *********found*********

int Foo.y_=42;

int main(int argc,char*argV

[])

{

//ERROR*********found*********

Foo f;

//ERROR *********found*********

tout;<< \\

(1)int Foo::y_=42;

(2)Foo f(’a’);

(3)cout<<\\

解析:(1)主要考查考生对静态成员的掌握,因为静态整型变量y_是Foo类的公有成员,所以给y_赋值时要加上“Foo::”,即int Foo::y_=42;。

(2)主要考查考生对构造函数的掌握,题目要求程序输出:

X=a

Y=42

可以知道,在给Foo类的f声明时要同时初始化为字符a,即语句Foo f(’a’);。

(3)主要考查考生对成员函数的掌握,因为x是类Foo的私有成员,所以不能在main函数中直接调用,要通过公有成员函数getX()调用。

简单应用题

2.请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有矩阵基类MatrixBase、矩阵类Matrix和单位阵UnitMatrix的定义,还有main函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:

1 2 3 4 5

2 3 4 5 6

3 4 5 6 7

1 0 0 0 0 0

0 1 0 0 0 0

0 0 1 0 0 0

0 0 0 1 0 0

0 0 0 0 1 0

0 0 0 0 0 1

注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。

#1nclude

using namespace std;

//矩阵基础类,一个抽象类

class MatrixBase{

int rows,cols;

public:

MatrixBase(int rows,int cols):rows(rows),cols(cols){}

int getRows()const { return rows;} //矩阵行数

int getCols()const{return cols;} //矩阵列数

virtual double getElement(int r,int c)const=0;//取第i个元素的值

void show()const{

//分行显示矩阵中所有元素

for(int i=0 ; i<rows;i++){

cout<<endl;

for(int j=0;j<cols;j++)

//********found********

cout<<__________<<\\

(1)get:Element(i,j)

(2)MatrixBase(rows,cols)

(3)new double[rows*cols]

(4)r==c

解析:(1)主要考查考生对纯虚函数的掌握,函数功能是分行显示矩阵中所有元素。因此在这里要输出行为i、列为j的元素,使用纯虚函数getElement(i,j)实现,输出语句为cout<<getElement(i,j)<<\\

综合应用题

3.请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,其中定义了用于表示特定数制的数的模板类Number和表示一天中的时间的类TimeOfDay;程序应当显示:

01:02:03.004

06:04:06.021

但程序中有缺失部分,请按照以下的提示,把缺失部分补充完整:

(1)在“//**1** *****found****”的下方是一个定义数据成员seconds的语句,seconds用来表示“秒”。

(2)在“//**2** ****found****”的下方是函数advanceSeconds中的一个语句,它使时间前进k秒。

(3)在“//**3** ****found****”的下方是函数advance中的一个语句,它确定增加k后n的当前值和进位,并返回进位。例如,若n的当前值是表示时间的55分,增加10分钟后当前值即变为5分,进位为1(即1小时)。

注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“****found****”。填写的内容必须在一行中完成,否则评分将产生错误。

//proj3.cpp

#include

#include

using namespace std;

template //数制为base的数

class Number

{

int n; //存放数的当前值

public:

Number(int i)-n(i){}//i必须小于base

int advance(int k);//当前值增加k个单位

int value()const{return n;}

//返回数的当前值

};

class TimeOfDay{

public:

Numberhours; //小时(0~23)

Numberminutes; //分(0~59)

//**1** *******found*******

________;//秒(0~59)

Numbermilliseconds;

//毫秒(0~999)

TimeOfDay(int h=0,int m=0,

int s=0,int milli=0)<

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号