- 相關(guān)推薦
2015年9月全國(guó)計(jì)算機(jī)二級(jí)考試C++筆試模擬題及答案(五)
一、填空題
1.在面向?qū)ο蠓椒ㄖ校愔g共享屬性和操作的機(jī)制稱為【1】。
【參考答案】
1.【1】繼承
2.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體“項(xiàng)目主管”與實(shí)體“項(xiàng)目”的聯(lián)系屬于【2】的聯(lián)系。
【參考答案】
2.【2】一對(duì)多(或1:N)
3.Jackson結(jié)構(gòu)化程序設(shè)計(jì)方法是英國(guó)的M.Jackson提出的,它是一種面向【3】的設(shè)計(jì)方法。
【參考答案】
3.【3】數(shù)據(jù)結(jié)構(gòu)
4.軟件設(shè)計(jì)模塊化的目的是【4】。
【參考答案】
【4】降低復(fù)雜性
5.在樹(shù)結(jié)構(gòu)中,樹(shù)根結(jié)點(diǎn)沒(méi)有【5】。
【參考答案】
【5】前件
6.C++中封裝性、繼承性和【6】是面向?qū)ο笏枷氲闹饕卣鳌?/p>
【參考答案】
【6】 多態(tài)性
7.下列for語(yǔ)句的循環(huán)次數(shù)為【7】。
for(int a=0,b=1;b&&a<5;a++);
【參考答案】
【7】5
8.C++程序是從【8】函數(shù)開(kāi)始執(zhí)行的。
【參考答案】
【8】main
9.派生類構(gòu)造函數(shù)的執(zhí)行順序是先執(zhí)行【9】的構(gòu)造函數(shù),然后執(zhí)行成員對(duì)象的構(gòu)造函數(shù),最后執(zhí)行【10】的構(gòu)造函數(shù)。
【參考答案】
9.【9】基類 【10】派生類
10.C++語(yǔ)言程序的注釋可以出現(xiàn)在程序中的任何地方,一個(gè)注釋以【11】作為開(kāi)始和結(jié)束的標(biāo)記。
【參考答案】
【11】/**/
11.用以下語(yǔ)句調(diào)用庫(kù)函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁铡?/p>
st=(char*)【12】;
【參考答案】
【12】malloc(11)或malloc(sizeof(char)*11)
12.下列程序在構(gòu)造函數(shù)和析構(gòu)函數(shù)中申請(qǐng)和釋放類的數(shù)據(jù)成員int *a,申請(qǐng)時(shí)使用形參b初始化a,請(qǐng)?zhí)羁铡?/p>
class A
{
public:
A(int b);
~A();
private:
int *a;
};
A::(int b)
{【13】;}
A::~A()
{【14】;}
【參考答案】
12.【13】a=new int(b) 【14】delete a
13.將x+y*z中的“+”用成員函數(shù)重載,“*”用友元函數(shù)重載應(yīng)寫為【15】。
【參考答案】
【15】x.operator+(operator *(y,z))
二、改錯(cuò)題
使用VC6打開(kāi)考生文件夾下的工程kt1_1,此工程包含一個(gè)源程序文件kt1_1.cpp,但該程序運(yùn)行有問(wèn)題,請(qǐng)改正程序中的錯(cuò)誤,使程序的輸出結(jié)果為:
Whichact(aorb)?b
act1
act2
Bact3
Bact4
Bend
源程序文件kt1_1.cpp清單如下:
#include
classA
{public:
virtualvoidact1(){cout<<"act1\n";act2();}
voidact2(){cout<<"act2\n";act3();}
voidact3(){cout<<"Aact3\n";act4();}
virtualvoidact4{cout<<"Aact4\n";act5();}
voidact5(){cout<<"Aend\n";}
};
classB:publicA
{
voidact3(){cout<<"Bact3\n";act4();}
voidact4(){cout<<"Bact4\n";act5();}
voidact5(){cout<<"Bend\n";}
};
voidmain(void)
{
charc;
A*a;
cout<<"Whichact(aorb)?";
cin<
if(c=='a')
a=newA;
else
a=newB;
a->act1();
deletea;
【參考答案】
(1)將void act3(){cout<<"Aact3\n";act4();}
改為:virtual void act3(){cout<<"Aact3\n";act4();}
(2)將virtual void act4{cout<<"Aact4\n";act5();}
改為:virtual void act4(){cout<<"Aact4\n";act5();}
(3)將cin<
改為:cin>>c;
【試題解析】
(1)主要考查對(duì)虛函數(shù)使用規(guī)則的理解,要實(shí)現(xiàn)對(duì)函數(shù)act3的動(dòng)態(tài)聯(lián)編應(yīng)該使用虛函數(shù),這樣在本題中對(duì)于函數(shù)的調(diào)用才能實(shí)現(xiàn)根據(jù)不同對(duì)象調(diào)用不同函數(shù);
(2)主要考查對(duì)函數(shù)定義的掌握,雖然參數(shù)表為空,但括號(hào)是不能省略的;
(3)主要考查是否會(huì)使用流輸入操作,本題中使用的是流輸出符。
三、簡(jiǎn)單應(yīng)用題
請(qǐng)編寫一個(gè)函數(shù)voidfun(charss[]),該函數(shù)將字符串ss翻轉(zhuǎn),如ss為“123abc”則翻轉(zhuǎn)后為“cba321”。注意:用數(shù)組方式及for循環(huán)來(lái)實(shí)現(xiàn)該函數(shù)。
注意:部分源程序已存在文件kt1_2.cpp中。
請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填寫若干語(yǔ)句。
文件kt1_2.cpp的內(nèi)容如下:
#include
#include
voidfun(charss[]);
【參考答案】
(1)將void act3(){cout <<"Aact3\n";act4();}
改為:virtual void act3(){cout <<"Aact3\n";act4();}
(2)將virtual void act4{cout <<"Aact4\n";act5();}
改為:virtual void act4(){cout <<"Aact4\n";act5();}
(3)將cin <
改為:cin >>c;
【試題解析】
(1)主要考查對(duì)虛函數(shù)使用規(guī)則的理解,要實(shí)現(xiàn)對(duì)函數(shù)act3的動(dòng)態(tài)聯(lián)編應(yīng)該使用虛函數(shù),這樣在本題中對(duì)于函數(shù)的調(diào)用才能實(shí)現(xiàn)根據(jù)不同對(duì)象調(diào)用不同函數(shù);
(2)主要考查對(duì)函數(shù)定義的掌握,雖然參數(shù)表為空,但括號(hào)是不能省略的;
(3)主要考查是否會(huì)使用流輸入操作,本題中使用的是流輸出符。
四、綜合應(yīng)用題
使用VC6打開(kāi)考生文件夾下的工程test1_3,此工程包含一個(gè)源程序文件kt1_3.cpp,其中定義了類Cat,但類Cat的定義并不完整。請(qǐng)按要求完成下列操作,將類Cat的定義補(bǔ)充完整。
(1)定義類Cat的保護(hù)數(shù)據(jù)成員itsAge用于表示年齡,它是int型的數(shù)據(jù)。請(qǐng)?jiān)谧⑨?ldquo;//**1**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(2)完成成員函數(shù)GetAge()的類外定義,返回成員的itsAge值,請(qǐng)?jiān)谧⑨?ldquo;//**2**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(3)完成成員函數(shù)SetAge(intage)的類外定義,把數(shù)據(jù)成員itsAge賦值為參數(shù)age的值,請(qǐng)?jiān)谧⑨?ldquo;//**3**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(4)完成成員函數(shù)Meow的類外定義,使其輸出字符串“meow.”到屏幕上。請(qǐng)?jiān)谧⑨?ldquo;//**4**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
輸出結(jié)果如下:
meow.
kittyisacatwhois5yearsold.
meow.
注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。
源程序如下:
#include
classCat
{
public:
intGetAge();
voidSetAge(intage);
voidMeow();
protected:
//**1**
};
intCat::GetAge()
{
//**2**
}
voidCat::SetAge(intage)
{
//**3**
}
voidCat::Meow()
{
//**4**
}
voidmain()
{
Catkitty;
kitty.Meow();
kitty.SetAge(5);
cout<<"kittyisacatwhois";
cout<
cout<<"yearsold.\n";
kitty.Meow();
}
【參考答案】
(1)int itsAge;
(2)return itsAge;
(3)itsAge=age;
(4)cout<<"meow.\n";
【試題解析】
本題主要考查類的定義和成員函數(shù)的定義的深刻理解。
【9月全國(guó)計(jì)算機(jī)二級(jí)考試C++筆試模擬題及答案五】相關(guān)文章:
全國(guó)計(jì)算機(jī)二級(jí)考試C++筆試模擬題及答案11-22
2015年9月全國(guó)計(jì)算機(jī)二級(jí)考試C++筆試模擬題及答案(三)07-31
2015年9月全國(guó)計(jì)算機(jī)二級(jí)考試C++筆試模擬題及答案(四)11-09
2015年9月全國(guó)計(jì)算機(jī)二級(jí)考試C++筆試模擬題及答案(六)07-04
全國(guó)計(jì)算機(jī)二級(jí)考試《C++》筆試樣卷06-12
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試題08-24
下半年全國(guó)計(jì)算機(jī)二級(jí)C++考試模擬題及答案06-27