查看匯總:2014年計(jì)算機(jī)二級(jí)C++上機(jī)模擬試題及解析匯總
一、改錯(cuò)題
使用VC6打開(kāi)考生文件夾下的工程kt7_1,此工程包含一個(gè)源程序文件kt7_1.cpp,但該程序運(yùn)行有問(wèn)題,請(qǐng)改正程序中的錯(cuò)誤,使程序的輸出結(jié)果如下:
Constructor1
Constructor1
Constructor1
Destructor
Constructor2
Destructor
x=0
x=5
Destructor
Destructor
源程序文件kt21_1.cpp清單如下:
#include
classB
{intx;
public:
B(){x=0;cout<<"Constructor1"<
B(inti){x=i;cout<<"Constructor2"<
~B(){cout<<"Destructor"<
/**********found**********/
~B(inti){cout<
voidprint(){cout<<"x="<
voidmain()
{B*ptr;
ptr=newB[2];
/**********found**********/
ptr[0]=B(0);
ptr[1]=B(5);
/**********found**********/
for(inti=0;i<2;)
ptr[i].print();
delete[]ptr;}
【參考答案】
(1)將~B(int i){cout<
(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"<
~B(){cout<<"Destructor"<
/**********found**********/
~B(inti){cout<
voidprint(){cout<<"x="<
voidmain()
{B*ptr;
ptr=newB[2];
/**********found**********/
ptr[0]=B(0);
ptr[1]=B(5);
/**********found**********/
for(inti=0;i<2;)
ptr[i].print();
delete[]ptr;}
【參考答案】
(1)將~B(int i){cout<
(2)將ptr[0]=B(0);改為:ptr[0]=B();
(3)將for (int i=0;i<2;)改為:for(int i=0;i<2;i++)
【試題解析】
本題主要考查對(duì)文件相關(guān)操作的熟練程度。首先定義文件流類(lèi)的變量,然后使用該對(duì)象的open方法打開(kāi)一個(gè)文件,接著使用while循環(huán)和getch方法每次讀入一個(gè)字符并統(tǒng)計(jì)字符個(gè)數(shù),最后使用close方法關(guān)閉文件,返回i值。
相關(guān)推薦:
2014年計(jì)算機(jī)等級(jí)考試過(guò)關(guān)技巧
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |