當前位置:才華齋>計算機>計算機二級>

2016年計算機二級C++考試試卷及答案大綱

計算機二級 閱讀(1.37W)

  一、程式改錯題

2016年計算機二級C++考試試卷及答案大綱

(1)應改為“for(x=0;x<5;x++)”。

(2)應改為“cout<  【解析】本題中根據陣列a、b的定義。它們都有5個元

素,而第1處的“for(x=0;x<=5;x++)”迴圈了6次,應該是5次,所以在第1處將其修改為“for(x=0;x<5;x++)”;第2處的P變數為指標型變數,p+x為糯向陣列中第X個元素的地址,這裡要輸出的是儲存單元的內容,所以使用“*”指標元素符,即修改為“cout<  三、簡單應用題

inti,a[4],t;

a[0]=n%10;//取整型n的第1位數字

a[1]=n%100/10;//取整型n的第2位數字

a[2]=n%1000/100;//取整型n的第3位數字

a[3]=n/1000;//取整型n的第4位數字

for(i=0;i<=3;i++)//每位數字加3,取餘

{

a[i]+=3;

a[i]%=9;

}

t=a[0];//根據加密演算法交換

a[0]=a[3];

a[3]=t;

t=a[1];

a[1]=a[2];

a[2]=t;

returna[3]*1000+a[2]*100+a[1]*10+a[0];

//重組,返回加密數字

【解析】本題首先取得要加密整數的每一位數字,並存入陣列。根據加密演算法,利用迴圈實現每位數字加3,再除以9取餘。根據加密演算法進行數字交換,最後重組,返回密碼。

  二、綜合應用題

(1)應新增“staticintNum;”。

(2)應新增“intTC::Num=10;”。

(3)應新增“staticintget(TC*obj)”。

(4)將“cout<<<  【解析】第1處要求“增加靜態私有變數Num,型別為int”。靜態變數的定義格式為static型別變數名稱,本題只要在類的private區域定義int型的靜態變數Num,即在第1處新增“staticintNum;”。第2處要求“增加靜態變數Num並初始化為10”。第2個標識的位置在類TC的外部,在C++中,使用“::”作用域運算子宣告定義的變數屬於哪個類。由題幹知道,Num屬於類TC,根據C++的作用域運算子,在第2處新增語句“intTC::Num=10;”。第3處要求“完成靜態函式9et的定義”。根據第3個標識下的“re-turnNum+obj->Own;”語句知道,get函式具有形參obj指標。obj呼叫Own變數,說明它是TC型別,並且靜態函式的定義只要在其前面宣告static就可以了,即在第3處添

加語句“staticintget(TC*obj)”。第4處要求“完成物件obj對靜態函式get進行呼叫,使得輸出21到螢幕上”。程式中第4處的“cout<<< 程式改錯題(18分)

使用VC++6.0開啟考生資料夾下的源程式檔案,該程式執行時有錯,請改正其中的錯誤,使程式正常執行,即使程式在螢幕輸出以下類似內容:

0012FF6810012FF3C5

0012FF6C20012FF444

0012FF7030012FF4C3

0023FF7440012FF542

0012FF7850012FF5C1

006AFDCC~006AFDEF資料可能因為機器的不同,程式輸出的內容會有差異。只要相差為4的連續地址即可。

注意:不要改動main函式,不能增加或刪除行,也不能更改程式的結構,錯誤的語句在//******error******的下面。

試題程式:

#include

usingnamespacestd;

intmain()

{

int*P,a[5]={1,2,3,4,5};

double*q,b[5]={5.0,4.0,3.0,2.0,1.0);

intx;

P=a;

q=b;

//********error********

for(x=0;x<=5;X++)

//********error********

cout<  (q+x)<  return0;

}

  三、簡單應用題(24分)

使用VC++6.0開啟考生資料夾下的源程式檔案。閱讀下列函式說明和程式碼,完成空出部分程式。函式fun(intn)的功能是實現對一個整數的加密,具體的加密方法是一個4位長的.整數,用每位數字加上3然後除以9的餘數代替該數字,再將第1位和第4位交換,第2位和第3位交換,然後返回得到的密碼。

程式輸出結果為

1864

2075

注意:不能修改其他部分的程式碼。

試題程式:

#include

#include

intfun(intn)

{

}

intmain()

{

inti=1357:

cout<  i=2468;

cout<  return0;

}

  四、綜合應用題(18分)

使用VC++6.0開啟考生資料夾下的源程式檔案。其中定義的類並不完整,按要求完成下列操作,將類

的定義補充完整,使得程式的輸出結果為21。

(1)增加靜態私有變數Num,型別為int,請在註釋1後新增適當的語句。

(2)增加靜態變數Num並初始化為10,請在註釋2後新增適當的語句。

(3)完成靜態函式get的定義,請在註釋3後新增適當的語句。

(4)完成物件obj對靜態函式get的呼叫,使得輸出結果

為21,請在註釋4後新增適當的語句。

注意:增加或者修改程式碼的位置已經用符號表示出來,請不要修改其他的程式程式碼。

試題程式:

#include

classTC

{

//********1********

intOwn;

public:

TC(inti)

{

Own=i;

}

//********2********

{

returnNum+obj->Own;

}

};

//********3********

intmain()

{

TCobj(11);

//********4********

cout<<<  return0;

}