- 相關(guān)推薦
2016年計(jì)算機(jī)二級(jí)《C++》非選擇題練習(xí)及答案
一、程序改錯(cuò)題
1、使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò)。請(qǐng)改正程序中的錯(cuò)誤,使程序輸出的結(jié)果為
100
37
32
注意:錯(cuò)誤的語句在//******error******的下面,修改該語句即可。
試題程序:
#include
//******error******
voidmain
{
//******error******
intm=0142:
//******error******
intn=0X27:
intq=32;
cout<
cout<
cout<
return;
}
參考解析:
(1)“voidmain()”。
(2)“intm=0144;”。
(3)“intn=OX25;”或“intn===0x25;”。
【解析】本題主要考查了主函數(shù)定義及冪同進(jìn)制之間的轉(zhuǎn)換,包括十進(jìn)制到八進(jìn)制,十進(jìn)制到十六進(jìn)制。主函數(shù)定義的定義形式為“main()”,函數(shù)名之后必須是一對(duì)括號(hào),因此第1處應(yīng)改為“voidmain()”。cout輸出默認(rèn)是以十進(jìn)制方式輸出的,根據(jù)題目要求輸出的結(jié)果可發(fā)現(xiàn)變量的初值不正確,十進(jìn)制的100對(duì)應(yīng)八進(jìn)制的144,卡進(jìn)制的37對(duì)應(yīng)十六進(jìn)制的25,因此2和3應(yīng)分別改成“intm=0144;”,“intn=0×25;”或“intn=0×25;”。
二、簡單應(yīng)用題
2、使用VC++6.0打開考生文件夾下的源程序文件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;
}
參考解析:
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,是由打印完空格開始一直到行結(jié)束。在外循環(huán)中打印每一行的結(jié)束符。
三、綜合應(yīng)用題
3、使用VC++6.0打開考生文件夾下的源程序文件3.cpp。請(qǐng)完成以下部分,實(shí)現(xiàn)在屏幕上輸出為
C3
C2
這個(gè)程序需要修改的部分,請(qǐng)按照以下部分實(shí)現(xiàn)。
(1)類C0不能被實(shí)例化,請(qǐng)定義一個(gè)純虛函數(shù)print,在注釋1后添加適當(dāng)?shù)恼Z句。
(2)類C1私有虛繼承類C0,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。
(3)類C2公有繼承于C0,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。
(4)類c3公有繼承于C2與C1,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。
注意:增加代碼或者修改代碼的位置已經(jīng)用符號(hào)表示出來。請(qǐng)不要修改其他的程序代碼。
試題程序:
#include(iostream.h)
classCO
{
//********1********
};
//********2********
classC1:
{
public:
voidprint()
{
cout<"”C1"<
}
};
//********3********
classC2:
{
public:
voidprint()
{
cout<<"C2"<
}
};
//********4***x****
classC3:
{
public:
voidprint()
{
cout<<"C3"<
}
};
voidmain()
{
C30bj3;
C20bj2;
obj3.print();
obj2.print();
return;
}
參考解析:
(1)應(yīng)添加“virtualvoidprint()=0,”。
(2)“classC1:”應(yīng)改為“classC1:virtualprivateC0”。
(3)“classC2:”應(yīng)改為“classC2:publicC0”。
(4)“classC3:”應(yīng)改為“classC3:publicC2,publicC1”。
【解析】本題考查了類的繼承。根據(jù)題意,第1處應(yīng)該添加“virtualvoidprint()=0;”。第2處根據(jù)題意,在冒號(hào)后面應(yīng)添加“virtualprivateCO”。第3處根據(jù)題意,冒號(hào)后應(yīng)添加“publicCO”。第4處根據(jù)題意,冒號(hào)后應(yīng)添加“publicC2,publicC1”。
【計(jì)算機(jī)二級(jí)《C++》非選擇題練習(xí)及答案】相關(guān)文章:
2016計(jì)算機(jī)二級(jí)《C語言》非選擇題練習(xí)及答案03-10
計(jì)算機(jī)二級(jí)《C語言》非選擇題練習(xí)及答案201611-24
2017計(jì)算機(jī)二級(jí)C++選擇題練習(xí)03-30
2016計(jì)算機(jī)二級(jí)《C++》選擇題練習(xí)與解析11-18
2017年9月計(jì)算機(jī)二級(jí)C++選擇題練習(xí)及答案11-17
計(jì)算機(jī)二級(jí)《Access》選擇題練習(xí)及答案12-17
2016計(jì)算機(jī)二級(jí)考試C++練習(xí)題及答案03-16