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

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

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

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

基本操作题

1.请打开考生文件夹下的解决方案文件proj1,其中在编辑窗口内显示的主程序文件中定义有类ABC和主函数main。程序文本中位于每行“//ERROR*******found*******”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:

21 23

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

#include<iostream>

using namespace std;

class ABC{

public:

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

ABC(){a=0;b=0;c=0;)

ABC(int aa,int bb,int CC);

void Setab(){++a,++b;)

int Sum()(return a+b+c;}

private:

int a,b;

const int C;

};

ABC::ABC(int aa,int bb,int CC):C(CC){a=aa;b=bb;}

int main()

{

ABC x(1,2,3),y(4,5,6);

ABC z,*w=&z;

w一>Setab();

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

int s1=x.Sum()+y一>Sum();

cout<<s1<<”;

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

int a2=s1+w.Sum(),

cout<<s2<<endl:

return 0;

}

(1)ABC(): a(0),b(0),c(0){ }

(2)int s1 =x.Sum()+y.Sum();

(3)int s2 =s1 + w->Sum();

解析:(1)主要考查考生对构造函数的掌握情况,根据私有成员的定义:const int c;,可知,c为常变量,因此构造函数必须使用成员列表初始化来给c赋初始值。

(2)主要考查考生对类的指针的掌握情况,根据主函数的第一条语句:ABCx(1,2.3),y(4,5,6);可知,x和y都是ABC类,但不是指针,因此它们调用ABC类的成员函数要使用标识符’.而不是’>’。

(3)主要考查考生对类的指针的掌握情况,根据主函数的第二条语句:ABC z,*w=&z;可知,w是ABC类的指针,指向z,因此w调用ABC类的成员函数时要使用标识符’>’,而不是.。

简单应用题

2.请打开考生文件夹下的解决方案文件proj2,其中在编辑窗口内显示的主程序文件中定义有类Base和Derived,以及主函数main。程序文本中位于每行“//*******found*******”下面的一行内有一处或多处下画线标记,请在每个下画线标记处填写合适的内容,并删除下画线标记。经修改后运行程序,得到的输出应为:

sum=55。

注意:只在横线处填写适当的代码,不要改动程序中的其他内容。

#include<iostreara>

using namespace std;

class Base

{

public:

Base(int m1,int m2){

mem1=m1; mem2=m2;

}

int SLIm(){return mem1+merm2;)

private:

int meml,mem2;//基类的数据成员

};

//派生类Derived从基类Base公有继承

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

class Derirved:

{

public:

//构造函数声明

Derived(int m1,int m2,int m3);

//sum函数定义,要求返回mem1、mem2和mem3之和

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

int sLIm(){return________+mem3;}

prirate:

int mem3; //派生类本身的数据成员

};

//构造函数的类外定义,要求由m1和m2分别初始化mem1和mera2.由m3初始化mem3

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

________Derived(int m1,intm2,int m3):

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

________,mem3(m3){ }

int main(){

Base a(4,6);

Derived b(10,15,20);

int sum=a.sum()+b.SHill();

cout<<”sum=”<<sum<<endl;

return 0;

}

(1)public Base

(2)Base::sum()

(3)Derived::

(4)Base(m1,m2)

解析:(1)主要考查考生对公有继承的掌握情况,根据题目要求:派生类Derived从基类Base公有继承。因此在这里使用public来公有继承。

(2)主要考查考生对成员函数的掌握情况,根据题目对sum函数的要求:sum函数定义,要求返回mem1、mem2和mem3之和。因此这里直接调用基类的sum函数,再加上mem3就满足题目要求。

(3)主要考查考生对构造函数的掌握情况,由于Derived的构造函数在类外定义,因此要加上类名和作用域符,即:Derived::。

(4)主要考查考生对构造函数的掌握情况,因为Derived是Base类的派生类,所以其构造函数要使用成员列表初始化先给Base初始化。

综合应用题

3.请打开考生文件夹下的解决方案文件proj3,其中包含主程序文件main.cpp和用户定义的头文件Array,h,整个程序包含有类Array的定义和主函数main的定义。请把主程序文件中的Array类的成员函数Contrary()的定义补充完整,经补充后运行程序,得到的输出结果应该是:

5 8

5,4,3,2,1

0,0,8.4,5.6,4.5,3.4,2.3,1.2

注意:只允许在“//*******found*******”和“//*******found*******”之间填写内容,不允许修改其他任何地方的内容。

//Array.h

#include<iostream>

using namespace std;

template<class Type,int m>

class Array{//数组类

public:

Array(Type b[ ],int mm)(

//构造函数

for(int i=0;i<m;i++)

if(i<nu

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号