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

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

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

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

基本操作题

1.请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,其中在编辑窗口内显示的主程序文件中定义有类AAA和主函数main。程序文本中位于每行“//ERROR ****found****”下面的一行有错误,请加以改正。改正后程序的输出结果应该是:

****found****”下面的一行有错误,请加以改正。改正后程序的输出结果应该是:

sum=60

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

#include<iostream>

using namespace std;

class AAA{

int a[10];int n;

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

private:

AAA(int aa[],int nn):n(nn){

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

for(int i=0,i<n,i++)aa[i]=a[i];

}

int Geta(int i) {return a[i];}

};

int main(){

int a[6]={2,5,8,10,15,20};

AAA x(a,6};

int sum=0;

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

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

sum+=x.a[i];

cout<<\\

(1)public:

(2)for(int i=0;i<n;i++)a[i]=aa[i];

(3)for(int i=0;i<6;i++)sum+=x.Geta(i);

解析:

简单应用题

2.请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.cpp。其中定义了类Set和用于测试该类的主函数main。类Set是一个用于描述字符集合的类,在该字符集合中,元素不能重复(将“a”和“A”视为不同元素),元素最大个数为100。为该类实现一个构造函数Set(char*s),它用一个字符串来构造一个集合对象,当字符串中出现重复字符时,只放入一个字符。此外,还要为该类实现另一个成员函数InSet(char c),用于测试一个字符c是否在一个集合中,若在,则返回true;否则返回false。

构造函数Set和成员函数InSet的部分实现代码已在文件proj2.cpp中给出,请在标有注释“//TODO:”的行中添加适当的代码,将这两个函数补充完整,以实现其功能。

提示:在实现构造函数时,可以调用InSet函数来判断一个字符是否已经在集合中。

注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”

//proj2.cpp

#include<iostram>

using namespace std;

const int MAXNUM=100;

class set{

private:

int num; //元素个数

char setdata[NAXNUN]; //字符数组,用于存储集合元素

public:

Set(char *s); //构造函数,用字符串s构造一个集合对象

bool InSet(char c);

//判断一个字符c是否在集合中,若在,返回true,否则返回false

void Print () const; //输出集合中所有元素

},

Set∷Set(char * s)

{

num=0;

while(*s){

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

if(_______)//TODO:添加代码,测试元素在集合中不存在

//**********found**********_______;//TODO:添加一条语句,加入元素至集合中

s++;

}

}

bool Set∷InSet(char c)

{

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

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

if(_______) //TODO:添加代码,测试元素C是否与集合中某元素相同

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

_______; //TODO:添加一条语句,进行相应处理

return false;

}

void Set∷Print()const

{

cout<<\\

(1)!InSet(*s)

(2)setdata[num++]=*s

(3)e==setdata[i]

(4)return true

解析:(1)主要考查考生对成员函数的掌握,题目要求:添加代码,测试元素在集合中不存在,由类的定义可知函数bool InSet(char C)可以测试字符c是否在集合中,因此这里直接调用函数bool InSet(char c)即可。

(2)题目要求:添加一条语句,加入元素至集合中,集合用数组setdata表示,直接把元素添加到数组中即可。

(3)主要考查考生对if语句的掌握,题目要求:测试元素c是否与集合中某元素相同。前一条语句是个for循环,利用下标i遍历整个集合,通过if语句中的判断条件判断c是否在集合中,用“==”判断。

(4)主要考查考生对成员函数的掌握,先看函数的注释:判断一个字符C是否在集合中,若在,返回true,否则返回false。if语句成立时,说明字符c存在于集合中,因此应该返回true。

综合应用题

3.请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明了MiniComplex是一个用于表示复数的类。请编写这个operator+运算符函数,以实现复数的求和运算。两个复数的和是指这样一个复数:其实部等于两个复数的实部之和,其虚部等于两个复数的虚部之和。例如,(23+34i)+(56+35i)等于(79+69i)。

要求:

补充编制的内容写在“//********333********”与“//********666********”之间,不得修改程序的其他部分。

注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。

//Minicomplex.h

#include<iostream>

using namespace std;

class MiniComplex//复数类

{

public:

//重载流插入和提取运算符

friend ostream&operator<<

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号