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

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

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

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

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:

1

5

1

注意:错误的语句在//********error********的下面,修改该语句即可。

#include

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

enum

{

Sun,

Mon,

Tue,

Wed,

Thu,

Fri,

Sat,

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

}MyEnum;

struct struct

{

**********error********

int Fri,

int Sun;

};

Void main()

{

int i=Mon;

MyEnum t=Fri;

struct str1;

str1.Fri=Mon;

cout<<i<<endl;

cout<<t<<endl;

cout<<str1.Fri<<endl;

}

(1)enum MyEnum

(2)};

(3)int Fri;

解析:(1)第一标识下声明枚举类型,声明枚举类型的一般形式为:“enum{};”,程序当中把枚举类型名MyEnum放到枚举声明后面,显然不符合枚举类型声明格式,因此第1个标识下应改成“enum MyEnum”。

(2)由(1)的分析可知,第2个标识下也不符合枚举类型声明格式,应以“:”结束,即第2个标识下应改为“};”。

(3)第3标识处声明结构体,结构体定义的一般形式为:

struct

{

};

结构体中成员列表中各个元素是不同的变量,变量之间应以分号隔开,而不是以逗号隔开,因此第3个标识下应改为为“int Fri;”。

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.clap。阅读下列函数说明和代码,实现函数sort(intA[],int n),用选择排序法把数组从大到小排序。

提示:选择排序法的思想是:

(1)反复从还未排好的那部分线性表中选择出关键字最小的节点;

(2)按照从线性表中选择出的顺序排列节点,重新组成线性表;

(3)直到未排序的那部分为空,则重新形成的线性表是一个有序的线性表。

补充函数sort(intA[],int n),实现选择排序。

注意:请勿改动主函数。

#include

#define N 10

void sort(int A[N],int n)

{

}

int main()

{

int A[N]={1,2,10,5,7,19,34,

78,-3,8};

sort(A,10);

for(int i=0;i<Sizeof(A)/

sizeof(int);i++)

{

cout<<A[i]<<’ ’;

}

cout<<endl;

return 0;

}

int i,j;

for (i=0;i<n-1;i++)

{

for (j=0;j<n-1-i;j++)

{

if(A[j]>A[j+1])

//如果前面的数比后面的大则进行交换

{

int t=A[j];//做交换

A[j]=A[j+1];

A[j+1] =t;

}

}

}

解析:(1)数组A[N]中有n个数,进行n-1趟比较,在每一趟比较中两两比较的次数逐渐减少,比如若有6个数9,8,5,4,2,0。第一次将8和9对调,第二次将第2和第3个数(9和5)对调,……,如此共进行5次,得到8-5-4-2-0.9的顺序,可以看到:最大的数9已“沉底”,成为最下面一个数,而小的数“上升”。最小的数0已向上“浮起”一个位置。经第一趟(共5次)后,已得到最大的数。然后进行第二趟比较,对余下的前面5个数按上法进行比较,经过4次比较,得到次大的数8。如此进行下去。可以推知,6个数要比较5趟。在第一趟中要进行两两比较5次,在第二趟中比4次,……第5趟比1次。因此设置两层循环,外层循环变量i从0变化大到n-1,内层循环变量i从0到n-i,在内层循环体内,比较相邻两数,如果前面比后面的大则交换。

(2)在内层循环体内,如果前面的元素比后面的元素大,则用一个临时变量记录前面的第i个元素,然后将第j+1个元素赋值给第i个元素,临时变量值赋给第i+1个元素,如此完成两个元素的交换。

综合应用题

3.使用VC6打开考生文件夹下的源程序文件modi3.cpp。程序通过继承关系,实现对姓名的控制。类TestClass1实现对名字访问的接口,TestClass2实现对名字的设置和输出。

程序输出为:

TestClass2Name

May

其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。

(1)在类TestClass1中定义接口函数GetName,为纯虚函数。请在注释//********1********后添加适当的语句。

(2)函数GetName2()实现获得名字的缓存,但是只获得读允许操作这个缓存,请在注释

//********2********后添加适当的语句。

(3)实现TestClass2的构造函数,请在注释

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

(4)完成TestClass2的构造函数,实现对名字的处理。请在注释//********4********后添加适当的语句。

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

#include

Class TestClass1

{

public:

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

};

class TestClass2:public TestClass1

{

public:

Void GetName()

{

cout<<\\

(1)添加语句:virtual void GetName()=0;

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号