第 1 頁:上機試題 |
第 2 頁:參考答案 |
答案與解析
一、程序改錯題
(1)應(yīng)改為“usingnamespacestd;”。
(2)應(yīng)改為“outl.open("1.txt",ios::binary|ios::app);”。
(3)應(yīng)改為“out1.put(s[i]);”。
【解析】本題第1處的“usingstd;”是在程序中引入標準命名空間std,對于C++中引入標準命名空間的格式,缺少namespace,所以第1處的語句修改為“usingnamespacestd;”。第2處,調(diào)用成員函數(shù)open中,輸入、輸出方式是在ios類中定義的,所以“out1.open("1.txt",binary|app);”語句缺少類ios,即第2處的語句修改為“out1.open("1.txt",ios::binary|ios::app);”。第3個標識應(yīng)該用流成員函數(shù)put輸出字符,所以第3處的語句修改為“out1.put(s[i]);”。
二、簡單應(yīng)用題
for(inti=1:i<=x;i++)
{
if(x%i==0)//如果x被i整除,那么i為X的約數(shù)
{
writeFile(i);//將約數(shù)i存入文件
}
}
【解析】本題中由1到x,循環(huán)判斷其中是否有X的約數(shù)。如果x被i整除,那么i為x的約數(shù)最后調(diào)用Write-File函數(shù),將約數(shù)i存入文件。
三、綜合應(yīng)用題
(1)應(yīng)添加“friendclassTC2;”。
(2)應(yīng)添加“TCl(floata,floatb)”。
(3)應(yīng)添加“TCl(floata)”。
(4)應(yīng)添加“result=sqrt((P.X-q.X)*(p.X-q.X)+(p.Y-q.Y)*(p.Y-q.Y));”。
【解析】本題中第1處要求“聲明TC2類為TC1類的友元類”。C++中聲明友元類的一般形式為“friend類名;”,所以這里補全“friendclassTC2;”。第2處要求“完成類的構(gòu)造函數(shù),分別對成員變量賦值”。程序中TC1類的構(gòu)造函數(shù)缺少定義,構(gòu)造函數(shù)首部的一般格式為構(gòu)造函數(shù)名(類型1形參1,類型2形參2,……),所以在第2處補金“TC1(floata,float
b)”。第3處要求“完成類的構(gòu)造函數(shù),旁別對成員變量賦值”。同理,第3個標識下補全“TC1(floata)”。第4處要求“完成計算平面上兩點之間的距離函數(shù)JuL”。題目中已經(jīng)給出了計算方法,X坐標之差的平方與Y坐標之差的平方之和的開方。利用C++中的開方函數(shù)sqrt補全函數(shù)中的兩點之間的距離。即“result=sqrt((P.X-q.X)*(p.X-q.X)+(p.Y-a.Y)*(p.Y-q.Y));”。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國計算機等級考試復(fù)習知識點匯總(各科目)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |