為大家收集整理了《2014計(jì)算機(jī)二級(jí)考試C++上機(jī)考試試題》供大家參考,希望對(duì)大家有所幫助?。?!
一、程序改錯(cuò)題
使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正錯(cuò)誤,使得程序通過(guò)運(yùn)行。
程序輸出結(jié)果為
5
a
1
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語(yǔ)句在//******error**
****的下面。
試題程序:
#include(iostream)
template(classT>
//********error********
tmin(tX,ty)
{
return(x>y)?y:x;
}
voidmain()
{
intn=5:’
//********error********
charc="a":
intd=1:
//********error********
cout< cout< cout< }
二、簡(jiǎn)單應(yīng)用題
使用VC++6.0打開(kāi)考生文件夾下的源程序文件2.cpp。請(qǐng)完成函數(shù)fun(intn),使其實(shí)現(xiàn)以下功能:當(dāng)i等于3時(shí),則打印如下內(nèi)容。
A
AA
AAA
注意:不能修改程序的其他部分,只能修改fun函數(shù)。
試題程序:
#include
voidfun(intn)
{
}
voidmain()
{
intn;
cout<<"請(qǐng)輸入打印的行數(shù):"< cin>>n;
if(n<1)
{
cout<<"輸入的行數(shù)必須大于0"< return;
}
fun(n);
return;
}
三、綜合應(yīng)用題
使用VC++6.0打開(kāi)考生文件夾下的源程序文件3.cpp。其中定義的類不完整,按要求完成下列操作,將類的定義補(bǔ)充完整。
(1)在類TC中定義name為字符串類型,age為int型,請(qǐng)?jiān)谧⑨?之后添加語(yǔ)句。
(2)設(shè)置類TC0的基類為TC類的定義,請(qǐng)?jiān)谧⑨?后添加語(yǔ)句。
(3)在類TC的派生類TC0的公有成員中定義析構(gòu)函數(shù)TC0,請(qǐng)?jiān)谧⑨?后添加語(yǔ)句。
(4)設(shè)置類TCl的基類為TC類的定義,請(qǐng)?jiān)谧⑨?后添加語(yǔ)句。
程序輸出結(jié)果為
TCclassconstructor
TC0classconstructor
TConclassconstructor
TClclassconstructor
TClclassconstructor
TCclassconstructor
TC0classconstructor
TCclassconstructor
注意:增加或者修改代碼的位置已經(jīng)用符號(hào)表示出來(lái)一請(qǐng)不要修改其他的程序代碼。
試題程序:
#include
classTC
{
//********1********
public:
TC(){cout<<"TCclassconstructor"< TC(){tout<<"TCclassconstructor"< };
//********2********
{
char*departmert;
intlevel;
public:
TCO()
{cout<<"TCOclassconstructor"< //********3********
{cout<<"TC0classconstructor"< };
//********4********
{
char*maior:
floatsalary;
public:
TCl(){cOUt<<"TClclassconstructor"< TCI(){COUt<<"TClclassconstructor"< };
voidmain()
{
TC0sl;
TCItl;
}
上機(jī)考試試題答案與解析
一、程序改錯(cuò)題
(1)應(yīng)改為“Tmin(TX,Ty)”。
(2)應(yīng)改為“charc=’a’;”。
(3)應(yīng)改為“usingnamespacestd;”。
【解析】本題C++是區(qū)分大小寫的,“template T>”語(yǔ)句中定義的模板類為T不是t,所以第1處的“tmin(tx,ty)”修改為“Tmin(Tx,Ty)”。第2處的“charc="a";”語(yǔ)句中的變量a為char型,賦值為字符a,在C++中應(yīng)該使用單引號(hào)標(biāo)注字符變量,而不是雙引號(hào),所以修改為“charC=’a’;”。在程序中用到C++標(biāo)準(zhǔn)庫(kù)時(shí),要使用std標(biāo)準(zhǔn)命名空間進(jìn)行限定。cout為標(biāo)準(zhǔn)庫(kù)函數(shù),所以要聲明cout是在命名空間std中定義的流對(duì)象,即添加“usingnamespacestd;”。
二、簡(jiǎn)單應(yīng)用題
inti;
for(i=0;i {
intj;
for(j=0;j(n-i-1;j++)//循環(huán)打印空格
{
cout<<’’;
}
for(;j {
cout<<"A":
}
cout< }
【解析】本題利用外層循環(huán)打印每一行。內(nèi)層循環(huán)分為
打印空格和打印A。打印空格由第一個(gè)位置到第n-i-1。打印A,是由打印完空格開(kāi)始一直到行結(jié)束。在外循環(huán)中打印每一行的結(jié)束符。
三、綜合應(yīng)用題
(1)應(yīng)添加“char*name;intage;”。
(2)應(yīng)添加“classTC0:publicTC”。
(3)應(yīng)添加“~TCO()”。
(4)應(yīng)添加“classTC1:publicTC”。
【解析】本題第1處要求“TC中定義name為字符串類型,age為整型”。根據(jù)題目要求,在程序TC類中定義變量name和age,即“char*name;intage;”。第2處要求“設(shè)置類TC0的基類為TC類的定義”。在C++中,從已有的類產(chǎn)生一個(gè)新的子類,稱為類的派生。聲明派生類的一般形式為“ClaSS派生類名:[繼承方式]慕類名”。根據(jù)聲明派生類的一般形式,這里補(bǔ)全“classTC0:publicTC”。第3處要求“在類TC的派生類TCO的公有成員中定義析構(gòu)函數(shù)TC0”。析構(gòu)函數(shù)也是一個(gè)特殊的成員函數(shù),它的作用與構(gòu)造函數(shù)相反,它的名稱是在類名前面加一個(gè)“~”符號(hào)。題目中要求的類名稱為“TCO”即這里補(bǔ)全“~TCO()”。第4處要求“設(shè)置類TCl的基類為TCl類的定義”,在第4處補(bǔ)充“ClassTCl:public,TC”。
一、程序改錯(cuò)題
使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正錯(cuò)誤,使得程序通過(guò)運(yùn)行。
程序輸出結(jié)果為
5
a
1
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語(yǔ)句在//******error**
****的下面。
試題程序:
#include(iostream)
template(classT>
//********error********
tmin(tX,ty)
{
return(x>y)?y:x;
}
voidmain()
{
intn=5:’
//********error********
charc="a":
intd=1:
//********error********
cout< cout< cout< }
二、簡(jiǎn)單應(yīng)用題
使用VC++6.0打開(kāi)考生文件夾下的源程序文件2.cpp。請(qǐng)完成函數(shù)fun(intn),使其實(shí)現(xiàn)以下功能:當(dāng)i等于3時(shí),則打印如下內(nèi)容。
A
AA
AAA
注意:不能修改程序的其他部分,只能修改fun函數(shù)。
試題程序:
#include
voidfun(intn)
{
}
voidmain()
{
intn;
cout<<"請(qǐng)輸入打印的行數(shù):"< cin>>n;
if(n<1)
{
cout<<"輸入的行數(shù)必須大于0"< return;
}
fun(n);
return;
}
三、綜合應(yīng)用題
使用VC++6.0打開(kāi)考生文件夾下的源程序文件3.cpp。其中定義的類不完整,按要求完成下列操作,將類的定義補(bǔ)充完整。
(1)在類TC中定義name為字符串類型,age為int型,請(qǐng)?jiān)谧⑨?之后添加語(yǔ)句。
(2)設(shè)置類TC0的基類為TC類的定義,請(qǐng)?jiān)谧⑨?后添加語(yǔ)句。
(3)在類TC的派生類TC0的公有成員中定義析構(gòu)函數(shù)TC0,請(qǐng)?jiān)谧⑨?后添加語(yǔ)句。
(4)設(shè)置類TCl的基類為TC類的定義,請(qǐng)?jiān)谧⑨?后添加語(yǔ)句。
程序輸出結(jié)果為
TCclassconstructor
TC0classconstructor
TConclassconstructor
TClclassconstructor
TClclassconstructor
TCclassconstructor
TC0classconstructor
TCclassconstructor
注意:增加或者修改代碼的位置已經(jīng)用符號(hào)表示出來(lái)一請(qǐng)不要修改其他的程序代碼。
試題程序:
#include
classTC
{
//********1********
public:
TC(){cout<<"TCclassconstructor"< TC(){tout<<"TCclassconstructor"< };
//********2********
{
char*departmert;
intlevel;
public:
TCO()
{cout<<"TCOclassconstructor"< //********3********
{cout<<"TC0classconstructor"< };
//********4********
{
char*maior:
floatsalary;
public:
TCl(){cOUt<<"TClclassconstructor"< TCI(){COUt<<"TClclassconstructor"< };
voidmain()
{
TC0sl;
TCItl;
}
上機(jī)考試試題答案與解析
一、程序改錯(cuò)題
(1)應(yīng)改為“Tmin(TX,Ty)”。
(2)應(yīng)改為“charc=’a’;”。
(3)應(yīng)改為“usingnamespacestd;”。
【解析】本題C++是區(qū)分大小寫的,“template T>”語(yǔ)句中定義的模板類為T不是t,所以第1處的“tmin(tx,ty)”修改為“Tmin(Tx,Ty)”。第2處的“charc="a";”語(yǔ)句中的變量a為char型,賦值為字符a,在C++中應(yīng)該使用單引號(hào)標(biāo)注字符變量,而不是雙引號(hào),所以修改為“charC=’a’;”。在程序中用到C++標(biāo)準(zhǔn)庫(kù)時(shí),要使用std標(biāo)準(zhǔn)命名空間進(jìn)行限定。cout為標(biāo)準(zhǔn)庫(kù)函數(shù),所以要聲明cout是在命名空間std中定義的流對(duì)象,即添加“usingnamespacestd;”。
二、簡(jiǎn)單應(yīng)用題
inti;
for(i=0;i {
intj;
for(j=0;j(n-i-1;j++)//循環(huán)打印空格
{
cout<<’’;
}
for(;j {
cout<<"A":
}
cout< }
【解析】本題利用外層循環(huán)打印每一行。內(nèi)層循環(huán)分為
打印空格和打印A。打印空格由第一個(gè)位置到第n-i-1。打印A,是由打印完空格開(kāi)始一直到行結(jié)束。在外循環(huán)中打印每一行的結(jié)束符。
三、綜合應(yīng)用題
(1)應(yīng)添加“char*name;intage;”。
(2)應(yīng)添加“classTC0:publicTC”。
(3)應(yīng)添加“~TCO()”。
(4)應(yīng)添加“classTC1:publicTC”。
【解析】本題第1處要求“TC中定義name為字符串類型,age為整型”。根據(jù)題目要求,在程序TC類中定義變量name和age,即“char*name;intage;”。第2處要求“設(shè)置類TC0的基類為TC類的定義”。在C++中,從已有的類產(chǎn)生一個(gè)新的子類,稱為類的派生。聲明派生類的一般形式為“ClaSS派生類名:[繼承方式]慕類名”。根據(jù)聲明派生類的一般形式,這里補(bǔ)全“classTC0:publicTC”。第3處要求“在類TC的派生類TCO的公有成員中定義析構(gòu)函數(shù)TC0”。析構(gòu)函數(shù)也是一個(gè)特殊的成員函數(shù),它的作用與構(gòu)造函數(shù)相反,它的名稱是在類名前面加一個(gè)“~”符號(hào)。題目中要求的類名稱為“TCO”即這里補(bǔ)全“~TCO()”。第4處要求“設(shè)置類TCl的基類為TCl類的定義”,在第4處補(bǔ)充“ClassTCl:public,TC”。