<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            試題

            9月計算機二級考試C++上機操作題

            時間:2025-02-23 21:20:14 試題 我要投稿
            • 相關推薦

            2017年9月計算機二級考試C++上機操作題

              計算機二級考試C++是有一定難度的考試,這就要求大家在平時要多做練習。下面小編為大家整理了2017年9月計算機二級考試C++上機操作題,希望能幫到大家!

            2017年9月計算機二級考試C++上機操作題

              基本操作題

              1[簡答題]

              請使用VC6或使用【答題】菜單打開考生文件夾proj1下的工程proj1,此工程中含有一個源程序文件proj1.cpp。其中位于每個注釋“// ERROR **********found **********”之后的一行語句存在錯誤。請改正這些錯誤,使程序的輸出結果為:

              NUM=0

              Value=1

              注意:只修改注釋“// ERROR ****found ****”的下一行語句,不要改動程序中的其他內容。

              參考解析:【參考答案】 (1)MyClass(int i=0):NUM(0){

              (2)void Increment(MyClass&f){f._i++;}

              (3)Increment(obj);

              【考點分析】

              本題考查的是MyClass類,其中涉及友元函數、構造函數、常量數據成員、成員函數和友元函數的調用。友元函數的定義要與函數聲明相呼應,即返回值、參數類型、參數個數要一致。友元函數的調用不需要使用類名和作用域。

              【解題思路】

              (1)主要考查考生對常量數據成員初始化方法的掌握,常量數據成員的初始化只能通過構造函數的成員初始化列表進行,并且要使用關鍵字const修飾。該題的前一條語句const int NUM;,說明NUM是常量數據成員。

              (2)主要考查考生對友元函數的掌握,友元函數的定義與聲明要一致,先看該友元函數的聲明部分:friend void Increment(MyClass& f);,返回類型為void,函數參數為MyClass& f;再比較出錯的語句:void Increment(){f._i++;},錯誤在于該函數沒有參數,應把MyClass & f填在括號內。

              (3)主要考查友元函數的調用,友元函數并不屬于類,因此調用友元函數時不需要添加類名及作用域,只需要像調用普通函數一樣即可。

              【解題寶典】

              類的常量數據成員初始化必須使用成員初始化列表進行,否則必然出錯。友元函數與普通函數的區別在于,友元函數可以通過對象名調用類的全部成員,包括私有成員。所有函數的聲明和定義必須一致,包括函數返回值、參數類型、參數個數及有無const關鍵字。

              簡單應用題

              2[簡答題]

              請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,該工程中包含一個程序文件main.cpp,其中有日期類Date、人員類Person及排序函數sortByName和主函數main的定義。請在程序中的橫線處填寫適當的代碼并刪除橫線,以實現上述類定義和函數定義。此程序的正確輸出結果應為:

              按姓名排序

              排序前

              張三男 出生日期:1978年4月20日

              王五女出生日期:1965年8月3日

              楊六女出生日期:1965年9月5日

              李四男 出生日期:1973年5月30日

              排序后:

              李四男出生日期:1973年5月30日

              王五女出生日期:1965年8月3日

              楊六女出生日期:1965年9月5日

              張三男出生日期:1978年4月20日

              注意:只能在橫線處填寫適當的代碼,不要改動程序中的其他內容,也不要刪除或移動“// ****found ****”。

              參考解析:【參考答案】 (1)is_male(is_male),birth_date(birth_date)

              (2)return strcmp(name,p.getName());

              (3) <

              【考點分析】

              本題考查Date類和Person類,其中涉及構造函數、const函數、bool型私有成員及成員函數,以及strcmp()函數。

              【解題思路】

              (1)主要考查考生對構造函數的掌握,由函數體內strcpy(this- >name,name);可知,要使用成員列表初始化的成員為is_male和birth_date。

              (2)主要考查考生對strcmp()函數的掌握,先看程序對該函數的功能要求:利用strcmp()函數比較姓名,返回一個正數、0或負數,分別表示大于、等于、小于。因為strcmp()函數的功能是比較字符串大小,因此可以直接被return語句調用:return strcmp(name,p.getName());。

              (3)主要考查考生對成員函數的掌握,程序的注釋為:顯示出生月,由此可以知道這里要輸出出生月份,直接調用函數getMonth()即可。

              【解題寶典】

              strcmp()函數、strcpy()函數、strlen()函數等是經常會用到的系統函數,要了解各個函數的功能:strait(連接)、strcly(復制)、strump(比較)、strlen(求長度)。

              綜合應用題

              3[簡答題]

              請使用VC6或使用【答題】菜單打開考生文件夾proj3下的工程文件proj3,此工程中包含一個源程序文件proj3.cpp,其中定義了用于表示平面坐標系中的點的類MyPoint和表示矩形的類MyRectangle;程序應當顯示:

              (0,2)(2,2)(2,0)(0,0)4

              但程序中有缺失部分,請按照以下提示,把缺失部分補充完整:

              (1)在 “//** 1 ** **** found ****”的下方是構造函數的定義,它用參數提供的左上角和右下角的坐標對upjeft和down_right進行初始化。

              (2)在 “//** 2 ** **** found ****”的下方是成員函數getDownLeft的定義中的一條語句。函數getDownLefit返回用MyPoint對象表示的矩形的左下角。

              (3)在 “//** 3 ** **** found ****”的下方是成員函數area的定義,它返回矩形的面積。

              注意:只在指定位置編寫適當代碼,不要改動程序中的其他內容,也不要刪除或移動“**** found ****”。

              參考解析:【參考答案】 (1)MyPoint pl,MyPoint p2

              (2)up_left.getX(),down-right.getY()

              (3)double MyRectangle::

              【考點分析】

              本題考查表示平面坐標系中的點的類MyPoint、表示矩形的類MyRectangle、構造函數和成員函數。

              【解題思路】

              (1)考查構造函數,構造函數中的參數要給私有成員賦值,在下句中up_left(p1),down_right(p2){}指出私有成員賦值要使用形參p1和p2,因此這里參數要定義為MyPoint p1,MyPoint p2。

              (2)主要考查成員函數的返回語句,MyPoint My

              Rectangle::getDownLeft()const函數要求返回一個左下角的點坐標,因此使用語句MyPoint(up_left.getX(),down_right.getY());。

              (3)主要考查成員函數的定義,在MyRectangle類中已經聲明double area()const,因此此處只要添加double MyRectangle::即可。

              【解題寶典】

              構造函數的參數定義時要注意在賦值語句中使用的參數。考查構造函數一般都會考查到形參,應注意聯系上下文。類的成員函數在類外定義時要在函數名前面加上:返回值類型+類名+作用域(::)。

            【9月計算機二級考試C++上機操作題】相關文章:

            2015年9月計算機二級VFP考試上機操作題10-25

            2016年9月計算機二級《C++》上機題庫及答案09-01

            2016年9月計算機二級《C++》上機試題與解析11-14

            2016年9月計算機二級《VFP》上機操作題庫08-27

            2017年3月計算機二級VB考試上機操作題11-07

            2016年12月計算機二級C++上機練習09-28

            2016年9月計算機二級《VB》上機操作題練習08-06

            9月計算機一級考試MSOffice上機操作題10-29

            2016年9月計算機二級《VFP》上機操作題及答案07-06

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看