备考:二级C++试题

发布于 2019-06-05 15:14  编辑:simi
0
计算机等级考试题库 扫码微信刷题


二级C++试题.jpg


还没刷二级C++试题的小伙伴,don't worry计算机等级考试题库送给你,要相信临阵磨枪,不快也光!



二级C++试题

【1】

程序改错题

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

(4,5)

7.8

(4,8)

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

试题程序:

#include

classTCO

{

public

TCO(inti,intj)

{

x=i

y=j;

}

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

virtualvoidmove(inta;intb)

{

x+=a;

y+=b;

}

voidprint()

{

cout<<"("<<X<<","<<Y<<")"<<ENDL;< p>

}

public

intx,Y;

);

classTCl:publicTCO

{

public

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

TCl(inti,intj,intk):(i,j)

{

m=k

n=1

}

voidprint()

{

cout<<M<<","<<N<<ENDL;< p>

}

voidrune()

{

move(3,5);

}

voiddisplay()

{

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

print();

}

private

intm,n;

};

voidmain()

{

TCOobj(4,5);

obj.print();

TClobjl(1,3,7,8);

obj1.func();

obj1.print();

obj1.display();

}

答案:(1)应改为“virtualvoidmove(inta,intb)”。

(2)应改为“TCl(inti,intj,intk,int1):TCO(i,j)”。

(3)应改为“TC0::print();”。

 

 

 

【2】

简单应用题

使用VC++6.0打开考生文件夹下的源程序文件2.epp。阅读下列函数说明和代码,补充空出的代码。函数fun(doubleA[5][5])返回二维数组中大于本行平均数的所有数之和。

注意:部分代码已经实现,请勿改动main函数代码。

试题程序:

#include<IOSTREAM.H)< p>

doublefun(doubleA[5][5])

{

}

voidmain()

{

doubleA[S][5]=

{4431.3,45.56,5697.65,768.678,122.45),

{444.4,34.545,5667.656,2548.678,1562.45},

{537.3,655.5456,5677.65,7168.678,1242,45},

{134.3,454.5486,5637.65,7687.678,1322.45),

{189.3,445.5786,5677.65,7528.678,142.45}

};

cout<<FUN(A)<<ENDL;< p>

return;

}

答案:doublefun(doubleA[S][5])

{

doublesum2=0.0;

for(inti=0;i<5;i++)

{

doublesuml=0.0;

intj=0;

for(j=0;j<5;j++)

{

suml+=A[i][j];

}

sum1/=5;

for(j=0;j<5;j++)

{

if(A[i][j]>suml)

}

}

returnsum2;

}

 

 

 

【3】

综合应用题

使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。

(1)完成构造函数,设置数组元素的个数为0,请在注释1之后添加语句。

(2)完成函数AddMember(intn),如果参数n包含在类的数据成员数组中,则返回0,否则把数据写入数组,然后返回1,请在注释2之后添加语句。

(3)完成函数DelMember(intn),如果变量在数据中,则删除该变量,并且返回1,如果不存在,则返回0,请在注释3之后添加语句。

(4)完成成员函数Islnclude(intn)的定义,该函数检查参数n是否在类的数据成员数组array中,如果在,返回1,否则返回0。请在注释4之后添加语句。

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

试题程序:

#include

#defineMAXLENGTH500

classlCArr

