第 1 頁(yè):選擇題 |
第 3 頁(yè):基本操作題 |
第 4 頁(yè):簡(jiǎn)單應(yīng)用題 |
三、簡(jiǎn)單應(yīng)用題(共24分)
42 [簡(jiǎn)答題]
請(qǐng)使用VC6或使用【答題】菜單打開(kāi)考生文件夾proj2下的工程proj2。其中有類(lèi)Point(“點(diǎn)”)、Rectangle(“矩形”)和Circle(“圓”)的定義。在程序所使用的平面坐標(biāo)系統(tǒng)中,x軸的正方向是水平向右的,y軸的正方向是豎直向下的。請(qǐng)?jiān)跈M線(xiàn)處填寫(xiě)適當(dāng)?shù)拇a并刪除橫線(xiàn),以實(shí)現(xiàn)上述類(lèi)定義。此程序的正確輸出結(jié)果應(yīng)該是:
--圓形------------
圓心=(3,2)
半徑=1
面積=3.14159
--外切矩形------
左上角=(2,1)
右下角=(4,3)
面積 =4
注意:只能在橫線(xiàn)處填寫(xiě)適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容,也不要?jiǎng)h除或移動(dòng)“// ****found ****”。
參考解析:
【參考答案】 (1)point.getX()+width,point.getY()+height
(2)radius * radius
(3)center.getX() - radius,center.getY() - radius
(4)2 * radius
【考點(diǎn)分析】
本題考查Point類(lèi)、Rectangle類(lèi)和Circle類(lèi),其中涉及構(gòu)造函數(shù)、const函數(shù)和靜態(tài)成員。
【解題思路】
(1)主要考查考生對(duì)成員函數(shù)的掌握,程序要求返回右下角頂點(diǎn),該點(diǎn)的x坐標(biāo)為左上角頂點(diǎn)的x坐標(biāo)加上width,該點(diǎn)的y坐標(biāo)為左上角頂點(diǎn)y坐標(biāo)加上height,即return Point(point.getX()+width,point.getY()+height);。
(2)主要考查考生對(duì)成員函數(shù)的掌握,程序要求計(jì)算圓形面積,也就是返回圓面積,即return PI * radius * radius;。
(3)主要考查考生對(duì)成員函數(shù)的掌握,首先看函數(shù)聲明:Rectangle Circle::boundingBox()const,可知該函數(shù)要返回的是一個(gè)Rectangle類(lèi)型,即要返回的是圓的外切矩形。再看Rectangle類(lèi)的構(gòu)造函數(shù)Rectangle(Point p,int w,int h),由此可知,空格處要定義的點(diǎn)pt為左上角點(diǎn),即Point pt(center.getX() - radius,center.getY() - radius);。
(4)由函數(shù)聲明和Rectangle類(lèi)的構(gòu)造函數(shù)可知,w和h應(yīng)該為直徑,即w=h=2 * radius;。
四、綜合應(yīng)用題(共18分)
43 [簡(jiǎn)答題]
【考點(diǎn)分析】
本題考查類(lèi)的數(shù)據(jù)成員、類(lèi)的成員函數(shù)、重載流運(yùn)算符>>和插入運(yùn)算符<<和字符數(shù)組。
【解題思路】
程序定義了MyString類(lèi),它包含一個(gè)成員:str字符指針;默認(rèn)構(gòu)造函數(shù)和復(fù)制構(gòu)造函數(shù)通過(guò)dup()函數(shù),動(dòng)態(tài)分配地址p,將參數(shù)拷貝到p指向的內(nèi)存空間,再使用p初始化str;show()成員函數(shù)將str指向的字符串輸出;reverse()成員函數(shù)將str指向的字符串反轉(zhuǎn);重載的<<運(yùn)算符函數(shù)調(diào)用形參m對(duì)象的show()函數(shù)輸出str指向的字符串。
main()函數(shù)首先構(gòu)造一個(gè)MyString類(lèi)對(duì)象m1,構(gòu)造過(guò)程中傳人字符串“This is a string”,所以m1對(duì)象中的str指向一個(gè)動(dòng)態(tài)分配的內(nèi)存空間,該段內(nèi)存存放拷貝的字符串“This is a string”,輸出m1后,再調(diào)用m1.reverse()函數(shù),將str指向的字符串進(jìn)行反轉(zhuǎn),再輸出m1,題意要求我們完成reverse()成員函數(shù)的定義,完成反轉(zhuǎn)字符串的功能。
由題意,我們僅有的信息就是str指向一個(gè)字符串,它是char*類(lèi)型,需要對(duì)str指向的字符串進(jìn)行反轉(zhuǎn),需要獲得字符串的長(zhǎng)度,然后將首尾字符進(jìn)行交換,直到交換到中間字符串為止,所以我們定義兩個(gè)變量i、j,表示元素下標(biāo),分別從首(i=0)和尾(長(zhǎng)度-1)向中間遍歷該字符串,每次遍歷,首先判斷i是否小于j,若i小于j則將i和J下標(biāo)對(duì)應(yīng)的字符進(jìn)行交換,交換完成后i自增1,j自減1,直到i不小于j為止。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
【考試吧整理】計(jì)算機(jī)等級(jí)考試各科目歷年真題全國(guó)計(jì)算機(jī)等級(jí)考試證書(shū)體系(2018版)
全國(guó)計(jì)算機(jī)等級(jí)考試課程、教材列表(2018版)
全國(guó)計(jì)算機(jī)等級(jí)證書(shū)分幾級(jí)?哪個(gè)級(jí)別最高?
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |