自學考試密押題庫與答案解析C 程序設計真題2011年10月_第1頁
自學考試密押題庫與答案解析C 程序設計真題2011年10月_第2頁
自學考試密押題庫與答案解析C 程序設計真題2011年10月_第3頁
自學考試密押題庫與答案解析C 程序設計真題2011年10月_第4頁
自學考試密押題庫與答案解析C 程序設計真題2011年10月_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

[自學考試密押題庫與答案解析]C++程序設計真題2011年10月[自學考試密押題庫與答案解析]C++程序設計真題2011年10月1/1[自學考試密押題庫與答案解析]C++程序設計真題2011年10月C++程序設計真題2011年10月

一、單項選擇題

(在每小題列出的四個備選項中只有一個是符合題目要求的。)

問題:1.C++中注釋“/*”的有效范圍是

A.從“/*”開始到行尾

B.從“/*”開始后不終止

C.從“/*”開始到“//”為止

D.從“/*”開始到“*/”為止

答案:D[解析]C++有兩種注釋方式:一種是沿用C語言的從“/*”開始,到“*/”結束的注釋方式;另一種是更靈活的注釋方式“//”,注釋的有效范圍從“//”至本行結束。

問題:2.如想使用std命名空間,正確的程序語句是

A.usingstd;

B.namespacestd;

C.usingnamespace;

D.usingnamespacestd;

答案:D

問題:3.下列選項中不是C++關鍵字的是

A.bool

B.int

C.float

D.var

答案:D

問題:4.用于標識長整型常量的前綴或后綴是

A.無前后綴

B.后綴L或l

C.前綴零

D.前綴0x

答案:B[解析]后綴L或l用于標識長整型常量,前綴零用于標識八進制常量,前綴0x用于標識十六進制常量。

問題:5.對于new類型名[size]描述正確的是

A.申請可以存儲size個字節(jié)的空間

B.申請可以存儲1個該數(shù)據(jù)類型的空間

C.申請可以存儲size個該數(shù)據(jù)類型對象的空間

D.申請可以存儲1個字節(jié)的空間

答案:C

問題:6.使用下列哪個流格式控制符可以設置轉換基數(shù)為十六進制

A.dec

B.oct

C.hex

D.endl

答案:C[解析]dec:設置轉換基數(shù)為十進制;oct:設置轉換基數(shù)為八進制;hex:設置轉換基數(shù)為十六進制;endl:輸出一個換行符并刷新流。

問題:7.構造函數(shù)用于

A.定義對象

B.初始化對象

C.清除對象

D.普通計算

答案:B

問題:8.設函數(shù)voidswap(int,int)將交換兩形參數(shù)值,如有兩整型變量inta=10;intb=15;則執(zhí)行swap(a,b);之后,a,b值分別為

A.15,10

B.15,15

C.10,15

D.10,10

答案:C[解析]函數(shù)voidswap(int,int)使用對象作為函數(shù)參數(shù),即將實參對象的值傳遞給形參對象,這種傳遞是單向的。形參擁有實參的備份,當在函數(shù)中改變形參的值時,改變的是這個備份中的值,不會影響原來實參的值。

問題:9.設函數(shù)voidsubone(int)將形參值減1,如有整形變量intb=10;則執(zhí)行subone(b)后,b的值為

A.9

B.10

C.11

D.未知

答案:B

問題:10.C++中函數(shù)返回值類型不可以是

A.引用

B.指針

C.結構

D.數(shù)組

答案:D[解析]C++函數(shù)的返回值類型可以是除數(shù)組和函數(shù)以外的任何類型。

問題:11.聲明函數(shù)intFunc(inta=0,intb=3,intc=4)相當于聲明了幾個函數(shù)形式

A.1

B.2

C.3

D.4

答案:D

問題:12.C++中專門定義一個僅在模板中使用的參數(shù)類型的關鍵字是

A.const

B.inline

C.short

D.typename

答案:D[解析]C++專門定義一個僅僅用在模板中的關鍵字typename,它的用途之一是代替template參數(shù)列表中的關鍵字class。

問題:13.對于類中的成員,使用private修飾,表明該成員的訪問權限是

A.公有的

B.私有的

C.保護的

D.不可見的

答案:B[解析]使用private修飾的類成員是私有的,使用public修飾的類成員是公有的,而使用protected修飾的類成員是保護的。

問題:14.使用new創(chuàng)建的對象,對其生命周期描述正確的是

A.由系統(tǒng)決定

B.由用戶控制

C.全局生命周期

D.永久存在

答案:B

問題:15.析構函數(shù)被調(diào)用的時間點是

A.對象被創(chuàng)建時

B.對象被銷毀時

C.不會被調(diào)用

D.主函數(shù)被調(diào)用時

答案:B[解析]析構函數(shù)在對象的生存期結束時被自動調(diào)用。

問題:16.對象的構造函數(shù)調(diào)用順序取決于

A.對象成員在初始化列表中給出的順序

B.對象成員在類中聲明的順序

C.對象成員與在初始化列表中順序和類中聲明順序均有關

D.隨機順序

答案:B[解析]對象成員構造函數(shù)的調(diào)用順序取決于這些對象成員在類中聲明的順序,與它們在成員初始化列表中給出的順序無關。

問題:17.下列對靜態(tài)成員函數(shù)描述正確的是

A.靜態(tài)成員函數(shù)中可使用1個this指針

B.靜態(tài)成員函數(shù)中不能使用this指針

C.靜態(tài)成員函數(shù)中可使用多個this指針

D.靜態(tài)成員函數(shù)中只可使用1個that指針

答案:B[解析]靜態(tài)成員函數(shù)沒有this指針,所以靜態(tài)成員函數(shù)只能通過對象名(或指向對象的指針)訪問該對象的非靜態(tài)成員。

問題:18.友元的聲明可出現(xiàn)在

A.類的私有部分

B.類的公有部分

C.類的保護部分

D.類的任何部分

答案:D

問題:19.在下列派生中,子類和父類間是isa關系的是

A.private

B.protected

C.public

D.publish

答案:C

問題:20.面向對象不僅進行功能抽象,還要進行

A.動態(tài)抽象

B.消息抽象

C.數(shù)據(jù)抽象

D.算法抽象

答案:C

二、填空題

問題:1.在調(diào)用函數(shù)f1()的過程中,又調(diào)用了函數(shù)發(fā)f1(),這種調(diào)用稱為______調(diào)用。

答案:直接遞歸(或遞歸)

問題:2.C++中重載“+”運算符的函數(shù)名是______。

答案:operator+

問題:3.設為類A添加一個純虛函數(shù)Fun,其第一個參數(shù)類型為整型,第二個參數(shù)類型為字符型,函數(shù)返回值類型為整型。實現(xiàn)此操作的語句是______。

答案:virtualintFun(int,char)=0;

問題:4.C++程序的頭文件和源程序文件擴展名分別為______和.cpp。

答案:.h

問題:5.在C++中,利用向量類模板定義一個具有20個int類型的向量B,實現(xiàn)此操作的語句是:______。

答案:vector<int>B(20)

問題:6.通過私有派生,基類的私有和不可訪問成員在派生類中是不可訪問的,而公有和保護成員這時就成了派生類的______。

答案:私有成員

問題:7.字符串類型的變量一般用______和字符數(shù)組類型的變量表示。

答案:字符指針

問題:8.在一個C++程序中,每個變量都必須遵循______的原則。

答案:先定義后使用

問題:9.在常成員函數(shù)里不能更新對象的數(shù)據(jù)成員,也不能調(diào)用該類中沒用______關鍵字修飾的成員函數(shù)。

答案:const

問題:10.UML是一種可視化建模語言,主要用于面向對象的______和建模。

答案:分析

問題:11.復制構造函數(shù)采用拷貝方式使用已有對象來建立新對象,又稱為______函數(shù)。

答案:拷貝構造

問題:12.對于C++類中的成員,若未使用訪問權限關鍵字進行說明,默認的權限是______。

答案:private(或私有)

問題:13.對象的行為是定義在對象屬性上的一組______的集合。

答案:操作

問題:14.設intmax(int,int)表示計算兩個整數(shù)中的最大值,則執(zhí)行語句“cout<<max(max(2,3),max(7,8));”的輸出結果是______。

答案:8

問題:15.函數(shù)fun的返回值是字符指針類型,該函數(shù)有兩個參數(shù),其中一個參數(shù)是字符類型,另一個參數(shù)是int類型引用,聲明函數(shù)fun的原型的語句為______。

答案:char*fun(char,int'>

答案:swap()

問題:17.無論變量x和y是整型還是浮點類型,x*y都表示這兩個變量的積,這是典型的______的例子。

答案:運算符重載

問題:18.執(zhí)行下列代碼

inta=29,b=1001;

cout<<a<<setw(6)<<b<<endl;

程序輸出結果是:______。

答案:29□□1001(兩個空格)

問題:19.在C++中,賦值表達式y(tǒng)=x++的含義是______。

答案:先賦值后x加1

問題:20.設有如下定義:intx;若要將整型變量y定義為變量x的引用,則應使用的語句是______。

答案:int'>

答案:for(i=0;i<5;i++)變量i必須先定義后使用

問題:2.#include<iostream.h>

template<classT>

classf{

private:

Tx,y;

public:

voidf1(Ta,Tb){x=a;y=b;}

Tmax(){return(x>y)?x:y;}

};

voidmain(){

f<int>a;

a.f1(3.5,3.8);

cout<<a.max()<<endl;

}

答案:a.f1(3.5,3.8);或f<int>a;模板類型不一致

問題:3.#include<iostream.h>

classtest{

private:

staticintx;inty;

public:

voidtest1(inta,intb){x=a;y=b;}

};

voidmain(){

testa;

a.test1(2,3);

}

答案:{x=a;y=b;};在類的非靜態(tài)函數(shù)中不可直接訪問類的靜態(tài)成員

問題:4.#include<iostream.h>

classf{

private:

floatx,y;

public:

voidf1(floata,floatb){x=a;y=b;}

f(){x=0;y=0;}

voidmove(floata,floatb){x=x+a;y=y-b;}

voidget(){cout<<x<<''<<y<<endl;}

};

voidmain(){

f*p,a;

a.f1(1.6,3.8);

p='>

答案:p.get();p作為指針引用時使用“->”

問題:5.#inelude<iostream.h>

classpoint{

intx;

public:

voidinit(inta){x=a;}

intgetx(){returnx;}

voidsetx(inta){x=a;}

};

voidmain(){

pointa;

a.init(20,30);

cout<<a.getx()<<endl;

}

答案:a.init(20,30);init()函數(shù)的參數(shù)只定義了一個,使用時用了兩個實參

四、完成程序題

問題:1.完成下面類中成員函數(shù)的定義。

classtest

{

private:

intn1;

floatf1;

public:

test(int,floatf);

test(test'>

答案:intn,floatf

t.f1

問題:2.在下面程序中的下劃線處填上適當?shù)恼Z句,使程序的輸出結果如下:

11,77

11,77

源程序如下:

#include<iostream>

usingnamespacestd;

classbase

{

private:

intx,y;

public:

voidinitxy(inta,intb){x=a;y=b;}

voidshow()

{______}

};

voidmain()

{

basea,b;

a.show();

b=a;

b.show();

}

答案:cout<<x<<","<<y<<endl;

a.initxy(11,77);

問題:3.在下面程序中的下劃線處填上適當?shù)某绦?,使程序的輸出結果如下:

x=1,y=2

x=30,y=40

源程序如下:

#include<iostream.h>

classSample

{

intx,y;

public:

Sample(){x=y=0;}

Sample(inti,intj){x=i;y=j;}

voidcopy(Sample'>

答案:Sample'>

答案:cout<<p->getx()<<endl;

cout<<"s["<<i<<"]="<<a[i].getx()<<endl;

問題:5.在下面程序中的下劃線處填上適當?shù)某绦?,使程序的輸出結果如下:

x=2.y=3

源程序如下:

#include<iostream.h>

classSample

{

intx,y;

public:

Sample(){x=y=0;}

Sample(______){x=a;y=b;}

voiddisp()

{

cout<<"x="<<x<<",y="<<y<<endl;

}

};

voidmain()

{

Samples(2,3),______

p->disp();

}

答案:inta,intb

*p='>

答案:n=24

n=23

n=22

問題:2.請給出下面程序的輸出結果

#include<iostream>

usingnamespacestd;

classpoint

{

intnum;

publi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論