糯米文學吧

位置:首頁 > 計算機 > 計算機二級

2017上半年計算機二級C++備考練習題及答案

成績的取得離不開我們平時的努力,以下是本站小編為大家整理的2017上半年計算機二級C++備考練習題及答案,希望對大家的學習起到幫助!

2017上半年計算機二級C++備考練習題及答案

  一、 簡單應用題

已知考生的記錄由學號和學習成績構成,N名考生的數據已存入a結構體數組中。請編寫函數fun,該函數的功能是:找出成績最低的考生記錄,通過形參返回主函數(規定只有一個最低分)。已給予出函數的首部,請完成該函數。

注意:部分源程序已存在文件kt8_中。

請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入所編寫的若干語句。

文件kt8_的內容如下:

#include

#include

#include

#defineN10

typedefstructss

{charnum[10];

ints;

}STU;

voidfun(STUa[],STU*s)

{

}

voidmain()

{STU

a[N]={{"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},{"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71}},m;

fun(a,&m);

cout<<"*****Theoriginaldate*****"<

cout<<"Thelowest:"<

參考答案

fun(STU a[],STU *s)

{int i, min;

min=a[0].s;

for(i=0;i

if(a[i].s

{min=a[i].s;

*s=a[i];}}

【試題解析】

解題思路為:先假設第一個考生的成績最優,通過循環找到最低成績,並將最低成績的考生記錄傳給指針s,帶回主函數。

  二、綜合應用題

使用VC6打開考生文件夾下的工程kt7_3,此工程包含一個源程序文件kt7_,其中含有一個類Circle的定義,但該類的定義並不完整。請按要求完成下列操作,將類Circle的定義補充完整。

(1)為類Circle增加一個構造函數,該函數有一個參數,並在構造時將該參數值賦給成員radius。將該函數實現為一個非內聯函數,並且使用參數列表的方式將類成員賦值。請在註釋“//**1**”之後添加適當的語句。

(2)為類Circle增加一個成員函數print(  ),使得可以輸出有關圓的信息,比如下列程序

Circlec;

adius(5);

t(  );

將輸出:Thecirclehasradiusof5!

請在註釋“//**2**”之後添加適當的`語句。

(3)完成友元函數voidCompareR(Circle*c1,Circle*c2)的定義,在屏幕中輸出c1與c2比較radius大小結果,要求使用if-else結構完成。請在註釋“//**3**”之後添加適當的語句。

輸出結果如下:

Thecirclehasradusof5!

Thecirclehasradiusof10!

c1

注意:除在指定位置添加語句之外,請不要改動程序中的其他內容。

源程序文件kt7_清單如下:

#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; 來源:考試大

adius(5);

t(  );

Circlec2(10);

t(  );

CompareR(&c1,&c2);}

【參考答案】

(1)Circle(intrad):radius(rad){}

(2)voidPrint(  ){cout<<"Thecirclehasradiusof"<

(3)if((c1->GetRadius(  ))>(c2->GetRadius(  )))

【試題解析】

本題考查成員函數的定義與實現,友元函數,if分支語句等知識點。友元函數的類體外的定義與一般函數一樣,其中if-else的使用,else總是與其最近的那個if配對使用的,書寫時最好使用縮進格式,將配對的if-else對齊,以免出錯。