- 相關推薦
2016年計算機二級《C++》非選擇題練習及答案
一、程序改錯題
1、使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運行時有錯。請改正程序中的錯誤,使程序輸出的結果為
100
37
32
注意:錯誤的語句在//******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ù)定義及冪同進制之間的轉換,包括十進制到八進制,十進制到十六進制。主函數(shù)定義的定義形式為“main()”,函數(shù)名之后必須是一對括號,因此第1處應改為“voidmain()”。cout輸出默認是以十進制方式輸出的,根據(jù)題目要求輸出的結果可發(fā)現(xiàn)變量的初值不正確,十進制的100對應八進制的144,卡進制的37對應十六進制的25,因此2和3應分別改成“intm=0144;”,“intn=0×25;”或“intn=0×25;”。
二、簡單應用題
2、使用VC++6.0打開考生文件夾下的源程序文件2.cpp。請完成函數(shù)fun(intn),使其實現(xiàn)以下功能:當i等于3時,則打印如下內容。
A
AA
AAA
注意:不能修改程序的其他部分,只能修改fun函數(shù)。
試題程序:
#include
voidfun(intn)
{
}
voidmain()
{
intn;
cout<<"請輸入打印的行數(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)打印每一行。內層循環(huán)分為
打印空格和打印A。打印空格由第一個位置到第n-i-1。打印A,是由打印完空格開始一直到行結束。在外循環(huán)中打印每一行的結束符。
三、綜合應用題
3、使用VC++6.0打開考生文件夾下的源程序文件3.cpp。請完成以下部分,實現(xiàn)在屏幕上輸出為
C3
C2
這個程序需要修改的部分,請按照以下部分實現(xiàn)。
(1)類C0不能被實例化,請定義一個純虛函數(shù)print,在注釋1后添加適當?shù)恼Z句。
(2)類C1私有虛繼承類C0,請在注釋2后添加適當?shù)恼Z句。
(3)類C2公有繼承于C0,請在注釋3后添加適當?shù)恼Z句。
(4)類c3公有繼承于C2與C1,請在注釋4后添加適當?shù)恼Z句。
注意:增加代碼或者修改代碼的位置已經(jī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)應添加“virtualvoidprint()=0,”。
(2)“classC1:”應改為“classC1:virtualprivateC0”。
(3)“classC2:”應改為“classC2:publicC0”。
(4)“classC3:”應改為“classC3:publicC2,publicC1”。
【解析】本題考查了類的繼承。根據(jù)題意,第1處應該添加“virtualvoidprint()=0;”。第2處根據(jù)題意,在冒號后面應添加“virtualprivateCO”。第3處根據(jù)題意,冒號后應添加“publicCO”。第4處根據(jù)題意,冒號后應添加“publicC2,publicC1”。
【計算機二級《C++》非選擇題練習及答案】相關文章:
2017計算機二級C++選擇題練習06-26
計算機二級C++選擇題專項練習04-15
計算機二級考試C++練習及答案03-27
計算機二級《VB》非選擇題練習201604-03