計算機二級考試C上機考試試題及答案
為了使廣大考生在備戰(zhàn)計算機等級考試時,更快的掌握相應(yīng)知識點,下面是小編搜索整理的計算機二級考試C上機考試試題及答案,供參考練習,預(yù)?忌鷤兛汲鲎约豪硐氲某煽!
程序改錯題
使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運行時有錯誤,請改正其中的錯誤,使程序正確運行,并且使程序輸出的結(jié)果為
0K
注意:錯誤的語句在//******error******的下面,修改該語句即可。
試題程序:
#include
classTC
{
public:
TC()
{
a=b=0:
}
private:
inta,b;
};
classTCl:publicTC
{
public:
TC1()
{
}
。******error******
virtualvoidfunc();
};
classTC2:publicTCl
{
public:
TC2()
{
a=0:
b=0:
}
voidfunc()
{
。******error******
cout<<"OK"<endl;
}
private:
inta;
intb;
};
voidmain()
{
TC20bj;
。******error******
TCl*p=(TCl*)obj;
p->func();
}
答案:
(1)應(yīng)改為“virtualvoidfunc()=0;”。
(2)應(yīng)改為“cout<<"0K"<(endl;”。
(3)應(yīng)改為“TCl*p=(TCl*)&obj;”。
【解析】本題中TCl類中的func函數(shù)是純虛函數(shù),純虛函數(shù)的定義格式為virtual<函數(shù)類型><函數(shù)名>((參數(shù)表>)=0”,因此第1處的語句應(yīng)為“virtualvoidfunc()=0;”。func函數(shù)沒有參數(shù)表。編譯程序后發(fā)現(xiàn)第2處的語句有錯誤,cout流中的數(shù)據(jù)是用流插入運算符“<<”順序加入的,因此“<”不正確,應(yīng)改成“cout<<"0K"<<endl;”。函數(shù)的調(diào)用方式有2種:非多態(tài)調(diào)用和多態(tài)調(diào)用,非多態(tài)調(diào)用是指不使用指針或引用的直接調(diào)用,多態(tài)調(diào)用是指通過對象的指針或引用的調(diào)用。在主函數(shù)中定義了tel*p,p是指向基類tcl的指針,因此是多態(tài)調(diào)用方式,即通過對象的指針來調(diào)用,應(yīng)該把派生類對象的地址賦給p,而不是對象名,因此第3處的語句應(yīng)改為“tcl*p=(tcl*)&obj;”。
【計算機二級考試C上機考試試題及答案】相關(guān)文章:
計算機二級C語言考試上機考試題及答案10-29
計算機二級考試C++上機考試試題及答案11-09
2024計算機二級C上機考試試題及答案10-23
計算機二級考試C++上機考試試題05-22