{

public

TCArr()

{

//********1********}

intAddMember(intn)

{

for(inti=0;i<LENGTH;I++)< p>

{

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

return0;

}

Array[length++]=n;

return1

}

intDelMember(intn)

{

inti

for(i=0;i<LENGTH;I++)< p>

{

if(Array[i]==n)

{

break;

}

}

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

{

for(;i<LENGTH-1;I++)< p>

{

Array[i]=Array[i+1];

}

length--;

return1;

}

return0;

}

intIslnclude(intn)

{

for(inti=0;i<LENGTH;I++)< p>

{

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

{

return1;

}

}

return0;

}

private

intArray[MAX_LENGTH];

intlength;//用来记录数组的个数

};

intmain()

{

TCArrobj;

cout<<OBJ.ADDMEMBER(1)<<ENDL;< p>

cout<<OBJ.ADDMEMBER(3)<<ENDL;< p>

cout<<OBJ.ADDMEMBER(8)<<ENDL;< p>

cout<<OBJ.ADDMEMBER(23)<<ENDL;< p>

cout<<OBJ.ISLNCLUDE(8),<<ENDL;< p>

cout<<OBJ.ISINCLUDE(11)<<ENDL;< p>

cout<<OBJ.DELMEMBER(3)<<ENDL;< p>

cout<<OBJ.DELMEMBER(8)<<ENDL;< p>

cout<<OBJ.ISINCLUDE(2)<<ENDL;< p>

cout<<OBJ.ISINCLUDE(1)<<ENDL;< p>

return0;

}

答案:(1)应添加“length=0;”。

(2)将“if(Array[i]=n)”补充完整为“if(Array[i]==n)”或“if(n==Array[i])”。

(3)将“if()”补充完整为“if(i<LENGTH)”或“IF(I!=LENGTH)”。< p>

(4)将“if()”补充完整为“if(Array[i]==n)”或“if(n==Array[i])”。

 

 

 

 

【4】

程序改错题

使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出为

10

TC1

注意:不要改动main函数,不能增加或删除行,也不能

更改程序的结构,错误的语句在//******error******的下面。

试题程序:

#include

classTC1

{

public

TC1()

{

}

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

private

virtual~TC1()

{

usingnamespacestd;

cout<<"TCl"<<ENDL;< p>

}

};

classTC2:publicTC1

{

public

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

explicitTC2(inti)

{

m_i=i;

}

TC2&operator()(inti)

{

this->m_i=i;

}

voidprint()

{

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

cout<<M_J<<ENDL;< p>

}

private

intm_i;

};

voidfun(TC2C1)

{

C1.print();

}

intmain()

{

fun(TC2(10));

return0;

}

答案:(1)删除“private:”语句。

(2)应改为“TC2(inti)”。

(3)应改为“std::cout<<M_I<<STD::ENDL;”或添加“USINGNAMESPACESTD;”。

 

 

 

 

【5】

简单应用题

使用VC++6.0打开考生文件夹下的源程序文件2.cpp.请完成函数fun(char*s),使其具有以下功能:

(1)把S中的大写字母转换成小写字母,把其中的小写字母转换成大写字母,并且在函数中调用写函数WriteFile()将结果输出到2.txt文件中。

例如:s="hellow0RLD",则结果为"s="HEL-LOworld””。

(2)完成函数writeFile(char*S),把字符串输入文件中。

提示:打开文件使用的第二参数为“ios_base::binary|ios_base::app”。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

#include

#include

#include

usingnamespacestd;

voidWriteFile(char*s)

{

}

voidfun(char*s)

{

}

voidClearFile()

{

ofstreamout1;

out1.open("2.txt");

out1.close();

}

intmaid()

{

ClearFile();

chars[1024];

cout<<"pleaseinputastrin9:"<<ENDL;< p>

cin.getline(S,1024);

fun(s);

return0;

}

答案:(1)voidWriteFile(char*S)中的命令语句:

ofstreamout1;

out1.open("2.txt",ios_base::binary|los_base::app);

//打开文件2.txt

out1<<S; p 写入字符串S<>

out1.close();

(2)voidfun(char*s)中的命令语句:

for(inti=0;S[i]!=0;i++)//循环判断每一个字符

{

if(s[i]>='A'&&s[i]<='2')//如果是大写字符,

则转换为小写字符

{

s[i]=s[i]-'A'+'a';//'s[i]-'A'+'a'等于字

符s[i]+32'

elseif(s[i]>='a'&&s[i](='z')//如果是小写字

符,则转换为大写字符

{

s[i]=s[i]-'a+'A';//'s[i]-'a'+'A'等于字

符s[i]-32

}

}

WriteFile(s);

 



考无忧小编提醒您:

无论你今天要面对什么,既然走到了这一步,就坚持下去,坚持复习以上的二级C++试题,给自己一些肯定,你比自己想象中要坚强。




文章推荐:

全国计算机等级考试可以不考一级直接考二级吗?

2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”

全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)


温馨提示:

考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office

想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库

想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯


本文网址:http://www.k51.com.cn/info/jsjdjks/1906/0553472.html
选择分享到: