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

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

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

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

基本操作题

1.请打开考生文件夹下的解决方案文件proj1,程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:Name:Smith Age:21 ID:99999 CourseNum:12 Record:970

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

#include<iostream>

using namespace std;

class StudentInfo

{

protected:

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

char Name;

int Age;

int ID;

int CourseNum;

float Record;

public:

StudentInfo(char*name,intAge,int ID,int courseNum,float record);

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

VOid~StudentInfo( ){}

float AVerageRecord( ){

return Record/CourseNum;

}

void show( )const{

cout<<\\

(1)char*Name;

(2)~StudentInfo( ){}

(3)Studentlnfo::Studentlnfo(char*name,int age,int ID,int courseNum,float record)

解析:(1)主要考查考生对动态数组的掌握,由题目可知Name应该指向一个动态数组,而不是一个有效char型字符,因此要定义成char型指针。

(2)主要考查考生对析构函数的掌握,析构函数不需要函数返回类型,应把void去掉。

(3)主要考查考生对构造函数定义的掌握,构造函数也要使用作用域符号“::”。

简单应用题

2.请打开考生文件夹下的解决方案文件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****”。

#include<iostream>

using namespace std;

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

class MatrixBase{

int rows,cols;

public:

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

int getRows( )const{returnroows}//矩阵行数

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

virtual double getElement(intr,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)getElement(i,j)

(2)MatrixBase(rows,cols)

(3)new double[rows*cols]

(4)r==c

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

综合应用题

3.请打开考生文件夹下的解决方案文件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<iostream>

#include<iomanip>

using namespace std;

template<intbase>//数制为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:

Number<24>hours;//小时(0~23)

Number<60>minutes;//分(0~59)

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

_______;//秒(0~59)

Number<1000>milliseconds;

//毫秒(0~999)

TimeOfDay(int h=0,intm=0,int s=0,int milli=0)

:hours(h),minuteS(m),seconds(S),milliseconds(milli){}

void advanceMillis(int k){advanceSeconds (milliseconds.advance(k));}//前进k毫秒

void advanceSeconds(int k)//前进k秒

{

//*

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号