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

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

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

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

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误。

本题的功能是:从键盘输入字符串S,然后输出字符串S中的字符个数。

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

//********error********的下面。

#include

int main()

{

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

cout<<\\

(1)std::cout<<\\

解析:(1)第1个标识下实现在屏幕上输出“please input a string:”提示语句。在程序中用到C++标准库时,要使用std标准命名空间进行限定。cout为标准库函数,所以要声明tout是在命名空间std中定义的流对象,即第1个标识下的“std::cout<<\\

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(cha*des,char*str)实现的功能是:

(1)如果字符串最后面有空格,则全部删除;

(2)转换后的数据放到des,并且指针作为返回值返回。

注意:不能修改程序的其他部分,只能补充convert()函数。

#include

#include

#defime MAXLEN 1024

char*convert(char*des,char*

str)

{

}

Void main()

{

char dest[MAXLEN];

char*string=\\

int length=0;

int i;

for(length=0;str[length] !=NUL

L; length++); //求数组长度

length–;//下标从0~len-1,下标减l表示最后一个字符的下标值

for(i=length;i>=0;i–)

{

if(str[i]!=’ ’) //判断结尾是否有空格,从后往前判断直到不是不是空格了跳出循环

break;

}

for(length

=0 ; length<=i;length++)

{

des[length]=str[length];

//从前面开始,逐个将str中的字符拷贝到des数组中,不含最后面的空格

}

des[length]=NULL;

//最后一字符为NULL

return des;

解析:(1)利用循环将字符串str的长度求出,然后从字符串的尾部开始检索,用循环从字符串的最后一个字符往前面逐个检查,如果该字符不是空格则退出循环,这个时候就找到了最后一个非空格字符所在的下标位置,然后从下标0开始到该位置,逐个将str里面字符拷贝到des中。

(2)程序当中使用了3次循环:计算长度、寻找最后一个非空格字符和拷贝三个过程。

综合应用题

3.使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了类baseA、priA1和priA2,其中priA1类由baseA类公有派生,priA2类由priA1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。

程序输出结果如下:

10

5

10 5 7

(1)定义类baseA的构造函数,该构造函数有一个整型的参数m,在构造函数中请将m赋值给数据成员a。请在注释“//********1********”之后添加适当的语句。

(2)定义类priA1的构造函数,该构造函数有两个整型的参数m和n,在构造函数中请将m赋值给数据成员b,将n作为基类baseA构造函数的参数值传入。请在注释“//********2********”之后添加适当的语句。

(3)定义类priA2的构造函数,该构造函数有三个整型的参数m,n和k,在构造函数中请将m赋值给数据成员c,将n和k分别赋值给基类研A1构造函数的参数m和n。请在注释“//********3********”之后添加适当的语句。

(4)完成类priA2的成员函数Show的定义,该函数调用基类成员函数,输出基类私有成员a和b及类priA2自身的数据成员C的值,上述三个值在输出时以空格隔开。请在注释“//********4********”之后添加适当的语句。

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include

Class baseA

{

int a;

public:

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

int geta(){return a;)

};

class priAl:public baseA

{

int b;

public:

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

int getb(){return b;)

};

class priA2:public priAl

{

int c;

public:

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

Void show()

{

//********4********

}

};

Void main()

{

priA2 a(7,5,10);

cout<<a.geta()<<endl;

cout<<a.getb()<<endl;

a.show();

}

(1)添加语句:baseA(int m){ a=m;)

(2)添加语句:

priA1(int m,int n):baseA(n){b=m;)

(3)添加语句:priA2(int m,int n,int k):priA1(n,k) {c=m;)

(4)添加语句: cout<<geta()<<\\

解析:(1)根据题目1要示,构造函数函数名和类名一致,显然baseA构造函数名为baseA(),在baseA0qb通过参数in完成对成员变量a的赋值,因此构造函数名为baseA(int m),在函数内部对成员a赋值,故第1个标识下应添加“baseA(int m){a=m;}”。

(2)根据题目2要示,构造函数形式为priA1(int m,int n),m赋值给priA1类成员b,将n作为基类baseA构造函数的参数值传入,故第2个标识下应添加“priA1(int m,int n):baseA

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号