11[填空題]C++語言具有面向?qū)ο蠓椒ㄖ幸蟮娜筇匦裕?( ) 、 ( ) 和 ( ) 。
參考解析:封裝性 、 繼承性 和 多態(tài)性 。
12[簡答題]指出下列數(shù)據(jù)中哪些可作為C++的合法常數(shù)?
(a) 588918 (b) 0129 (c) 0x88a (d) e-5 (e) ″A″
(f) .55 (g) ’\\’ (h) 0XCD (i) 8E7 (j) π
參考解析:(a)、(c)(e)、(f)、(g)、(h)、(i)
13[單選題] 有如下程序:
#include
usingnamespacestd;
classA
{
public:
A(){cout<<"A";}
~A(){cout<<"~A";}
};
classB
{
A*P:
public:
B(){cout<<"B";p=newA;}
~B(){cout<<"~B";deleteP;}
};
intmain()
{
Bobi;
return0;
}
執(zhí)行這個程序的輸出結(jié)果是( )。
A.BAA~A~B~AB.ABA~B~A~AC.BAA~B~A~AD.ABA~A~B~A
參考答案:B
參考解析:本題考查的是類的構(gòu)造函數(shù)和析構(gòu)函數(shù)。派生類構(gòu)造函數(shù)的執(zhí)行順序:首先調(diào)用基類的構(gòu)造函數(shù),調(diào)用順序按它們被繼承時說明的順序;然后調(diào)用子對象的構(gòu)造函數(shù),調(diào)用順序按它們在類中說明的順序;最后是派生類構(gòu)造函數(shù)中的內(nèi)容。因此本題中,首先調(diào)用基類構(gòu)造函數(shù)輸出A,然后調(diào)用子對象的構(gòu)造函數(shù)輸出B,P=newA再調(diào)用類A的構(gòu)造函數(shù)輸出A。析構(gòu)函數(shù)的調(diào)用順序和構(gòu)造函數(shù)的調(diào)用順序相反。
14[單選題]開發(fā)軟件時對提高開發(fā)人員工作效率至關(guān)重要的是
A.操作系統(tǒng)的資源管理功能
B.先進的軟件開發(fā)工具和環(huán)境
C.程序人員的數(shù)量
D.計算機的并行處理能力
參考答案:B
15[單選題] 下列關(guān)于模板形參的描述中,錯誤的是( )。
A.模板形參表必須在關(guān)鍵字template之后
B.模板形參表必須用括弧( )括起來
C.可以用class修飾模板形參
D.可以用typename修飾模板形參
參考答案:B
參考解析:主要考查函數(shù)模板的定義。聲明一個函數(shù)模板的格式為“template<<模板形參表聲明>><函數(shù)聲明>”,其中<模板形參>具有typename<參數(shù)名>、class<參數(shù)名>、<類型修飾><參數(shù)名>三種形式,形參用“<>”括起來。
16[單選題]
A.n=0B.n=1C.n=2D.n=3
參考答案:A
參考解析:
17[單選題] 有下列程序:
#include
voidmain( )
{inta=1,b=2,c=3,d=0;
if(a==1&&b++==2)
if(b!=2‖c--!=3)
printf("%d,%d,%d\n",a,b,c);
elseprintf("%d,%d,%d\n",a,b,c);
elseprintf("%d,%d,%d,%d\n",a,b,c);
}
程序運行后的輸出結(jié)果是( )。
A.1,2,3B.1,3,2C.1,3,3D.3,2,1
參考答案:C
參考解析:在程序中,當執(zhí)行第一條if語句時,進行邏輯語句的判斷,因為變量b的初值為2,所以其值加1后為3,與2不相等,所以if語句中的邏輯表達式的值為假,則程序執(zhí)行最后一條elseprintf語句。輸出變量為a,b,c,當前數(shù)值為1,3,3。所以正確答案為選項C。
18[簡答題]請使用VC6或使用【答題】菜單打開考生文件夾pr092下的工程pros2。此工程中包含一個程序文件main.cpp,其中有“部門”類Department和“職工”類Staff的定義,還有主函數(shù)main的定義。在主函數(shù)中定義了兩個“職工”對象,他們屬于同一部門。程序展示,當該部門改換辦公室后,這兩個人的辦公室也同時得到改變。請在程序中的橫線處填寫適當?shù)拇a并刪除橫線,以實現(xiàn)上述類定義。此程序的正確輸出結(jié)果應為:
改換辦公室前:
職工號:0789姓名:張三部門:人事處辦公室:521
職工號:0513姓名:李四部門:人事處辦公室:521
改換辦公室后:
職工號:0789姓名:張三部門:人事處辦公室:311
職工號:0513姓名:李四部門:人事處辦公室:311
注意:只在橫線處填寫適當?shù)拇a,不要改動程序中的其他內(nèi)容,也不要刪除或移動“//****found****”。
#include
using namespace std;
class Department{ //“部門”類
public:
Department(const char*name,const char*office){
strcpy(this一>name,nanle);
//**********found**********
}
const char*getName()const{return name;}//返回部門名稱
//**********found**********
const char*getOffice()const{________} //返回辦公室房號
void changeOfficeTo(const char*office){ //改換為指定房號的另一個辦公室
strcpy(this一>office,office);
}
private:
char name[20];//部門名稱
char office[20];//部門所在辦公室房號
};
class staff{//“職工”類
public:
//**********found**********
Staff(const char*my—id,const char木my_name,Department&my_dept):——{
strcpy(this一>staff id,my_id);
strcpy(this一>name,my_name);
}
const char*getlD()const{return staff_id;}
const char*getName()consl{return name;}
Department getDepartment()const{return dept;} char staff=id[10];//職工號
char name[20];//姓名
Department&dept;//所在部門
}; void showStaff(Staff&staff){
cout<<”職工號:”<
cout<<”姓名:”<
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018全國計算機等級考試備考經(jīng)驗及應試技巧匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |