選擇題
1.數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門(mén)學(xué)科,主要研究數(shù)據(jù)邏輯結(jié)構(gòu)、對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行運(yùn)算,及( )
A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)
B.計(jì)算方法
C.數(shù)據(jù)映象
D.邏輯存儲(chǔ)
【參考答案】 A
2.在計(jì)算機(jī)中,算法是指( )
A.加工方法
B.解題方案的準(zhǔn)確而完整的描述
C.排序方法
D.查詢方法
【參考答案】 B
3.開(kāi)發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱做( )
A.軟件投機(jī)
B.軟件危機(jī)
C.軟件工程
D.軟件產(chǎn)生
【參考答案】 B
4.開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是( )
A.大系統(tǒng)的復(fù)雜性
B.人員知識(shí)不足
C.客觀世界千變?nèi)f化
D.時(shí)間緊、任務(wù)重
【參考答案】 A
5.數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)之間的關(guān)系是( )
A.數(shù)據(jù)庫(kù)包括數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)
B.數(shù)據(jù)庫(kù)系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)
C.數(shù)據(jù)庫(kù)管理系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)系統(tǒng)
D.3者沒(méi)有明顯的包含關(guān)系
【參考答案】 B
綜合應(yīng)用題
使用VC6打開(kāi)考生文件夾下的工程kt7_3,此工程包含一個(gè)源程序文件kt7_3.cpp,其中含有一個(gè)類Circle的定義,但該類的定義并不完整。請(qǐng)按要求完成下列操作,將類Circle的定義補(bǔ)充完整。
(1)為類Circle增加一個(gè)構(gòu)造函數(shù),該函數(shù)有一個(gè)參數(shù),并在構(gòu)造時(shí)將該參數(shù)值賦給成員radius。將該函數(shù)實(shí)現(xiàn)為一個(gè)非內(nèi)聯(lián)函數(shù),并且使用參數(shù)列表的方式將類成員賦值。請(qǐng)?jiān)谧⑨尅?/**1**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(2)為類Circle增加一個(gè)成員函數(shù)print( ),使得可以輸出有關(guān)圓的信息,比如下列程序
Circlec;
c.SetRadius(5);
c.Print( );
將輸出:Thecirclehasradiusof5!
請(qǐng)?jiān)谧⑨尅?/**2**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(3)完成友元函數(shù)voidCompareR(Circle*c1,Circle*c2)的定義,在屏幕中輸出c1與c2比較radius大小結(jié)果,要求使用if-else結(jié)構(gòu)完成。請(qǐng)?jiān)谧⑨尅?/**3**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
輸出結(jié)果如下:
Thecirclehasradusof5!
Thecirclehasradiusof10!
c1
注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。
源程序文件kt7_3.cpp清單如下:
#include
classCircle{
public:
Circle( ):radius(5){}
//**1**
voidSetRadius(intr){radius=r;}
intGetRadius( ){returnradius;}
//**2**
friendvoidCompareR(Circle*c1,Circle*c2);
private:
intradius;};
voidCompareR(Circle*c1,Circle*c2)
{//**3**
cout<<"c1>c2"<
else
if((c1->GetRadius( ))==(c2->GetRadius( )))
cout<<"c1=c2"<
else
if((c1->GetRadius( ))<(c2->GetRadius( )))
cout<<"c1
voidmain( )
{Circlec1;
c1.SetRadius(5);
c1.Print( );
Circlec2(10);
c2.Print( );
CompareR(&c1,&c2);}
【參考答案】
(1)Circle(intrad):radius(rad){}
(2)voidPrint( ){cout<<"Thecirclehasradiusof"<
(3)if((c1->GetRadius( ))>(c2->GetRadius( )))
【試題解析】
本題考查成員函數(shù)的定義與實(shí)現(xiàn),友元函數(shù),if分支語(yǔ)句等知識(shí)點(diǎn)。友元函數(shù)的類體外的定義與一般函數(shù)一樣,其中if-else的使用,else總是與其最近的那個(gè)if配對(duì)使用的,書(shū)寫(xiě)時(shí)使用縮進(jìn)格式,將配對(duì)的if-else對(duì)齊,以免出錯(cuò)。
1.數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門(mén)學(xué)科,主要研究數(shù)據(jù)邏輯結(jié)構(gòu)、對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行運(yùn)算,及( )
A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)
B.計(jì)算方法
C.數(shù)據(jù)映象
D.邏輯存儲(chǔ)
【參考答案】 A
2.在計(jì)算機(jī)中,算法是指( )
A.加工方法
B.解題方案的準(zhǔn)確而完整的描述
C.排序方法
D.查詢方法
【參考答案】 B
3.開(kāi)發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱做( )
A.軟件投機(jī)
B.軟件危機(jī)
C.軟件工程
D.軟件產(chǎn)生
【參考答案】 B
4.開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是( )
A.大系統(tǒng)的復(fù)雜性
B.人員知識(shí)不足
C.客觀世界千變?nèi)f化
D.時(shí)間緊、任務(wù)重
【參考答案】 A
5.數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)之間的關(guān)系是( )
A.數(shù)據(jù)庫(kù)包括數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)
B.數(shù)據(jù)庫(kù)系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)
C.數(shù)據(jù)庫(kù)管理系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)系統(tǒng)
D.3者沒(méi)有明顯的包含關(guān)系
【參考答案】 B
綜合應(yīng)用題
使用VC6打開(kāi)考生文件夾下的工程kt7_3,此工程包含一個(gè)源程序文件kt7_3.cpp,其中含有一個(gè)類Circle的定義,但該類的定義并不完整。請(qǐng)按要求完成下列操作,將類Circle的定義補(bǔ)充完整。
(1)為類Circle增加一個(gè)構(gòu)造函數(shù),該函數(shù)有一個(gè)參數(shù),并在構(gòu)造時(shí)將該參數(shù)值賦給成員radius。將該函數(shù)實(shí)現(xiàn)為一個(gè)非內(nèi)聯(lián)函數(shù),并且使用參數(shù)列表的方式將類成員賦值。請(qǐng)?jiān)谧⑨尅?/**1**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(2)為類Circle增加一個(gè)成員函數(shù)print( ),使得可以輸出有關(guān)圓的信息,比如下列程序
Circlec;
c.SetRadius(5);
c.Print( );
將輸出:Thecirclehasradiusof5!
請(qǐng)?jiān)谧⑨尅?/**2**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(3)完成友元函數(shù)voidCompareR(Circle*c1,Circle*c2)的定義,在屏幕中輸出c1與c2比較radius大小結(jié)果,要求使用if-else結(jié)構(gòu)完成。請(qǐng)?jiān)谧⑨尅?/**3**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
輸出結(jié)果如下:
Thecirclehasradusof5!
Thecirclehasradiusof10!
c1
注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。
源程序文件kt7_3.cpp清單如下:
#include
classCircle{
public:
Circle( ):radius(5){}
//**1**
voidSetRadius(intr){radius=r;}
intGetRadius( ){returnradius;}
//**2**
friendvoidCompareR(Circle*c1,Circle*c2);
private:
intradius;};
voidCompareR(Circle*c1,Circle*c2)
{//**3**
cout<<"c1>c2"<
else
if((c1->GetRadius( ))==(c2->GetRadius( )))
cout<<"c1=c2"<
else
if((c1->GetRadius( ))<(c2->GetRadius( )))
cout<<"c1
voidmain( )
{Circlec1;
c1.SetRadius(5);
c1.Print( );
Circlec2(10);
c2.Print( );
CompareR(&c1,&c2);}
【參考答案】
(1)Circle(intrad):radius(rad){}
(2)voidPrint( ){cout<<"Thecirclehasradiusof"<
(3)if((c1->GetRadius( ))>(c2->GetRadius( )))
【試題解析】
本題考查成員函數(shù)的定義與實(shí)現(xiàn),友元函數(shù),if分支語(yǔ)句等知識(shí)點(diǎn)。友元函數(shù)的類體外的定義與一般函數(shù)一樣,其中if-else的使用,else總是與其最近的那個(gè)if配對(duì)使用的,書(shū)寫(xiě)時(shí)使用縮進(jìn)格式,將配對(duì)的if-else對(duì)齊,以免出錯(cuò)。