計算機等級考試二級C 模擬試題上機部分

2023-01-18 12:51:05 字數 3233 閱讀 4495

計算機等級考試二級c++模擬題及解析1上機部分

一、改錯題

使用vc6開啟考生資料夾下的工程kt6_1,此工程包含乙個源程式檔案kt6_但該程式執行有問題,請改正程式中的錯誤,使程式的輸出結果如下:

constructor2

constructor1

i=0i=10

destructor

源程式檔案kt6_清單如下:

#include

classcsample

;found

voiddisp()

【參***】

(1)將void disp()

改為:void csample::disp()

(2)將a->disp();

改為:a=new csample; a->disp();

(3)將b->disp();

改為:【試題解析】

(1)主要考查類成員函式定義格式的熟練掌握,對於類體外函式的實現,應該使用作用域符"::",按照返回值型別類名::函式名(引數列表)的形式進行說明;

(2)主要考查對動態儲存分配的掌握,根據前面的定義,a是乙個指標型別的變數,指向乙個物件,但是並沒有被初始化,此時a中的資料無任何意義,應該使用動態儲存分配new生成乙個新的物件,並將返回的指標賦值給a;

(3)主要考查物件指標與物件在呼叫成員函式時格式的不同,b是乙個物件變數,使用b呼叫成員函式應該用"."運算子。

二、簡單應用題

編寫函式fun(),它的功能是利用以下所示的簡單迭代方法求方程cos(x)-x=0的乙個實根。

xn+1=cos(xn)

迭代步驟如下:

(1)取x1初值為0.0。

(2)x0=x1,把x1的值賦給x0。

(3)x1=cos(x0),求出乙個新的x1。

(4)若x0-x1的絕對值小於0.000001,則執行步驟(5),否則執行步驟(2)。

(5)所求x1就是方程cos(x)-x=0的乙個實根,做為函式值返回。

程式輸出結果root=0.739085。

注意:部分源程式已存在檔案kt6_中。

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

檔案kt6_2的內容如下:

#include

#include

#include

floatfun()

voidmain()

while(fabs(x0-x1)>=1e-6);

return x1;

}  【試題解析】

解答本題的關鍵之處在於看清題中所給的「迭代步驟」,同時要理解xn+1=cosxn通式的含義,要考慮到x1的初值為0.0。

三、綜合應用題

使用vc6開啟考生資料夾下的工程kt6_3,此工程包含乙個源程式檔案kt6_其中定義了用於表示考生的類student,請按要求完成下列操作,將程式補充完整。

(1)定義私有資料成員code、english分別用於表示考生的編號、英語成績、它們都是int型的資料。請在注釋「//**1**」之後新增適當的語句。

(2)完成成員函式voidstudent::inputinformation()的定義,該函式用於使用者輸入乙個考生物件的資訊,輸入格式如下所示:

輸入編號:

英語成績:

計算機成績:

請在注釋「//**2**」之後新增適當的語句。

(3)利用已實現的類student的成員函式,完成函式voidfirstname(student*a,intnum)的定義,該函式根據考生資訊a,輸出num個考生中總分最高者的編號及其相應的總分,在此不考慮總分相同的情況。請在注釋「//**3**」之後新增適當的語句。

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

源程式檔案kt6_清單如下:

#include

classstudent

;  voidstudent::getinformation()

voidstudent::computesum()

intstudent::gettotalscore()

voidfirstname(student*a,intnum)

}cout<<"總分最高者--"<

}  voidmain()

for(i=0;i

firstname(a,3);}

【參***】

(1)int code;

int english;

(2)cout<<"輸入編號:";

cin>>code;

(3)int tempcode,tempsum;

tempcode=(*a[0]).getcode();

【試題解析】

本題是對c++程式設計的綜合考查,其設計類的成員及成員函式的定義與呼叫,資料的輸入輸出,for迴圈語句,if條件判斷語句等多個知識點,其中(3)中為指標陣列的使用,指標陣列是一組指標,每乙個成員都按照指標的操作規則,但是整個訪問規則仍然使用陣列下標方式,如a[0]指的是第乙個指標,而* a[0]是取出第乙個指標指向的內容。

計算機等級考試二級c++模擬題及解析2上機部分

一、改錯題

使用vc6開啟考生資料夾下的工程kt7_1,此工程包含乙個源程式檔案kt7_但該程式執行有問題,請改正程式中的錯誤,使程式的輸出結果如下:

constructor1

constructor1

constructor1

destructor

constructor2

destructor

x=0x=5destructor

destructor

源程式檔案kt21_清單如下:

#include

classb

【參***】

(1)將~b(int i){cout<<<" p destructor?<< be>

(2)將ptr[0]=b(0);改為:ptr[0]=b();

(3)將for (int i=0;i<2;)改為:for(int i=0;i<2;i++)

b(inti){x=i;cout<<"constructor2"<< p>

~b(){cout<<"destructor"<< p>

found

~b(inti){cout<<<"bedestructor"<< p>

voidprint(){cout<<"x="<<< p>

voidmain()

{b*ptr;

ptr=newb[2];

found

ptr[0]=b(0);

計算機等級考試二級C語言模擬試題

2010年9月計算機等級考試二級c語言模擬試題 三 1 筆試部分 一 選擇題 1.對下面程式描述正確的一項是 每行程式前面的數字表示行號 main int i for i 0 i 3 i scanf d a i for i 1 i 3 i a 0 a 0 a i printf f n a 0 a.沒...

模擬計算機等級考試二級ACCESS試題及答案

2009 09 15 18 44 一 選擇題 1 下列敘述中正確的是 a 線性表是線性結構 b 棧與佇列是非線性結構 c 線性鍊錶是非線性結構 d 二叉樹是線性結構 2 非空的迴圈單鏈表head的尾結點 由p所指向 滿足 a p next null b p null c p next head d ...

計算機等級考試二級VB全真模擬試題

chinaitlab 點選 9045 更新 2005 6 28 一 選擇題 35題,2分 題,共70分 下列各題a b c d 四個選項中,只有乙個選項是正確的,請將正確選項塗寫在答題卡相應位置上,答在試卷上不得分。1.當執行程式時,系統自動執行啟動窗體的某個事件過程。這個事件過程是 a a loa...