第 1 頁:上機(jī)試題 |
第 2 頁:參考解析 |
點擊查看:2018年9月計算機(jī)二級C++考試上機(jī)練習(xí)題及答案匯總
一、程序改錯題
使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運行時有錯誤,請改正其中的錯誤,使得程序正確運行。
程序輸出:
s1:n=20
s2:n=10
執(zhí)行s3.add(s1,s2)
s3:n=30
s4:n=30
注意:不要改動main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯誤的語句在//******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<("執(zhí)行s3.add(s1,s2)\ns3:";
s3.disp();
COUt<<"s4:";s4.disp();
}
二、簡單應(yīng)用題
使用VC++6.0打開考生文件夾下的源程序文件2.cpp。完成fun函數(shù),使其功能為將兩個按小到大排序的數(shù)組a和b,復(fù)制合并成一個有序整數(shù)序列c,其中形參n和m分別是數(shù)組a和b的元素個數(shù)。
注意:不能修改程序的其他部分,只能修改fun函數(shù)。
試題程序:
#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
三、綜合應(yīng)用題
使用VC++6.0打開考生文件夾下的源程序文件3.cpp。其中定義的類不完整,按要求完成下列操作,將類的定義補(bǔ)充完整。
(1)將文件以追加的方式打開。請在注釋l后添加適當(dāng)?shù)恼Z句。
(2)定義m、n為類TC的公有int型數(shù)據(jù)成員。請在注釋2后添加適當(dāng)?shù)恼Z句。
(3)定義P為類TC的數(shù)據(jù)成員指針,并指向類TC的數(shù)據(jù)成員m。請在注釋3后添加適當(dāng)?shù)恼Z句。
(4)定義P指向類TC的數(shù)據(jù)成員n。請在注釋4后添加適當(dāng)?shù)恼Z句。
注意:增加或者修改代碼的位置已經(jīng)用符號表示出來,請不要修改其他的程序代碼。
試題程序:
#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();
}
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國計算機(jī)等級考試復(fù)習(xí)知識點匯總(各科目)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |