點(diǎn)擊查看:2015年計(jì)算機(jī)二級(jí)考試C++過關(guān)練習(xí)題及答案匯總
1[單選題]下列敘述中正確的是( )。
A.算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)
B.算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量
C.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的
D.算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)
參考答案:B
2[判斷題]C++語言比C語言對(duì)數(shù)據(jù)類型要求更加嚴(yán)格了。
參考答案:對(duì)
3[單選題]下面選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是( )。
A.繼承性 B.多態(tài)性 C.類比性 D.封裝性
參考答案:C
4[單選題]下列關(guān)于數(shù)據(jù)庫設(shè)計(jì)的敘述中,正確的是( )。
A.在需求分析階段建立數(shù)據(jù)字典
B.在概念設(shè)計(jì)階段建立數(shù)據(jù)字典
C.在邏輯設(shè)計(jì)階段建立數(shù)據(jù)字典
D.在物理設(shè)計(jì)階段建立數(shù)據(jù)字典
參考答案:A
參考解析:數(shù)據(jù)庫設(shè)計(jì)目前一般采用生命周期法,即將整個(gè)數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)分解成日標(biāo)獨(dú)立的若干階段。分別是:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、編碼階段、測(cè)試階段、運(yùn)行階段、進(jìn)一步修改階段。數(shù)據(jù)字典是對(duì)系統(tǒng)中數(shù)據(jù)的詳盡描述,是各類數(shù)據(jù)屬性的清單。對(duì)數(shù)據(jù)設(shè)計(jì)來講,數(shù)據(jù)字典是進(jìn)行洋細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果。
5[單選題]下列敘述中正確的是( )。
A.用E-R圖能夠表示實(shí)體集之間一對(duì)一的聯(lián)系、一對(duì)多的聯(lián)系、多對(duì)多的聯(lián)系
B.用E-R圖只能表示實(shí)體集之間一對(duì)一的聯(lián)系
C.用E-R圖只能表示實(shí)體集之間一對(duì)多的聯(lián)系
D.用E-R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型
參考答案:A
參考解析:用E-R圖可以簡(jiǎn)單明了地描述實(shí)體及其相互之間的聯(lián)系,用E-R圖還可以方便地描述多個(gè)實(shí)體集之間的聯(lián)系和一個(gè)實(shí)體集內(nèi)部實(shí)體之間的聯(lián)系。因此,選項(xiàng)A中的說法是正確的, 而選項(xiàng)B與C中的說法都是錯(cuò)誤的。 為了建立用戶所要求的數(shù)據(jù)庫.必須把概念結(jié)構(gòu)(用E-R圖表示的概念數(shù)據(jù)模型)轉(zhuǎn)換為某個(gè)具體的數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型.這就是邏輯結(jié)構(gòu)設(shè)計(jì)所要完成的任務(wù)。在已給定數(shù)據(jù)庫管理系統(tǒng)的情況下,數(shù)據(jù)庫的邏輯設(shè)計(jì)可以分兩步來進(jìn)行: ①將概念模型轉(zhuǎn)換成一般的數(shù)據(jù)模型; ②將一般的數(shù)據(jù)模型轉(zhuǎn)換為特定的數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型。 由此可知,用E-R圖表示的概念數(shù)據(jù)模型不僅能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型,還可以轉(zhuǎn)換為其他數(shù)據(jù)模型,如網(wǎng)狀模型和層次模型等。因此,選項(xiàng)D中的說法也是錯(cuò)誤的。
6[單選題]下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是( )。
A.循環(huán)隊(duì)列B.帶鏈隊(duì)列C.二叉樹D.帶鏈棧
參考答案:C
參考解析:隊(duì)列是一種允許在一端進(jìn)行插入,而在另一端進(jìn)行刪除的線性表。棧也是一種特殊的線性表,其插入與刪除只能在線性表的一端進(jìn)行。
7[單選題] c++語言類體系中,不能被派生類繼承的有( )。
A.轉(zhuǎn)換函數(shù)B.構(gòu)造函數(shù)C.虛函數(shù)D.靜態(tài)成員函數(shù)
參考答案:B
參考解析:派生類對(duì)象的數(shù)據(jù)結(jié)構(gòu)是由基類中說明的數(shù)據(jù)成員和派生類中說明的數(shù)據(jù)成員共同構(gòu)成,所以不能繼承基類的構(gòu)造函數(shù),必須重新定義。
8[單選題] 在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是( )。
A.PDL(過程設(shè)計(jì)語言)B.PAD圖C.N-S圖D.DVD圖
參考答案:D
參考解析:PDL是過程設(shè)計(jì)語言(ProcedureDesignLanguage)的簡(jiǎn)寫,也稱程序描述語言,是硐于描述模塊算法設(shè)計(jì)和處理細(xì)節(jié)的語言;N-S圖是編程過程中常用的一種分析工具,提出了最初分析問題方法;PAD是問題分析圈(ProblemAnalysisDiagram)的簡(jiǎn)寫,它用二維樹型結(jié)構(gòu)的圖表示程序的控制流,將這種圖轉(zhuǎn)換為程序代碼比較容易;DFD(數(shù)據(jù)流圖)是描述數(shù)據(jù)處理過程的工具。
9[單選題] 下面不正確的描述為( )。
A.調(diào)用函數(shù)時(shí),實(shí)參可以是表達(dá)式
B.調(diào)用函數(shù)時(shí),實(shí)參與形參可以共用內(nèi)存單元
C.調(diào)用函數(shù)時(shí),將為形參分配內(nèi)存單元
D.調(diào)用函數(shù)時(shí),實(shí)參與形參的類型必須一致
參考答案:B
參考解析:函數(shù)調(diào)用時(shí)用實(shí)參替換形參,如果實(shí)參為表達(dá)式,將為表達(dá)武的值創(chuàng)建一個(gè)臨時(shí)對(duì)象,然后將該實(shí)參替換形參。替換的實(shí)質(zhì)是變量間的復(fù)制,當(dāng)然這種復(fù)制需要為形參分配內(nèi)存。需要注意的是:形參在編澤時(shí)不分配內(nèi)存,在運(yùn)行時(shí)才分配內(nèi)存。
10[單選題] 有如下程序:
#include
#includediomanip>
usingnamespacestd;
intmain( ){
ints[]={123,234);
cout<
for(inti=0;i<2;i++){cout<
return0;
}
運(yùn)行時(shí)的輸出結(jié)果是( )。
A.123B.***123
234234C.***123D.***123
***234234***
參考答案:B
參考解析:setw()為填充字符控制,僅對(duì)緊接著它的字符起作用,當(dāng)輸出的字符寬度小于setw()預(yù)留的字符數(shù)時(shí),需用setw()設(shè)置的字符給予填充。
11[填空題]C++語言具有面向?qū)ο蠓椒ㄖ幸蟮娜筇匦裕?( ) 、 ( ) 和 ( ) 。
參考解析:封裝性 、 繼承性 和 多態(tài)性 。
12[簡(jiǎn)答題]指出下列數(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í)行這個(gè)程序的輸出結(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)用順序按它們被繼承時(shí)說明的順序;然后調(diào)用子對(duì)象的構(gòu)造函數(shù),調(diào)用順序按它們?cè)陬愔姓f明的順序;最后是派生類構(gòu)造函數(shù)中的內(nèi)容。因此本題中,首先調(diào)用基類構(gòu)造函數(shù)輸出A,然后調(diào)用子對(duì)象的構(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ā)軟件時(shí)對(duì)提高開發(fā)人員工作效率至關(guān)重要的是
A.操作系統(tǒng)的資源管理功能
B.先進(jìn)的軟件開發(fā)工具和環(huán)境
C.程序人員的數(shù)量
D.計(jì)算機(jī)的并行處理能力
參考答案:B
15[單選題] 下列關(guān)于模板形參的描述中,錯(cuò)誤的是( )。
A.模板形參表必須在關(guān)鍵字template之后
B.模板形參表必須用括弧( )括起來
C.可以用class修飾模板形參
D.可以用typename修飾模板形參
參考答案:B
參考解析:主要考查函數(shù)模板的定義。聲明一個(gè)函數(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);
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.1,2,3B.1,3,2C.1,3,3D.3,2,1
參考答案:C
參考解析:在程序中,當(dāng)執(zhí)行第一條if語句時(shí),進(jìn)行邏輯語句的判斷,因?yàn)樽兞縝的初值為2,所以其值加1后為3,與2不相等,所以if語句中的邏輯表達(dá)式的值為假,則程序執(zhí)行最后一條elseprintf語句。輸出變量為a,b,c,當(dāng)前數(shù)值為1,3,3。所以正確答案為選項(xiàng)C。
18[簡(jiǎn)答題]請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾pr092下的工程pros2。此工程中包含一個(gè)程序文件main.cpp,其中有“部門”類Department和“職工”類Staff的定義,還有主函數(shù)main的定義。在主函數(shù)中定義了兩個(gè)“職工”對(duì)象,他們屬于同一部門。程序展示,當(dāng)該部門改換辦公室后,這兩個(gè)人的辦公室也同時(shí)得到改變。請(qǐng)?jiān)诔绦蛑械臋M線處填寫適當(dāng)?shù)拇a并刪除橫線,以實(shí)現(xiàn)上述類定義。此程序的正確輸出結(jié)果應(yīng)為:
改換辦公室前:
職工號(hào):0789姓名:張三部門:人事處辦公室:521
職工號(hào):0513姓名:李四部門:人事處辦公室:521
改換辦公室后:
職工號(hào):0789姓名:張三部門:人事處辦公室:311
職工號(hào):0513姓名:李四部門:人事處辦公室:311
注意:只在橫線處填寫適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容,也不要?jiǎng)h除或移動(dòng)“//****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{________} //返回辦公室房號(hào)
void changeOfficeTo(const char*office){ //改換為指定房號(hào)的另一個(gè)辦公室
strcpy(this一>office,office);
}
private:
char name[20];//部門名稱
char office[20];//部門所在辦公室房號(hào)
};
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];//職工號(hào)
char name[20];//姓名
Department&dept;//所在部門
}; void showStaff(Staff&staff){
cout<<”職工號(hào):”<
cout<<”姓名:”<
相關(guān)推薦:
2015年9月計(jì)算機(jī)等級(jí)考試真題及答案解析專題
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |