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

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

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

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

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为:从键盘输入一个字符串,并将结果保存到文件modi1.txt中。

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

#include

#include

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

using std;

void WriteFile(char*s)

{

ofstream out1;

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

out1.open(\\

(1)using namespace std;

(2)out1.open(\\

解析:(1)第1个标识下的“using std;”是在程序中引入标准命名空间std,对于C++中引入标准命名空间的格式,缺少namespace,所以第1个标识下的语句修改为“using namespace std;”0

(2)第2个标识下,调用成员函数open中,输入输出方式是在ios类中定义的,所以“out1.open(\\

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int N[41)的功能是用4个数字,组成互不相同且无重复数字的三位数,并将满足所有条件的数字输出到屏幕,并且每输出一个三位数字就换一行。

程序分析:可填在百位、十位、个位的数字都是1、2、3、0。组成所有的排列后再去掉不满足条件的排列。如果判定第一个数字是O则也去掉。

#include

Void fun(int N[4])

{

}

int main()

{

int N[4]={1,2,3,0);

fun(N);

return 0;

}

int i,j,k;

for(i=0;i<4;i++) //百位循环

{

for(j=0;j<4;j++) //十位循环

for(k=0;k<4;k++) //个位循环

{

if(i!=j&&j!=k&&k!=i&&N[i]!=0)

//当三位数不同,并且百位不为0

{

cout<<N[i]<<N[j]<<N[k]

<<endl; //输出这三位数组成的数字

}

}

}

解析:(1)利用三层循环,对要三位数字是否相同进行判断。

(2)如果三位数不同,并且百位不为0。那么依次输出这三位数,即为三位数组成的数字。

综合应用题

3.使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。

(1)定义类CPlanet的保护数据成员distance和revolvePeriod,它们分别表示行星距太阳的距离和行星的公转周期。其中,distance为double型,revolvePeriod为int型。请在注释//********1********之后添加适当的语句。

(2)定义类CEarth的构造函数CEarth(double d,intr),并在其中计算地球绕太阳公转的轨道周长。假定:circumference=2*d*3.1416。请在注释//********2********之后添加适当的语句。

(3)定义类Earth的成员display(),用于显示所有信息。包括地球距太阳的距离,地球的公转周期,以及地球绕太阳公转的轨道周长。请在注释

//********3********之后添加适当的语句。

注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。

#include

using namespace std;

Class CPlanet

{

protected:

//********1********

public:

CPlanet(double d,int r)

{

distance=d;

revolvePeriod=r;

}

};

class CEarth:public CPlanet{

double Circumference,

public:

//********2********

CEarth(double d,int r)

{

circumference=2*d*3.1416;

}

//********3********

{

cout<<\\

(1)添加语句:double distance;int revolvePeriod;

(2)将“CEarth(double d,int r)”补充完整为:CEarth(double d,int r):CPlanet(d,r)

(3)添加语句:void display()

解析:(1)题目1要求“义类CPlanet的保护数据成员distance和revolvePeriod,它们分别表示行星距太阳的距离和行星的公转周期。其中,distance为double型,revolvePeriod为int型”,因此第1个标识下是添加数据成员distance和revolvePeriod的声明,因此第1个标识下应添加“double distance;int revolvePeriod;”。

(2)假定:circumference=2*d*3.1416”,第2个标识下构造函数CEarth(double d,int r)完成类成员变量的初始化,在函数体内部完成了circumference的初始化,而变量distance和revolvePeriod并没有初始化,需调用基类的构造函数来初始化这两个变量,因此第2个标识下应改为“CEarth(double d,intr):CPlanet(d,r)”。

(3)第3个标识下完成成员函数display()~定义,函数display()的返回值为void,因此第3个标识下应添加“void display()”。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号