計算機二級C++練習題:程序改錯題
為了使廣大考生在備戰計算機等級考試時,更快的掌握相應知識點,下面是小編搜索整理的計算機二級C++練習題:程序改錯題,供參考練習,預祝考生們考出自己理想的成績!
使用VC6打開考生文件夾下的工程kt9_1,此工程包含一個源程序文件kt9_,但該程序運行有問題,請改正程序中的錯誤,使程序的輸出結果如下:
4,5
20
源程序文件清單如下:
#include
classA
{protected:
intn,m;
public:
voidset(inta,intb){m=a;n=b;}
voidshow(){cout<<m<<","<<n<<endl;}
/**********found**********/}
classB:publicA
{ints;
public:
voidset(){s=m*n;}
voidshows(){cout<<s<<endl;}};
voidmain()
{
Bb;
/**********found**********/
();
();
();
/**********found**********/
();
}
【參考答案】
(1)在“}”後添加分號
(2)將();改為:b.A::set(4,5);
(3)將();改為:s();
【試題解析】
(1)主要考查對類定義格式的'掌握,類的結尾應該使用";";
(2)主要考查對基類與派生類函數調用關係的掌握,根據所要求的輸出結果,應該調用的函數為類A的set,而不是類B自身的set函數,應該避免調用的二義性;
(3)主要考查對繼承與派生的理解,由所要求輸出結果可知正確:s()。
計算機二級C++練習題:程序改錯題02使用VC6打開考生文件夾下的工程kt10_1,此工程包含一個源程序文件kt10_,但該程序運行有問題,請改正程序中的錯誤,使程序的輸出結果為:
classBase
classD1
classD2
classD3
finBase
源程序文件kt10_清單如下:
#include
classBase
{public:
Base(){cout<<"classBase"<<endl;}
voidf(){cout<<"finBase"<<endl;}};
classD1:virtualpublicBase
{public:
D1(){cout<<"classD1"<<endl;}
voidf(){cout<<"finD1"<<endl;}};
/**********found**********/
classD2:publicBase
{public:
D2(){cout<<"classD2"<<endl;}};
/**********found**********/
classD3::publicD1,publicD2
{public:
D3(){cout<<"classD3"<<endl;}};
voidmain()
{D3d;
/**********found**********/
d.f();}
【參考答案】
(1)將classD2:publicBase
改為:classD2:virtualpublicBase
(2)將classD3::publicD1,publicD2
改為:classD3:publicD1,publicD2
(3)將d.f();改為:::f();
【試題解析】
(1)主要考查對虛基類的理解,虛基類可以解決二義性的問題,其定義方式是在繼承列表中使用virtual關鍵字,使用虛基類可以避免程序運行中對基類函數調用的不惟一;
(2)主要考查對類的定義方法的掌握,“::”為作用域符,此處應該使用“:”,因為後面是繼承列表;
(3)主要考查對虛基類函數調用過程的理解,只有使用"::"限定才能訪問基類函數,否則將會調用自身的函數,如果該類沒有該函數的定義,則會自動調用其父類的該函數,所以必須使用“::”符號。
-
2017年計算機二級考試VB習題及答案
計算機等級證書是我們找工作的敲門磚,現在越來越多人重視計算機等級考試。下面是本站小編為大家帶來的2017年計算機二級考試VB習題及答案,希望對大家的學習有幫助!1.在菜單編輯器中建立一個菜單,其主菜單項的名稱為mnuEdit,Visible屬性為False,程序運行後,如果用鼠標...
-
2016年計算機二級C++逗號操作符應用方法詳解
不少C++newbie都會問到這問題,大家對+-*/自然是認識的了,對其他的%!&|之類的也不覺得陌生,但是逗號操作符?可能有一半的人會説不清楚它到底是幹啥的。其實,我們是經常會用到逗號操作符的,但是並不是所有代碼裏出現的逗號都是逗號操作符。讓我們先從一個類的示例...
-
計算機二級模擬試題及答案大綱
1、在面向對象方法中,不屬於對象基本特點的是A)一致性B)分類性C)多態性D)標識唯一性【答案】:A對象的基本特點:①標識唯一性;②分類性;③多態性;④封裝性;⑤模塊獨立性好。2、查詢所有目前年齡是22歲的學生信息:學號,姓名和年齡,正確的命令組是TEVIEWAGE_LISTAS;SELE...
-
2016年9月計算機二級MSoffice考前衝刺題及答案
選擇題1.下列敍述中正確的是().A.循環隊列是隊列的一種鏈式存儲結構B.循環隊列是隊列的一種順序存儲結構C.循環隊列是非線性結構D.循環隊列是一種邏輯結構2.下列關於線性鏈表的敍述中,正確的是().A.各數據結點的存儲空間可以不連續,但它們的存儲順序與邏輯順序必...