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

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

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

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

基本操作题

1.请打开考生文件夹下的解决方案文件proj1,其中包含类MyClass的定义。程序中位于每个// ERROR****found****下一行的语句有错误,请加以更正。更正后程序的输出结果应该是:

The value is 5

The value is 10

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

#include <iostream>

using namespace std;

class MyClass {

public:

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

void MyClass() {value = 0; }

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

void setValue(int val) const

{

value = val;

}

int getValue() const {return value; }

private:

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

int value = 0;

};

int main()

{

MyClass obj;

obj.setValue(5);

cout << \\

(1)MyClass(){value =0;}

(2)void setValue(int val)

(3)int value;

解析:(1)主要考查考生对构造函数的掌握,构造函数前不能添加任何返回类型。

(2)主要考查考生对const的掌握,由函数中value = va1;语句,可知成员的值发生改变,因此不能用const。

(3)主要考查考生对私有成员的掌握,私有成员只能声明,不能赋初始值。

简单应用题

2.请打开考生文件夹下的解决方案文件proj2,其中定义了vehicle类,并派生出motorcar类和bicycle类。然后以motorcar和bicycle作为基类,再派生出motocycle类。要求将vehicle作为虚基类,避免二义性问题。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:

A vehicle is running!

A vehicle has stopped!

A bicycle is running!

A bicycle has stopped!

A motorcar is running!

A motocycle is running!

注意:只在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动\\

(1)virtual void

(2)virtual void

(3)vehicle(max_speed, weight), SeatNum(seat_num)

(4)public bicycle, public motorcar

解析:(1)和(2)主要考查考生对虚函数的掌握,虚函数使用virtual定义。

(3)主要考查考生对构造函数的掌握,使用成员列表初始化。

(4)主要考查考生对派生类的掌握,派生类继承基类时要表明继承方式,公有继承为public,多个继承时要使用\\

综合应用题

3.请打开考生文件夹下的解决方案文件proj3,其中定义的IntArray是一个用于表示整型一维数组的类。成员函数swap可以将数组中的两个指定元素交换位置;成员函数sort的功能是将数组元素按照升序排序。请编写成员函数sort。在main函数中给出了一组测试数据,此时程序运行中应显示:

读取输入文件...

—排序前—

a1=3 1 2

a2=5 2 7 4 1 6 3

—排序后—

a1=1 2 3

a2=1 2 3 4 5 6 7

要求:

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

注意:程序最后将结果输出到文件out.dat中。

//IntArray.h

#include <iostream>

#include <string.h>

using namespace std;

class IntArray {

public:

IntArray(unsigned int n)

{

size = n;

data = new int[size];

}

~IntArray() {delete [ ] data; }

int getSize() const {return size; }

int& operator[ ](unsigned int i) const {return data[i]; }

void swap(int i, int j)

{

int temp = data[i];

data[i] = data[j];

data[j] = temp;

}

void sort();

friend ostream& operator<< (ostream &os, const IntArray &array)

{

for (int i = 0; i < array.getSize(); i++)

os << array[i] << ’ ’;

return os;

}

private:

int *data;

unsigned int size;

};

void readFromFile(const char*, IntArray&);

void writeToFile(char *, IntArray &);

//main.cpp

#include <fstream>

#include \\

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

for (intj=i+1;j< size;j++)

if (data[i]> data[j])

swap(i.j);

解析:主要考查考生对排序算法的掌握,sort函数的功能是将数组元素按照从小到大的顺序排序。使用for循环遍历数组元素,变量i和j代表数组元素下标,将数组元素i和j进行比较,顺序不对就调用swap函数交换元素。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号