- 相關(guān)推薦
2017年9月計(jì)算機(jī)二級(jí)考試C++上機(jī)操作題
計(jì)算機(jī)二級(jí)考試C++是有一定難度的考試,這就要求大家在平時(shí)要多做練習(xí)。下面小編為大家整理了2017年9月計(jì)算機(jī)二級(jí)考試C++上機(jī)操作題,希望能幫到大家!
基本操作題
1[簡(jiǎn)答題]
請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾proj1下的工程proj1,此工程中含有一個(gè)源程序文件proj1.cpp。其中位于每個(gè)注釋“// ERROR **********found **********”之后的一行語句存在錯(cuò)誤。請(qǐng)改正這些錯(cuò)誤,使程序的輸出結(jié)果為:
NUM=0
Value=1
注意:只修改注釋“// ERROR ****found ****”的下一行語句,不要改動(dòng)程序中的其他內(nèi)容。
參考解析:【參考答案】 (1)MyClass(int i=0):NUM(0){
(2)void Increment(MyClass&f){f._i++;}
(3)Increment(obj);
【考點(diǎn)分析】
本題考查的是MyClass類,其中涉及友元函數(shù)、構(gòu)造函數(shù)、常量數(shù)據(jù)成員、成員函數(shù)和友元函數(shù)的調(diào)用。友元函數(shù)的定義要與函數(shù)聲明相呼應(yīng),即返回值、參數(shù)類型、參數(shù)個(gè)數(shù)要一致。友元函數(shù)的調(diào)用不需要使用類名和作用域。
【解題思路】
(1)主要考查考生對(duì)常量數(shù)據(jù)成員初始化方法的掌握,常量數(shù)據(jù)成員的初始化只能通過構(gòu)造函數(shù)的成員初始化列表進(jìn)行,并且要使用關(guān)鍵字const修飾。該題的前一條語句const int NUM;,說明NUM是常量數(shù)據(jù)成員。
(2)主要考查考生對(duì)友元函數(shù)的掌握,友元函數(shù)的定義與聲明要一致,先看該友元函數(shù)的聲明部分:friend void Increment(MyClass& f);,返回類型為void,函數(shù)參數(shù)為MyClass& f;再比較出錯(cuò)的語句:void Increment(){f._i++;},錯(cuò)誤在于該函數(shù)沒有參數(shù),應(yīng)把MyClass & f填在括號(hào)內(nèi)。
(3)主要考查友元函數(shù)的調(diào)用,友元函數(shù)并不屬于類,因此調(diào)用友元函數(shù)時(shí)不需要添加類名及作用域,只需要像調(diào)用普通函數(shù)一樣即可。
【解題寶典】
類的常量數(shù)據(jù)成員初始化必須使用成員初始化列表進(jìn)行,否則必然出錯(cuò)。友元函數(shù)與普通函數(shù)的區(qū)別在于,友元函數(shù)可以通過對(duì)象名調(diào)用類的全部成員,包括私有成員。所有函數(shù)的聲明和定義必須一致,包括函數(shù)返回值、參數(shù)類型、參數(shù)個(gè)數(shù)及有無const關(guān)鍵字。
簡(jiǎn)單應(yīng)用題
2[簡(jiǎn)答題]
請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,該工程中包含一個(gè)程序文件main.cpp,其中有日期類Date、人員類Person及排序函數(shù)sortByName和主函數(shù)main的定義。請(qǐng)?jiān)诔绦蛑械臋M線處填寫適當(dāng)?shù)拇a并刪除橫線,以實(shí)現(xiàn)上述類定義和函數(shù)定義。此程序的正確輸出結(jié)果應(yīng)為:
按姓名排序
排序前
張三男 出生日期:1978年4月20日
王五女出生日期:1965年8月3日
楊六女出生日期:1965年9月5日
李四男 出生日期:1973年5月30日
排序后:
李四男出生日期:1973年5月30日
王五女出生日期:1965年8月3日
楊六女出生日期:1965年9月5日
張三男出生日期:1978年4月20日
注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容,也不要?jiǎng)h除或移動(dòng)“// ****found ****”。
參考解析:【參考答案】 (1)is_male(is_male),birth_date(birth_date)
(2)return strcmp(name,p.getName());
(3) <
【考點(diǎn)分析】
本題考查Date類和Person類,其中涉及構(gòu)造函數(shù)、const函數(shù)、bool型私有成員及成員函數(shù),以及strcmp()函數(shù)。
【解題思路】
(1)主要考查考生對(duì)構(gòu)造函數(shù)的掌握,由函數(shù)體內(nèi)strcpy(this- >name,name);可知,要使用成員列表初始化的成員為is_male和birth_date。
(2)主要考查考生對(duì)strcmp()函數(shù)的掌握,先看程序?qū)υ摵瘮?shù)的功能要求:利用strcmp()函數(shù)比較姓名,返回一個(gè)正數(shù)、0或負(fù)數(shù),分別表示大于、等于、小于。因?yàn)閟trcmp()函數(shù)的功能是比較字符串大小,因此可以直接被return語句調(diào)用:return strcmp(name,p.getName());。
(3)主要考查考生對(duì)成員函數(shù)的掌握,程序的注釋為:顯示出生月,由此可以知道這里要輸出出生月份,直接調(diào)用函數(shù)getMonth()即可。
【解題寶典】
strcmp()函數(shù)、strcpy()函數(shù)、strlen()函數(shù)等是經(jīng)常會(huì)用到的系統(tǒng)函數(shù),要了解各個(gè)函數(shù)的功能:strait(連接)、strcly(復(fù)制)、strump(比較)、strlen(求長(zhǎng)度)。
綜合應(yīng)用題
3[簡(jiǎn)答題]
請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾proj3下的工程文件proj3,此工程中包含一個(gè)源程序文件proj3.cpp,其中定義了用于表示平面坐標(biāo)系中的點(diǎn)的類MyPoint和表示矩形的類MyRectangle;程序應(yīng)當(dāng)顯示:
(0,2)(2,2)(2,0)(0,0)4
但程序中有缺失部分,請(qǐng)按照以下提示,把缺失部分補(bǔ)充完整:
(1)在 “//** 1 ** **** found ****”的下方是構(gòu)造函數(shù)的定義,它用參數(shù)提供的左上角和右下角的坐標(biāo)對(duì)upjeft和down_right進(jìn)行初始化。
(2)在 “//** 2 ** **** found ****”的下方是成員函數(shù)getDownLeft的定義中的一條語句。函數(shù)getDownLefit返回用MyPoint對(duì)象表示的矩形的左下角。
(3)在 “//** 3 ** **** found ****”的下方是成員函數(shù)area的定義,它返回矩形的面積。
注意:只在指定位置編寫適當(dāng)代碼,不要改動(dòng)程序中的其他內(nèi)容,也不要?jiǎng)h除或移動(dòng)“**** found ****”。
參考解析:【參考答案】 (1)MyPoint pl,MyPoint p2
(2)up_left.getX(),down-right.getY()
(3)double MyRectangle::
【考點(diǎn)分析】
本題考查表示平面坐標(biāo)系中的點(diǎn)的類MyPoint、表示矩形的類MyRectangle、構(gòu)造函數(shù)和成員函數(shù)。
【解題思路】
(1)考查構(gòu)造函數(shù),構(gòu)造函數(shù)中的參數(shù)要給私有成員賦值,在下句中up_left(p1),down_right(p2){}指出私有成員賦值要使用形參p1和p2,因此這里參數(shù)要定義為MyPoint p1,MyPoint p2。
(2)主要考查成員函數(shù)的返回語句,MyPoint My
Rectangle::getDownLeft()const函數(shù)要求返回一個(gè)左下角的點(diǎn)坐標(biāo),因此使用語句MyPoint(up_left.getX(),down_right.getY());。
(3)主要考查成員函數(shù)的定義,在MyRectangle類中已經(jīng)聲明double area()const,因此此處只要添加double MyRectangle::即可。
【解題寶典】
構(gòu)造函數(shù)的參數(shù)定義時(shí)要注意在賦值語句中使用的參數(shù)?疾闃(gòu)造函數(shù)一般都會(huì)考查到形參,應(yīng)注意聯(lián)系上下文。類的成員函數(shù)在類外定義時(shí)要在函數(shù)名前面加上:返回值類型+類名+作用域(::)。
【9月計(jì)算機(jī)二級(jí)考試C++上機(jī)操作題】相關(guān)文章:
2016年9月計(jì)算機(jī)二級(jí)《C++》上機(jī)題庫及答案09-01
2016年9月計(jì)算機(jī)二級(jí)《VFP》上機(jī)操作題庫08-27
2017年3月計(jì)算機(jī)二級(jí)VB考試上機(jī)操作題11-07
9月計(jì)算機(jī)一級(jí)考試MSOffice上機(jī)操作題10-29
2008年9月計(jì)算機(jī)等級(jí)考試二級(jí)C++11-02
2016計(jì)算機(jī)二級(jí)考試《VF》上機(jī)操作題08-12
計(jì)算機(jī)二級(jí)VB考試上機(jī)操作題及答案201708-18
2017計(jì)算機(jī)二級(jí)C++上機(jī)考試試題及答案06-20