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

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

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

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

基本操作题

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

CMyObject,in the construtor

~CMyObject,in the destrutor

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

#include

class CMyObject

{

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

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

CMyObject{cout<<\\

(1)添加语句:public:

(2)CMyObject(){cout<<\\

解析:(1)构造函数和析构函数均为公有函数,而在C++中默认的访问属性为私有(private),因此构造函数和析构函数必须说明为public,即第1个标识下应添加“public:”。

(2)函数定义中在函数名后均有一对括号表示函数声明,因此第2个标识下应改为“ CMyObjectO{cout<< \\

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int n),求出n×n矩阵的对角线数字的平方和。如果n为奇数,则对角线交叉部位数字只参与一次计算。

注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include

#define MAX_N 10

int XX[MAX_N][MAX_N];

int fun(int n)

{

}

void main()

{

int nj

do

{

cout<<”please input N f 1<:

N<10):”<<endl;

Cin>>n;

if(n=1)

{

break;

}

}while(1);

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

{

for(int j=0;J<n;j++)

{

cout<<\\

int data=0;

//初始化求平方和变量

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

{

data+=XX[i][i]*XX[i][i];

//求正对角线平方和

if(i!=n—i一1)

data+=XX[i][n-i-1]*XX[i][n-i-

1];//求逆对角线平方和

}

return data;

解析:(1)首先初始化求平方和变量,设置求平方和的变量为0。

(2)然后利用for循环求得矩阵正对角线平方和。

(3)最后求得逆对角线平方和,返回平方和变量。

综合应用题

3.使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。

此程序将int.txt文件中的内容输出到屏幕,并且将文件按照以上方式分割,存于文件out1.txt和out2.txt中。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。

(1)从输入文件中获得一个字符,并判断是否到文件结尾,如果到文件结尾,则退出循环。请在注释//********1********后添加适当的语句。

(2)把获得的输入文件的内容存储到buf中,并且用len记录下文件的长度。请在注释//********2********后添加适当的语句。

(3)将输入文件的后一半内容存储在第二个文件中,请在注释//********3********后添加适当的语句。

(4)使用文件流对象打开输入文件in.txt,请在注释//********4********后添加适当的语句。

注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

#include

#include

#include

Class TestClass

{

public:

TestClass(char*fileName)

{

len=0;

fstream infile;

infile.open(fileName,

ios::in);

char ch;

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

while()

{

cout<<ch;

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

}

infile.Close();

}

void split()

{

fstream outfile1;

fstream outfile2;

outfilel.open(\\

(1)将“while()”完整为:while(infile.get(ch))

(2)添加语句:buf[len++]=ch;

(3)添加语句:outfile2<<buf[i++];

(4)将“Testclass Fsp();”完整为:

TestClass Fsp(\\

解析:(1)题目1要求“从输入文件中获得一个字符,并判断是否到文件结尾”。程序中的“while()”循环判断语句中缺少从文件中获得的字符,所以这里补全while循环判断条件, 即“while(infile.get(ch))”。

(2)题目2要求“把获得的输入文件的内容存储到buf中,并且用len记录下文件的长度。”所以为buf分配空间,即“buf[len++]=ch;”。

(3)题目3要求“将输入文件的后一半内容存储在第二个文件中。”在C++中,用流插入运算符为“<<”,所将buf中存放的数据存入文件outfile2,以根据题干中的要求,即这里补全“outfile2<<bufIi++];”。

(4)题目4要求“使用文件流对象打开输入文件modi3.txt。”程序应该是调用类“TestClass”中的成员函数“split”。类的构造函数定义中存在参数char*fileName,所以修改注释下的语句缺少参数。即“TestClass Fsp(\\

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号