2019年9月計算機二級C語言試題(2)

發布于 2019-07-26 08:48  編輯:simi
0
計算機等級考試題庫 掃碼微信刷題


二級C語言試題.jpg


不論你在什么時候開始刷二級C語言試題,重要的是開始之后就不要輕言放棄;不論你在什么時候結束,重要的是結束之后就不要后悔。


程序改錯題

使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運行時有錯,請改正其中的錯誤,使程序正常運行,并使程序輸出的結果為

TC1

TC2

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

試題程序:

#include

#includestructTCO

{

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

virtualvoidfun();

};

classTClpublicTCO

{

voidfun()

{

cout<<"TCl"<}

};

classTC2publicTCO

{

voidfun()

{

cout<<"TC2"<}

};

voidmain()

{

TCO"P;

TClobj1;

TC2obj2;

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

p=*obj1;

p->fun();

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

p=*obj2;

p->fun();

return;

}

參考答案:

(1)應改為“virtualvoidfun()=0;”。

(2)應改為“p=&obj1;”。

(3)應改為“p=&obj2;”。

【解析】如果在基類中不使用這個虛函數,其返回值也是沒有意義的,它應該被定義為純虛函數。所以虛函數fun應該是純虛函數,也就是聲明虛函數時初始化為0的函數。即第2處的“virtualvoidfun()=0;”。第2處的P為指針變量,將對象obj1賦值給P,實際上蹙P指向對象obj1的地址,所以將“p=*obj1;”修改為“P=&obj1;”。第3處的“P=*obj2;”修改為“p=&obj2;”。

簡單應用題

使用VC++6.0打開考生交件夾下的源程序文件2.cpp。閱讀下列函數說明和代碼,完成空出部分程序。函數fun(intN[4])的功能是用4個數字,組成互不相同且無重復數字的3位數,并將滿足所有條件的數字輸出到屏幕,

并且每輸出一個3位數就換一行。

程序分析:可填在百位、十位、個位的數字都是1230。組成所有的排列后再去掉不滿足條件的排列。如果判定第一個數字是0,則也去掉。

試題程序:

#include

voidfun(intN[4])

{

}

intmain()

intN[4]={1230};

fun(N)

return0;

}

參考答案:

intijk;

for(i=0;i<4;i++)//百位循環

{

for(j=0;j<4;j++)//十位循環

for(k=0;k<4;k++)//個位循環

{

if(i!=j&&j!=k&&k!=i&&N[i]!=0)//

當三位數不同,并且百位不為0

{

cout<}

}

}

【解析】本題利用3層循環,對3位數字是否相同進行判斷。如果3位數不同,并且百位不為0,那么依次輸出這3 位數,即由3位數組成的數字。

綜合應用題

使用VC++6.0打開考生文件夾下的源程序文件3.cpp。其中定義的類不完整,按要求完成下列操作,將類的定義補充完整。

(1)基類People完成打印功能,定義其中的打印函數為

虛函數,請在注釋1后添加適當的語句。

(2)Boy繼承于People,在構造函數中設置性別為1

請在注釋2后添加適當的語句。

(3)Girl繼承于People,在構造函數中設置性別為0,請在注釋3后添加適當的語句。

(4)實現函數fun,用于傳遞不同的類型,打印出性別,請在注釋4后添加適當的語句。

輸出的內容如下:

Sex=Boy

Sex=Girl

注意:除在指定位暨添加語句之外,請不要改動程序中的其他內容。

試題程序:

#include

classPeople

{

public

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

voidprint(){}

intsex;

};

classBoypublicPeople

{

publiC

Boy()

{

//********2********}

voidprint()

{

cout<<"Boy"<}

};

classGirlpublicPeople

{

public

Girl()

{

//********3********}

voidprint()

{

cout<<"Girl"<}

};

//********4********{

cout<<"Sex=";

p.print();

}

intmain()

{

Boym

fun(m);

Girln

fun(n);

return0;

}

參考答案:

(1)將“voidprint(){};”補充完整為“virtualvoidprint(){};”。

(2)應添加“sex=1;”。

(3)應添加“sex=0;”。

(4)應添加“voidfun(People&p)”。

【解析】第1處要求“基類People完成打印功能,定義其中的打印函數為虛函數”。虛函數是函數的一種,定義虛函數,在函數名前聲明virtual就可以了,所以將第1處的“voidprint(){}”語句修改為“virtualvoidprint(){}”。第2處要求“類Boy繼承于People,在構造函數中設置性別為l”。基類People中變量sex用來存放性別,Boy繼承People,所以Boy中性別的變量可以使用基類中的sex變量,設置性別為1,即“sex=1;”。第3處要求“類Girl繼承于People,在構造函數中設置性別為0”。在第3處添加語句“sex=0;”。第4處要求“實現函數fun,用于傳遞不同的類型,打印出性別”。根據“P.print();”語句知道,fun函數的形參為指針P,由于它調用了基類People中的成員函數print,所以P的基類為People,即添加函數fun的定義為“voidfun(People&p)”。

 



考無憂小編tips

那些成功的人,不一定最初就是最優秀的,但一定都是堅持走了最遠的。人生很多時候沒有那么多道理可言,挺住,就意味著一切皆有可能。堅持復習以上的二級C語言試題,就意味著多一份考試通過的可能。





文章推薦:

全國計算機等級考試可以不考一級直接考二級嗎?

2019年全國計算機等級考試題庫“二級MS Office 高級應用考試大綱”

全國計算機等級考試報考成功后可以退費嗎?(內附計算機等級考試題庫)


溫馨提示:

考試想拿高分嗎?更多計算機等級考試題庫二級ms office試題請點擊查看>>>二級ms office

想要了解更多的計算機等級考試題庫請點擊下載>>>計算機等級考試題庫

想知道更多關于計算機等級考試題庫的近期資訊嗎?點擊進入>>>計算機等級考試題庫資訊



本文網址:http://www.eeuxx.tw/info/jsjdjks/1907/2654770.html
選擇分享到:
大圣捕鱼免费下载 福建11选5微信群 贵州快三开奖查询结果 韩国快乐8开奖结果 2014年香港特码资料 金辉彩票安卓 河南快三最大遗漏 多乐彩开奖结果 福彩七乐彩走势图首页 云南快乐10分走势图今 股票分析报告怎么写 河北十一选五今天开奖 捕鱼器电瓶 天天捕鱼2tv版兑换码 白小姐统一图库彩图 南通五人斗地主三副牌 天津时时彩开奖最快的地址