全国计算机等级考试二级C++上机题库Word格式文档下载.docx
《全国计算机等级考试二级C++上机题库Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C++上机题库Word格式文档下载.docx(48页珍藏版)》请在冰豆网上搜索。
![全国计算机等级考试二级C++上机题库Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/18/d2223a3a-f2c9-438d-a74a-64ee009dc7d9/d2223a3a-f2c9-438d-a74a-64ee009dc7d91.gif)
Constructor2"
~CSample(){cout<
Destructor"
voiddisp();
};
/**********found**********/voiddisp()
{cout<
i="
voidmain()
CSample*a,b(10);
/**********found**********/a->
disp();
/**********found**********/b->
}
【考答案】参
(1)将voiddisp()
改计,voidCSample:
:
disp()
(2)将a->
改计,a=newCSample;
a->
(3)将b->
改计,b.disp();
【计计解析】
(1)主要考计计成计函定计格式的熟计掌握~计于计外函的计计~计计使用作用域符数体数"
~按照返
回计计型计
函名数(参数列表)的形式计行计明;
(2)主要考计计计计存计分配的掌握~根据前面的定计~a是一指计计型的计量~指向一计象~但个个是有被初始化~此计并没a中的据无任何意计~计计使用计计存计分配数new生成一新的计象~个
并将返回的指计计计计a;
(3)主要考计计象指计计象在计用成计函计格式的不同~与数b是一计象计量~使用个b计用成计函计计数
用"
."
运算符。
二、计计计用计
计函写数fun()~的功能是利用以下所示的计计迭代方法求方程它cos(x)-x=0的一计根。
个
xn+1=cos(xn)
迭代步计如下,
(1)取x1初计计0.0。
(2)x0=x1~把x1的计计计x0。
(3)x1=cos(x0)~求出一新的个x1。
(4)若x0-x1的计计计小于0.000001,计计行步计(5)~否计计行步计
(2)。
(5)所求x1就是方程cos(x)-x=0的一计根~做计函计返回。
个数
程序计出计果Root=0.739085。
注意,部分源程序已存在文件kt6_2.cpp中。
计勿改计主函数main和其他函中的任何容~计在函数内数fun的花括中入所计的若干计号填写
句。
文件kt6_2的容如下,内
floatfun()
Root="
floatfun()
floatx1=0.0,x0;
do
{x0=x1;
x1=cos(x0);
while(fabs(x0-x1)>
=1e-6);
returnx1;
【计计解析】
解答本计的计计之计在于看计中所计的清“迭代步计”~同计要理解xn+1=cosxn通式的含计~要考计
到x1的初计计0.0。
三、计合计用计
使用VC6打计考生文件计下的工程kt6_3~此工程包含一源程序文件个kt6_3.cpp~其中定计了
用于表示考生的计Student~计按要求完成下列操作~程序计充完整。
将
(1)定计私有据成计数code、english分计用于表示考生的计、英计成计、计都是号它int型的据。
数
计在注计“//**1**”之后添加适的计句。
当
(2)完成成计函数voidStudent:
inputinformation()的定计~计函用于用计计入一考生计象的信息数个~
计入格式如下所示,
计入计,号
英计成计,
计算机成计,
计在注计“//**2**”之后添加适的计句。
(3)利用已计计的计Student的成计函~完成函数数voidfirstname(Student*A[],intnum)的定计~计函
数根据考生信息A[]~计出num个号考生中计分最高者的计及其相计的计分~在此不考计计分相同
的情。
计在注计况“//**3**”之后添加适的计句。
注意,除在指定位置添加计句之外~计不要改计程序中的其他容。
内源程序文件kt6_3.cpp清计如下,
classStudent
{//**1**
intcomputer;
inttotal;
voidgetinformation();
voidcomputesum();
intgetcode();
intgettotalscore();
~Student();
voidStudent:
getinformation(){//**2**
cout<
英计成计,"
;
cin>
>
english;
计算机成计,"
computer;
computesum(){total=english+computer;
cout<
计号"
intStudent:
getcode()
{returncode;
gettotalscore(){returntotal;
voidfirstname(Student*A[],intnum){
//**3**
tempsum=(*A[0]).gettotalscore();
for(inti=1;
i
if(((*A[i]).gettotalscore())>
tempsum)
{tempcode=(*A[i]).getcode();
tempsum=(*A[i]).gettotalscore();
计分最高者--"
{Student*A[3];
inti,n=3;
for(i=0;
{A[i]=newStudent;
A[i]->
getinformation();
}for(i=0;
{A[i]->
computesum();
firstname(A,3);
(1)intcode;
intenglish;
(2)cout<
计入计,号"
code;
(3)inttempcode,tempsum;
tempcode=(*A[0]).getcode();
【计计解析】
本计是计C++程序计计的计合考计~其计计计的成计及成计函的定计计用~据的计入计出~数与数for循计计
句~if条断个件判计句等多知计点~其中(3)中计指计计的使用~指计计是一计指计~每一成计数数个都按照指计的操作计计~但是整计计计计仍然使用计下计方式~如个数A[0]指的是第一指计~而个*
A[0]是取出第一指计指向的容。
个内
2
使用VC6打计考生文件计下的工程kt7_1~此工程包含一源程序文件个kt7_1.cpp~但计程序运
行有计计~计改正程序中的计计~使程序的计出计果如下,Constructor1
Constructor2
x=0
x=5
源程序文件kt21_1.cpp清计如下,
classB
{intx;
B(){x=0;
ENDL;
}<
p>
B(inti){x=i;
~B(){cout<
/**********found**********/
~B(inti){cout<
I<
BEDESTRUCTOR"
voidprint(){cout<
x="
X<
}};
voidmain()
{B*ptr;
ptr=newB[2];
/**********found**********/
ptr[0]=B(0);
ptr[1]=B(5);
for(inti=0;
i<
2;
)
ptr[i].print();
delete[]ptr;
(1)将~B(inti){cout<
pbeDestructor?
endl;
}计除<
(2)将ptr[0]=B(0);
改计,ptr[0]=B();
(3)将for(inti=0;
)改计,for(inti=0;
i++)B(inti){x=i;
【考答案】参
(2)将ptr[0]=B(0);
i++)【计计解析】
本计主要考计计文件相计操作的熟计程度。
首先定计文件流计的计量~然后使用计计象的open方法打
计一文件~接着使用个while循计和getch方法每次计入一字符计计字符~最后使用个并个数close方法计计文件~返回i计。
计一函写个数intcharnum(charfn[10])~计函以只计方式打计文件数fn,~通计计计~返回文件中字符
的~计使用个数while循计计计计功能。
数
注意,部分源程序已存在文件kt7_2.cpp中。
计勿修改主函数main和其他函中的任何容~计在函数内数charnum的花括中若干计句号填写。
文件kt7_2.cpp的容如下,内
intcharnum(charfn[10]);
{intnum;
num=charnum("
abc.txt"
);