2017計算機二級C++操作練習題附答案
引導語:2017年9月計算機二級考試快要來臨了,你是否在煩惱沒有操作練習題呢,以下是本站小編分享給大家的2017計算機二級C++操作練習題附答案,歡迎練習!
一、程序改錯題(18分)
使用VC++6.0打開考生文件夾下的源程序文件,該程序運行時有錯,請改正其中的錯誤,使程序正常運行,並使程序輸出的結果為 TC1 TC2
注意:不要改動main函數,不能增加或刪除行,也不能更改程序的結構,錯誤的語句在//******error******的下面。 試題程序: #include
#include structTCO {
//********error******** virtualvoidfun(); };
classTCl:publicTCO { voidfun() {
cout<<"TCl"< } };
classTC2:publicTCO { voidfun() {
cout<<"TC2"< } }; voidmain() { TCO"P; TClobj1; TC2obj2;
//********error******** p=*obj1; p->fun();
//********error********
p=*obj2; p->fun(); return; }
二、簡單應用題(24分)
使用VC++6.0打開考生交件夾下的源程序文件。閲讀下列函數説明和代碼,完成空出部分程序。函數fun(intN[4])的功能是用4個數字,組成互不相同且無重複數字的3位數,並將滿足所有條件的數字輸出到屏幕,
並且每輸出一個3位數就換一行。
程序分析:可填在百位、十位、個位的數字都是1、2、3、0。組成所有的排列後再去掉不滿足條件的排列。如果判定第一個數字是0,則也去掉。 試題程序: #include voidfun(intN[4]) { } intmain()
intN[4]={1,2,3,0}; fun(N): return0; }
三、綜合應用題(18分)
使用VC++6.0打開考生文件夾下的源程序文件。其中定義的類不完整,按要求完成下列操作,將類的定義補充完整。
(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; };
classBoy:publicPeople
{ publiC: Boy() {
//********2********} voidprint() {
cout<<"Boy"< } };
classGirl:publicPeople { public: Girl() {
//********3********} voidprint() {
cout<<"Girl"< } };
//********4********{ cout<<"Sex="; t(); } intmain() { Boym: fun(m); Girln: fun(n); return0; }
一、程序改錯題
(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;”。
二、簡單應用題
inti,j,k;
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位數組成的數字。
三、綜合應用題
(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,用於傳遞不同的類型,打印出性別”。根據“t();”語句知道,fun函數的形參為指針P,由於它調用了基類People中的成員函數print,所以P的基類為People,即添加函數fun的定義為“voidfun(People&p)”。
-
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.各數據結點的存儲空間可以不連續,但它們的存儲順序與邏輯順序必...