(周末汇总)二级C++试题

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



二级C++试题.jpg


对自己狠一点,逼自己努力刷二级C++试题,再过五年你将会感谢今天发狠的自己、恨透今天懒惰自卑的自己。我坚信一句话:只有自己足够强大,才有可能成功。


二级C++试题

【1】

简单应用题

使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(intn),使其实现以下功能:当i等于3时,则打印如下内容。

A

AA

AAA

注意:不能修改程序的其他部分,只能修改fun函数。

试题程序:

#include

voidfun(intn)

{

}

voidmain()

{

intn;

cout<<"请输入打印的行数:"<<ENDL;< p>

cin>>n;

if(n<1)

{

cout<<"输入的行数必须大于0"<<ENDL;< p>

return;

}

fun(n);

return;

}

答案:inti;

for(i=0;i<N;I++) p 外层循环,要打印的行数<>

{

intj;

for(j=0;j(n-i-1;j++)//循环打印空格

{

cout<<'';

}

for(;j<N;J++) p 循环打印A<>

{

cout<<"A"

}

cout<<ENDL; p 打印每一行的回车符<>

}

 

 

 

【2】

综合应用题

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

(1)将文件以追加的方式打开。请在注释l后添加适当的语句。

(2)定义m、n为类TC的公有int型数据成员。请在注释2后添加适当的语句。

(3)定义P为类TC的数据成员指针,并指向类TC的数据成员m。请在注释3后添加适当的语句。

(4)定义P指向类TC的数据成员n。请在注释4后添加适当的语句。

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

试题程序:

#include

#include(fstream)

#include

#include

usingnamespacestd;

voidWriteFile(intx)

{

ofstreamout1;

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

out1.open("3.txt",);

out1<<X<<'';< p>

out1.close();

}

voidClearFile()

{

ofstreamout1;

outl.open("3.txt");

out1.close();

}

classTC

{

public

voiddisp()

{

cout<<"m="<<M<<ENDL;< p>

WriteFile(m);

cout<<"n="<<N<<ENDL;< p>

WriteFile(n);

}

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

};

voidmain()

{

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

ClearFile();

TCa;

a.*p=30;

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

a.*p=45;

a.disp();

}

答案:(1)将“out1.open(”3.txt”,);”补充完整为“outl.open("3.txt",ios_base::app);"。

(2)应添加“intm,n;”。

(3)应添加“intTC::*p=&(TC::m);”。

(4)应添加“p=&(TC::n);”。

 

 

 

【3】

程序改错题

使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请补充程序中的丢失部分,使得程序运行。可以在修改处增加或者删除一条语句。

本程序完成以下功能:

(1)获得输入的两个数字d1,d2(d1=6,d2=1)。

(2)输出两个中较大的一个(输出6)。

(3)计算d1/d2,如果d2等于0,返回-l(输出结果6)。

(4)输出d1+d2的结果(输出结果7)。

(5)输出d1+1的结果(输出结果7)。

(6)输出d2-1的结果(输出结果0)。

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

试题程序:

#include(iostream.h>

voidmain()

{

intd1;

intd2;

intd3;

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

cin>>d1>>d2;

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

d3=(d1<D2)?DL:D2;< p>

cout<<"Maxdatais:"<<D3<<ENDL;< p>

//计算d1/d2如果d2等于0,返回-l

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

d3=(d2)?d1\d2:-l;

cout<<"d1/d2="<<D3<<ENDL;< p>

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

d3=(--dl)+(d2++);

cout<<"d1+d2="<<D3<<ENDL;< p>

cout<<"d1+1="<<D1<<ENDL;< p>

cout<<"d2-1="<<D2<<ENDL;< p>

return;

}

答案:(1)“d3=(d1<D2)?D1:D2;”应改为“D3=(D1)D2)?D1:D2;”。< p>

(2)“d3=(d2)?d1\d2:-l;”应改为“d3=(d2)?d1/d2:-l;”。

(3)“d3=(--dl)+(d2++);”应改为“d3=(d1++)+(d2--);或d3=(++d1)+(--d2);”。

 

 

 

【4】

简单应用题

使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数sum(intA[NUM][NUM],intn)的功能是计算矩阵中所有非质数数字的和。

提示:函数isPrime(intn)的功能是判定当前数字是否为质数,如果是,则返回true。

注意:不能修改程序的其他部分,只能修改sum函数。

试题程序:

#include(iostream.h)

#include

#defineNUM50

intA[NUM][NUM]=

{

{1,3,5,7,9},

{11,13,15,17,19},

{21,23,25,27,29},

{31,33,35,37,39},

{41,43,45,47,49}

};

boolisPrime(intn)

{

if(n==1)

returnfalse;

if(n==2)

returntrue;

for(inti=2;i(n/2;i++)

{

if(n%i==0)

returnfalse;

}

returntrue;

}

intsum(intAENUM]ENUM],intn)

{

}

intmain()

{

cout<<SUM(A,5)<<ENDL;< p>

return0;

}

答案:intre=0:

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

{

for(intj=0;j<N;J++)< p>

{

if(!isPrime(A[i][j]))//判断是否是素数,不是

素数则累加

{

re=re+A[i][j];

}

}

}

returnre

 

 

 

 

【5】

综合应用题

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

(1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释1后添加适当的语句。

(2)在类A2前增加A1的声明,请在注释2后添加适当的语句。

(3)在类Cl中声明友元函数boolrune(A2&a,A1&b),请在注释3后添加适当的语句。

(4)实现函数boolfunc(A2&obj1,Al&obj2)的功能,检查两个类的值都为TRUE,则返回TRUE,请在注释4后添加适当的语句。

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

试题程序:

#include(iostream.h>

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

#

defineFALSE0

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

classA2

{

private

boolm_A2;

friendboolfunc(A2&objl,A1&obj2);

public

A2()

{

m_A2=FALSE

}

public

voidsetA2(booln)

{

m_A2=n;

}

};

elaSSA1

{

private

boolm_A1;

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

public

A1()

{

m_A1=TRUE;

}

public

voidsetAl(booln)

{

m_A1=n;

}

};

boolfunc(A2&objl,A1&obj2)

{

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

return

}

intmain()

{

A20bj0;

A10bj1;

cout<<FUNE(OBJ0,OBJL)<<ENDL;< p>

obj0.setA2(TRUE);

objl.setAl(TRUE);

cout<<FUNC(OBJ0,OBJL)<<ENDL;< p>

return0;

}

答案:(1)应添加“#defineTRUE1”。

(2)应添加“classA1;”。

(3)应添加“friendboolfunc(A2&objl,Al&obj2);”。

(4)将“retllin”补充完整为“returnobjl.m_A2==TRUE&&obj2.m_A1==TRUE;”。



考无忧小编提醒您:

现在距离计算机等级考试只剩下不到100天了,再不努力刷计算机等级考试题库

9月份的考试,你一定会仓促应对,而考试结果也将不尽人意!赶紧把以上的二级C++试题刷起来吧!



文章推荐:

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

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

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


温馨提示:

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

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

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


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