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

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

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

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

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,请修改程序中的错误,使程序能得出正确的结果:

num:0

num:1

num:10

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

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

#include

int i=10;

Class TestClass

{

public:

TestClass(int i)

{

cout<<\\

(1)this->i=i+1;或TestClass::i=i+1:或(*this).i=i+1:

(2)TestClass print(0);

(3)cout<<\\

解析:(1)打开modi1.cpp,调试程序,显示错误提示为第二标识下“modi1.cpp(22):error C2512:TestClass’:no appropriate default constructor available”,主函数中首先调用的就是第2个标识下的TestClass print函数,构造函数的名字和类的名字是一样的,而程序中给出的“TestClass print;”没有给出参数,所以程序调试时无法确定调用的函数。根据TestClass构造函数“TestClass(int i)”的定义,应该存在int型参数,并且题目要求第一次输出的值为“0”,所以第2个标识正确的调用函数为“TestClass print(0);”。

(2)运行,发现第一次的输出正确,但是第二次的输出值为“-858993460”,并不是题目中要求的“1”。在主函数中, 可知第二次输出调用的是“print.Print();”,即类TestClass的成员函数“Print()”。成员函数Print的定义“void Printoconst”中的输出语句为“cout<<”num:”<<i<i=i+l;”或“TestClass::i=i+1;”或“(*this).i=i+1;”。

(3)主函数中通过“cout<<\\

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序,使函数fun()实现以下功能:找出一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?

程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后开方,如果开方后的结果满足条件,即是结果。

#include

#include

Void fun()

{

}

int main()

{

fun();

return 0;

}

long int i,x,y,z;

for(i=1;i<100000;i++)

{

x=Sqrt(i+100);

//x为加上100后开方后的结果

y=sqrt(i+268);

//y为再加上268后开方的结果

if(x*x==i+100&&y*y==i+268)

//如果一个数的平方根的平方等于该数。

说明此数是完全平方数

cout<<i<<endl;

}

解析:(1)利用循环找到满足条件的整数。

(2)首先计算X加上100和Y加上268的开方。

(3)一个数的平方根的平方等于该数,说明此数是完全平方数。

综合应用题

3.使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:

(1)声明类objA1,请在注释//********1********后添加适当的语句。

(2)为类objA0增加友元函数func(),请在注释//********2********后添加适当的语句。

(3)为类objA1增加友元函数func(),请在注释//********3********后添加适当的语句。

(4)函数func()返回objA1对象中的变量和objA0的静态变量的乘积,请在注释//********4********后添加适当的语句。

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

#include

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

class objA0

{

private:

static int m A0;

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

};

int objA0..m_A0=10;

class objA1

{

private:

int m_A1;

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

public:

objA1(int i)

{

m_A1=i;

}

};

int func(objA1&obj)

{

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

}

int main()

{

objA1 obj 0(10);

cout<<func(obj0)<<endl;

return 0;

}

(1)添加语句:class objA1;

(2)添加语句:friend int func(objA1&obj);

(3)添加语句:friend int func(objA1&obj);

(4)添加语句:return obj.m_A1*objA0::m_A0;

解析:(1)类的声明格式为:“class;”,因此第1个标识下应添加“class objA1;”。

(2)按照友元的定义格式,友元函数是在类声明中由关键字friend修饰的非成员函数,func函数在类外部给出了具体的实现形式,即“int func(objA1&obj)”,因此第2个标识下应添加“friend int func(objA1&obj);”,这里参数是0bjA1类对象obj。

(3)第3个标识下和题目2要求一样,均是声明友元函数,因此第2标识下应添加“friend intfunc(objA1&obj);”。

(4)通过参数obj对象可以直接访问obj.m A1,objA0的静态变量m_A0是所有对象的共享成员,其访问形式为:objA0::m A0,因此第4个标识下应添加“return obj.m_A1*objA0::m_A0;”。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号