第 1 頁:上機(jī)試題 |
第 2 頁:參考答案 |
點(diǎn)擊查看:2018年9月計(jì)算機(jī)二級(jí)C++考試上機(jī)練習(xí)題及答案匯總
一、程序改錯(cuò)題
使用VC++6.0打開考生文件夾下的源程序文件
1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正程序中的錯(cuò)誤。本程序要求實(shí)現(xiàn)的功能為從鍵盤輸入一個(gè)字符串,并將結(jié)果保存到文件1.txt中。
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語句在
//******error******的下面。
試題程序:
#include
#include
//********error********
usingstd;
voidWriteFile(char*s)
{
ofstreamout1;
//********error********
out1.open("1.txt",binary|app);
for(inti=0;s[i]!=0;i++)
{
//********error********
out1.puts(s[i]);
}
out1.close();
}
voidClearFile()
{
ofstreamout1;
out1.open("1.txt");
out1.close();
}
intmain()
{
chars[1024];
ClearFile();
cout<<"pleaseinputastrin9:"< cin.getline(s,1024);
WriteFile(s);
return0;
}
二、簡單應(yīng)用題
使用VC++6.0打開考生文件夾下的源程序文件2.cpp。請(qǐng)完成函數(shù)fun(intx)的定義,該函數(shù)功能是判定x的所有約數(shù),并且在函數(shù)中調(diào)用寫函數(shù)WriteFile將結(jié)果輸出到2.txt文件中。
例如:x=100的約數(shù)為124510202550100。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include #include(fstream)
#include(cmath)
usingnamespacestd;
voidWriteFile(intc)
{
ofstreamout1;
out1.open("2.txt",ios_base::binary|ios_base::app);
out1< out1.close();
}
voidfun(intx)
{
}
voidClearFile()
{
ofstreamout1;
out1.open("2.txt");
out1.close();
}
intmain()
{
ClearFile();
fun(100);
return0;
}
三、綜合應(yīng)用題
使用VC++6.0打開考生文件夾下的源程序文件3.cpp,其中定義了用于表示坐標(biāo)的類TCl,但類TCl的定義并不完整,按要求完成下列操作,將類的定義補(bǔ)充完整。
(1)聲明TC2類為TC1類的友元類,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。
(2)完成類的構(gòu)造函數(shù),分別對(duì)成員變量賦值,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。
(3)完成類的構(gòu)造函數(shù),分別對(duì)成員變量賦值,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。
(4)完成計(jì)算平面上兩點(diǎn)之間距離的函數(shù)JuL,計(jì)算的方法為X坐標(biāo)之差的平方與Y坐標(biāo)之差的平方之和的開方。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。
注意:僅在函數(shù)指定位置添加語句,請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容。
試題程序:
#include(iostream)
#include(cmath)
usingnamespacestd;
classTC1
{
//********1********
public:
//********2********
{
X=a;
Y=b;.
}
//********3********
{
X=a:
Y=0;
}
voidprint()
{
cout<<"x="< cout<<"y="< }
private:
floatX,Y:
};
classTC2
{
public:
floatJuL(TC1&p,TC1&q);
};
floatTC2;:JuL(TCl&p,TCl&q)
{
floatresult;
//********4********
cout< returnresult;
}
intmain()
{
TClp(10,10),q(20);
TC2d;
d.JuL(p,q);
return0;
}
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年9月全國計(jì)算機(jī)等級(jí)考試試題匯總(各科目)
2018年全國計(jì)算機(jī)等級(jí)考試必做試題匯總(各科目)
2018年全國計(jì)算機(jī)等級(jí)考試復(fù)習(xí)知識(shí)點(diǎn)匯總(各科目)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |