一、填空題
1.將代數式
______________ 換成程式設計中的表示式為 【1】。
╱ X*X+Y*Y
Z= ╱ ----------
╲╱ a+b
【參考答案】
【1】SORT(x^2+y^2)/(a+b)
2.【2】是資料庫設計的核心。
【參考答案】
【2】資料模型
3.測試的目的是暴露錯誤,評價程式的可靠性;而【3】的目的是發現錯誤的位置並改正錯誤。
【參考答案】
【3】除錯
4.在面向物件的設計中,用來請求物件執行某一處理或回答某些資訊的要求稱為【4】。
【參考答案】
【4】訊息
5.常用的黑箱測試有等價分類法、【5】、因果圖法和錯誤推測法4種。
【參考答案】
【5】邊值分析法
6.【6】是C++語言程式的入口。
【參考答案】
【6】main()函式
7.C++語言的基本控制結構為順序結構、選擇結構和【7】。
【參考答案】
【7】迴圈結構
8.函式過載要求過載的函式必須有和原函式一樣的【8】。
【參考答案】
【8】函式名
9.設定虛基類的目的是【9】,通過【10】表示虛基類。
【參考答案】
【9】解決二義性問題
【10】用關鍵字virtual
10. 語句cout<<′n′還可表示為【11】。
【參考答案】
【11】cout<< p>
11.若已知a=10,b=20,則表示式!a< p>
【參考答案】
【12】1
12.友元類的所有成員函式都是另一個類的【13】。
【參考答案】
【13】友元函式
13.表示式ator++()還可寫成【14】。
【參考答案】
【14】++x
14.若要在C盤根目錄下作為二進位制檔案開啟檔案,則應該用的語句是:
【參考答案】
【15】ifstream fin(″C:″,ios_binary);或ifstream fin;(c:″,ios_bin
上機部分
二、改錯題
使用VC6開啟考生資料夾下的工程kt2_1,此工程包含一個源程式檔案kt2_,但該程式執行有問題,請改正程式中的錯誤,使程式的輸出結果如下:
Vehiclemessage
Carmessage
Vehiclemessage
源程式檔案kt2_清單如下:
#include
classvehicle
{
intwheels;
floatweight;
public:
voidmessage(void){cout<<"Vehiclemessagen";}
};
classcar:publicvehicle
{
intpassenger_load;
public:
voidmessage(void){cout>>"Carmessagen";}
};
classtruck:publicvehicle
{
intpassenger_load;
floatpayload;
public:
intpassengers(void){returnpassenger_load;}
};
voidmain()
{
vehicle*unicycle;
unicycle=newvehicle;
age();
deleteunicycle;
unicycle=newcar;
unicycle->message();
deleteunicycle;
unicycle=newtruck;
unicycle->message();
deleteunicycle;
}
【參考答案】
(1)將void message(void){ cout<<"Vehicle messagen";}
改為:virtual void message(void){ cout<<"Vehicle messagen";}
(2)將void message (void){cout>>"Car messagen";}
改為:void message (void){cout<<"Car messagen";}
(3)將age();
改為:unicycle->message();
【試題解析】
(1)主要考查對虛擬函式使用規則的掌握,要實現對函式message的動態聯編應該使用虛擬函式,否則產生的是靜態聯編,呼叫的函式輸出結果就與要求不符;
(2)主要考查對流輸出操作的掌握,該處錯誤的使用了流輸入操作;
(3)主要考查物件和物件指標的概念,物件指標使用"->"呼叫成員函式,而物件使用"."呼叫成員函式。