- 相關(guān)推薦
2016年12月計(jì)算機(jī)二級(jí)C++上機(jī)練習(xí)
以下是百分網(wǎng)小編為大家整理的關(guān)于2016年12月計(jì)算機(jī)二級(jí)C++上機(jī)練習(xí),大家可以來(lái)做一做,鞏固一下自己的知識(shí)。
一、綜合應(yīng)用題
使用VC6打開考生文件夾下的工程kt9_3,此工程包含一個(gè)源程序文件kt9_3.cpp,其中定義了Circle類與Money類,Circle類可對(duì)半徑為r的圓進(jìn)行周長(zhǎng)與面積的計(jì)算,而Money類用于計(jì)算一圓形游泳池的造價(jià)。游泳池四周有原形過(guò)道,過(guò)道外圍上柵欄,過(guò)道寬度為3米,根據(jù)鍵入的游泳池半徑,每米柵欄價(jià)格及每平方米過(guò)道價(jià)格,即可計(jì)算出游泳池的造價(jià)。請(qǐng)按要求完成下列操作,將程序補(bǔ)充完整。
(1)定義符號(hào)常量PI(值為3.14159f)與WIDTH(值為3.00f),分別用于表示圓周率與過(guò)道的固定寬度。請(qǐng)?jiān)谧⑨?ldquo;//**1**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(2)定義Circle類默認(rèn)構(gòu)造函數(shù),把私有成員radius初始化為參數(shù)r的值。請(qǐng)?jiān)谧⑨?ldquo;//**2**”之后添加適當(dāng)?shù)恼Z(yǔ)句;
(3)完成Money類默認(rèn)構(gòu)造函數(shù)的定義,把私有成員FencePrice(每米柵欄的價(jià)格)、ConcretePrice(每平方米過(guò)道的價(jià)格)初始化為參數(shù)f,c的值。請(qǐng)?jiān)谧⑨?ldquo;//**3**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(4)完成Money類成員函數(shù)floatMoney::TotalMoney(floatfencelen,floatconarea)的定義,根據(jù)參數(shù)fencelen(柵欄的長(zhǎng)度)和conarea(過(guò)道的面積),返回柵欄與過(guò)道的總造價(jià)。請(qǐng)?jiān)谧⑨?ldquo;//**4**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。
源程序文件kt9_3.cpp清單如下:
#include
//**1**
classCircle
{ private:
floatradius;
public:
//**2** floatCircumference(){return2*PI*radius;}
floatArea(){returnPI*radius*radius;} };
classMoney
{ private:
floatFencePrice;
floatConcretePrice;
public:
Money(floatf,floatc);
floatTotalMoney(floatfencelen,floatconarea); };
Money::Money(floatf,floatc)
{ //**3** }
floatMoney::TotalMoney(floatfencelen,floatconarea)
{ //**4** }
voidmain()
{ floatradius,fence,concrete;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2);
cout<<"Entertheradiusofthepool:";
cin>>radius;
cout<<"EntertheFencePrice:";
cin>>fence;
cout<<"EntertheConcretePrice:";
cin>>concrete;
CirclePool(radius);
CirclePoolRim(radius+WIDTH);
Moneymon(fence,concrete);
floattotalmoney=mon.TotalMoney(PoolRim.Circumference(),(PoolRim.Area()-Pool.Area()));
cout<<"ThetotalmoneyisRMB"<
【參考答案】
(1)const float PI = 3.14159f;
const float WIDTH =3.00f;
(2)Circle(float r):radius(r){};
(3)FencePrice=f;
ConcretePrice=c;
(4)return FencePrice*fencelen+ConcretePrice*conarea;
【試題解析】
本題考查對(duì)符號(hào)常量的定義及類的定義與實(shí)現(xiàn)等方面的內(nèi)容,其中常類型的定義應(yīng)使用const關(guān)鍵字。
二、改錯(cuò)題
使用VC6打開考生文件夾下的工程kt9_1,此工程包含一個(gè)源程序文件kt9_1.cpp,但該程序運(yùn)行有問(wèn)題,請(qǐng)改正程序中的錯(cuò)誤,使程序的輸出結(jié)果如下:
4,5
20
源程序文件清單如下:
#include
classA
{ protected:
intn,m;
public:
voidset(inta,intb){m=a;n=b;}
voidshow(){cout<
/**********found**********/ }
classB:publicA
{ ints;
public:
voidset(){s=m*n;}
voidshows(){cout<
voidmain()
{
Bb;
/**********found**********/
b.set();
b.show();
b.set(); /**********found**********/
b.show();
}
【參考答案】
(1)在“}”后添加分號(hào)
(2)將b.set();改為:b.A::set(4,5);
(3)將b.show();改為:b.shows();
【試題解析】
(1)主要考查對(duì)類定義格式的掌握,類的結(jié)尾應(yīng)該使用";";
(2)主要考查對(duì)基類與派生類函數(shù)調(diào)用關(guān)系的掌握,根據(jù)所要求的輸出結(jié)果,應(yīng)該調(diào)用的函數(shù)為類A的set,而不是類B自身的set函數(shù),應(yīng)該避免調(diào)用的二義性;
(3)主要考查對(duì)繼承與派生的理解,由所要求輸出結(jié)果可知正確:b.shows()。
三、簡(jiǎn)單應(yīng)用題
請(qǐng)編寫一個(gè)函數(shù)intCalcDigital(char*str),該函數(shù)可返回字符串str中數(shù)字字符(即“0”-“9”這10個(gè)數(shù)字)的個(gè)數(shù),如字符串"olympic2008"中數(shù)字字符的個(gè)數(shù)為4。請(qǐng)用if條件判斷語(yǔ)句與for循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)該函數(shù)。
注意:部分源程序已存在文件中。
請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)find的花括號(hào)中填寫若干語(yǔ)句。
文件kt9_2.cpp的內(nèi)容如下:
#include
#include
intCalcDigital(char*str);
voidmain()
{ char*str;
str=newchar[255];
cout<<"輸入字符串:";
cin>>str;
intnum=CalcDigital(str);
cout<
intCalcDigital(char*str)
{
}
【參考答案】
int CalcDigital(char *str)
{ if(str==NULL) return 0;
int num_of_digital=0;
int len=strlen(str); for(int i=0;i
if(str[i]<='9' && str[i]>='0')
num_of_digital++;
return num_of_digital; }
【試題解析】
本題考查對(duì)于if條件判斷語(yǔ)句與for循環(huán)語(yǔ)句的熟練使用程度。注意判斷條件(判斷是否是數(shù)字是直接比較ASCII碼)的使用。
【12月計(jì)算機(jī)二級(jí)C++上機(jī)練習(xí)】相關(guān)文章:
2016計(jì)算機(jī)二級(jí)《C++》上機(jī)練習(xí)題06-09
2016年12月計(jì)算機(jī)二級(jí)C++上機(jī)改錯(cuò)題訓(xùn)練09-16
2016年12月計(jì)算機(jī)二級(jí)C++上機(jī)選擇題訓(xùn)練10-03
2016計(jì)算機(jī)二級(jí)《C++》上機(jī)強(qiáng)化練習(xí)題10-21
2016計(jì)算機(jī)二級(jí)《C++》上機(jī)練習(xí)題及答案10-12
2016年9月計(jì)算機(jī)二級(jí)《C++》上機(jī)題庫(kù)及答案09-01
2016年9月計(jì)算機(jī)二級(jí)《C++》上機(jī)試題與解析11-14