第 1 頁:上機試題 |
第 2 頁:參考解析 |
點擊查看:2018年9月計算機二級C++考試上機練習題及答案匯總
一、程序改錯題
使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運行時有錯誤,請改正其中的錯誤,使得程序正確運行。
程序輸出:
s1:n=20
s2:n=10
執行s3.add(s1,s2)
s3:n=30
s4:n=30
注意:不要改動main函數,不能增加或刪除行,也不能更改程序的結構,錯誤的語句在//******error******的下面。
試題程序:
#includeclassTC
{
intn;
public:
TC(){}
TC(intm)
{
n=m:
}
//********error********
TCadd(TCs1,s2)
{
this->n=s1.n+s2.n;
//********error********
return(this);
}
voiddisp()
{
cout<<"n一="<}
//********error********
}
voidmain()
{
TCs1(20),s2(10),s3,s4;
cout<<"s1:";
s1.disp();
cout<<"s2:";
s2.disp();
s4=s3.add(s1,s2);
cout<("執行s3.add(s1,s2)\ns3:";
s3.disp();
COUt<<"s4:";s4.disp();
}
二、簡單應用題
使用VC++6.0打開考生文件夾下的源程序文件2.cpp。完成fun函數,使其功能為將兩個按小到大排序的數組a和b,復制合并成一個有序整數序列c,其中形參n和m分別是數組a和b的元素個數。
注意:不能修改程序的其他部分,只能修改fun函數。
試題程序:
#include
voidfun(inta[],intn,intb[],intm,int*c)
{
}
voidmain()
{
intA[]={3,5,7,9,11,18,21);
intB[]={6,15,19,21,39};
intC[25],i;
for(i=0;i<25;i++)C[i]=0;
cout<<"A[]=";
for(i=0;i<7;i++)
cout
三、綜合應用題
使用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
}
voidClearFile()
{
ofstreamout1;
outl.open("3.txt");
out1.close();
}
classTC
{
public:
voiddisp()
{
cout<<"m="
cout<<"n="
}
//********2********
};
voidmain()
{
//********3********
ClearFile();
TCa;
a.*p=30;
//********4********
a.*p=45;
a.disp();
}
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: