二級(jí)C++筆試-304-真題無(wú)答案_第1頁(yè)
二級(jí)C++筆試-304-真題無(wú)答案_第2頁(yè)
二級(jí)C++筆試-304-真題無(wú)答案_第3頁(yè)
二級(jí)C++筆試-304-真題無(wú)答案_第4頁(yè)
二級(jí)C++筆試-304-真題無(wú)答案_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

二級(jí)C++筆試-304(總分100,做題時(shí)間90分鐘)一、選擇題

在下列各題的A)、B)、C)、D)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。1.

下面內(nèi)容不屬于使用軟件危機(jī)的是(

)。A

軟件質(zhì)量難以保證B

軟件的成本不斷提高C

軟件需求增長(zhǎng)緩慢D

軟件不可維護(hù)或維護(hù)程度非常低2.

下列敘述中,正確的是(

)。A

while語(yǔ)句構(gòu)成的循環(huán)不能用其他語(yǔ)句構(gòu)成的循環(huán)來(lái)代替B

do-while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出C

用while語(yǔ)句構(gòu)成的循環(huán),只有在while后的表達(dá)式為非0時(shí)才執(zhí)行循環(huán)D

do-while語(yǔ)句構(gòu)成的循環(huán),只有在while后的表達(dá)式為0時(shí)才結(jié)束循環(huán)3.

以下程序執(zhí)行后的輸出結(jié)果是(

)。

#include<iostream.h>

classBasel

public:

voidfun()cout<<"Basel"<<end1;

;

classBase2

public:

voidfun()

cout<<"Base2"<<end1;

classDerived:publicBasel,publicBase2

;

voidmain()

DerivedObj;

Obj.fun();

A

BaselB

Base2C

BaselBase2D

程序產(chǎn)生二義性4.

有如下程序:

#include<iostream>

usingnamespacestd;

intgetSum(intnum);

intmain()

inti;

for(i=1;i<4;i++)

cout<<getSum(i);

return0;

intgetSum(inthum)

staticintsum=O;

sum+=num;

returnsum;

上述程序執(zhí)行后的輸出結(jié)果是(

)。A

136B

248C

123D

1355.

數(shù)據(jù)字典(DD)是定義以下哪種系統(tǒng)描述工具中的數(shù)據(jù)的工具(

)。A

數(shù)據(jù)流程圖B

系統(tǒng)流程圖C

程序流程圖D

軟件結(jié)構(gòu)圖6.

若有以下程序:

voidg(int**q)

(**q)++;

(*q)++;

voidmain()

intline[5];

int*p=line;

for(i=0;i<5;i++)

*p=i;

g(&P);

for(i=0;i<5;i++)

cout<<line[i];

cout<<end1;

該程序運(yùn)行后的輸出結(jié)果為(

)。A

12345B

01234C

11111D

555557.

以下各項(xiàng)說(shuō)法中,正確的是(

)。A

當(dāng)通過(guò)引用傳遞參數(shù)時(shí),函數(shù)創(chuàng)建一個(gè)變量以存儲(chǔ)參數(shù)的值B

當(dāng)通過(guò)引用傳遞參數(shù)時(shí),函數(shù)無(wú)法訪問(wèn)參數(shù)的值C

當(dāng)通過(guò)引用傳遞參數(shù)時(shí),調(diào)用程序創(chuàng)建一個(gè)臨時(shí)變量以容納參數(shù)的值D

當(dāng)通過(guò)引用傳遞參數(shù)時(shí),函數(shù)訪問(wèn)調(diào)用程序中參數(shù)的原始值8.

若有定義“intk,*q;”,則下列各選項(xiàng)中,賦值表達(dá)式正確的是(

)。A

q=(&k+1)B

q=&kC

q=kD

*q=&k9.

概要設(shè)計(jì)是軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì),以下選項(xiàng)中不屬于概要設(shè)計(jì)的是(

)。A

把軟件劃分成模塊B

確定模塊之間的調(diào)用關(guān)系C

確定各個(gè)模塊的功能D

設(shè)計(jì)每個(gè)模塊的偽代碼10.

有如下程序:

#include<iostream>

usingnamespacestd;

classsample

private:

intx,y;

public:

sample(inti,intj)

x=i;

y=j;

voiddisp()

cout<<"displ"<<end1;

voiddisp()

const

cout<<"disp2"<<end1;

;

intmain()

constsamplea(i,2);

a.disp();

return0;

該程序運(yùn)行后的輸出結(jié)果是(

)。A

disp1B

disp2C

disp1disp2D

程序編譯時(shí)出錯(cuò)11.

下面的程序段中,有(

)處錯(cuò)誤和警告。

#include<stdio.h>

intmain()

intx;

cin>>x

cout<<x;

A

1B

2C

3D

412.

有以下程序:

#include<iostream>

usingnamespacestd;

intf1(intx,inty)

returnx>y?x:y;

intf2(intx,inty)

returnx>y?y:x;

intmain()

inta=4,b=3,c=5,d,e,f;

d=f1(a,b);

d=f1(d,c);

e=f2(a,b);

e=

f2(e,c);

f=a+b+c-d-e;

cout<<d<<","<<e<<","<<f<<end1;

return0;

執(zhí)行后的輸出結(jié)果是(

)。A

3,4,5B

5,3,4C

5,4,3D

3,5,413.

下列對(duì)派生類的描述中,錯(cuò)誤的是(

)。A

一個(gè)派生類可以作為另一個(gè)派生類的基類B

派生類至少有一個(gè)基類C

派生類的默認(rèn)繼承方式是私有派生D

派生類只繼承了基類的公有成員和保護(hù)成員14.

關(guān)于類型轉(zhuǎn)換的說(shuō)法中,錯(cuò)誤的是(

)。A

如果a為血型變量,b為char型變量,則a+b的值為血型B

如果a為float型變量,b為int型變量,則a-b的值為float型C

如果a為double型變量,b為float型變量,則a*b的值為double型D

如果a為血型變量,b為血型變量,則a/(double)b的值為int型15.

下列關(guān)于棧的敘述中,不正確的是(

)。A

在棧中能插入數(shù)據(jù)B

在棧中能刪除數(shù)據(jù)C

棧是先進(jìn)先出的線性表D

棧是先進(jìn)后出的線性表16.

下列各項(xiàng)特點(diǎn)中,屬于線性表的順序存儲(chǔ)結(jié)構(gòu)的是(

)。A

線性表中所有元素所占的存儲(chǔ)空間是不連續(xù)的B

線性表的數(shù)據(jù)元素在存儲(chǔ)空間中是隨便存放的C

線性表中所有元素所占的存儲(chǔ)空間是連續(xù)的D

前后件兩個(gè)元素在存儲(chǔ)空間是隨便存放的17.

一個(gè)關(guān)系數(shù)據(jù)庫(kù)文件中的各條記錄(

)。A

前后順序不能任意顛倒,一定要按照輸入的順序排列B

前后順序可以任意顛倒,不影響庫(kù)中數(shù)據(jù)的數(shù)據(jù)關(guān)系C

前后順序可以任意顛倒,但排列/頃序不同,統(tǒng)計(jì)處理的結(jié)果就可能不同D

前后順序不能任意顛倒,一定要按照關(guān)鍵詞段值的順序排列18.

對(duì)于輸入輸出,在設(shè)計(jì)和編程時(shí)都應(yīng)該考慮的原則是(

)。A

對(duì)部分輸入數(shù)據(jù)檢驗(yàn)數(shù)據(jù)的合法性B

不允許默認(rèn)值C

輸入一批數(shù)據(jù)時(shí),最好使用輸入結(jié)束標(biāo)志D

輸入數(shù)據(jù)時(shí),不允許使用自由格式19.

有以下程序:

#include<iostream>

usingnamespacestd;

intmain()

chars1[10],s2[10];

char

*p=s1,*q=s2;

cin>>s1>>s2;

while(*p!='\0')

p++;

while(*q!='\0')

*p++=*q++;

*p='\0';

cout<<s1<<end1;

return0;

A

abcd0ghijB

abcd0ghij0C

abcdD

abcdghij20.

對(duì)下列程序的描述中,正確的是(

)。

#include<iostream>

usingnamespacestd;

intFun(int,int);

intmain()

cout<<Fun(5,50)<<end1;

return0;

intFun(intx,inty)

returnx*x+y*y;

A

該函數(shù)定義正確,但函數(shù)調(diào)用方式錯(cuò)誤B

該函數(shù)調(diào)用方式正確,但函數(shù)定義錯(cuò)誤C

該函數(shù)的定義和調(diào)用方式都是正確的D

該函數(shù)的定義和調(diào)用方式都是錯(cuò)誤的21.

以下程序執(zhí)行結(jié)果是(

)。

#include<iostream.h>

classBase

public

virtualvoidfun()

cout<<"B";

;

classDerived

public:

Derived()

cout<<"D";

virtualvoidfun()

Base::fun();

cout<<"C";

intmain()

Base*ptr;

Derivedobj;

ptr=&obj;

p->fun();

return0;

A

DBCB

DCBC

BDCD

CBD22.

對(duì)待排序文件的初始狀態(tài)不作任何要求的排序方法有(

)。A

直接插入和快速排序B

直接插入和歸并排序C

歸并和快速排序D

歸并和直接選擇排序23.

一個(gè)類的友元函數(shù)或友元類可以通過(guò)成員操作符訪問(wèn)該類的(

)。A

私有成員B

保護(hù)成員C

公有成員D

所有成員24.

下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是(

)。A

靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進(jìn)行初始化B

靜態(tài)數(shù)據(jù)成員不可以通過(guò)類的對(duì)象調(diào)用C

靜態(tài)數(shù)據(jù)成員不能受private(私有)控制符的作用D

靜態(tài)數(shù)據(jù)成員可以直接通過(guò)類名調(diào)用25.

有以下程序:

#include<iostream>

usingnamespacestd;

classA

private:

intx,y;

public:

voidset(inti,intj)

x=i;

y=j;

intget_y()

returny;

;

classbox

private:

intlength,width;

Alabel;

public:

voidset(int1,intw,ints,intp)

length=1;

width=w;

label.set(s,p);

intget_area()

returnlength*width;

;

intmain()

boxsmall;

small.set(2,4,1,35);

cout<<small.get_area()<<end1;

return0;

運(yùn)行后的輸出結(jié)果是(

)。A

8B

4C

35D

7026.

若有以下程序

#include<iostream>

usingnamespacestd;

classA

public:

A(inti,intj)

a=i;

b=j;

voidmove(intx,inty)

a+=x;

b+=y;

voidshow()

cout<<a<<","<<b<<end1;

private:

int

a,b;

;

classB:

privateA

public:

B(inti,intj):A(i,j)

voidfun()

move(3,5);

voidf1()

A::show();

;

intmain()

Bd(3,4);

d.fun();

d.f1();

return0;

程序執(zhí)行后的輸出結(jié)果是(

)。A

3,4B

6,8C

6,9D

4,327.

下列各項(xiàng)中不屬于算法基本特征的是(

)。A

可行性B

遞歸性C

確定性D

有窮性28.

執(zhí)行語(yǔ)句序列

ofstreamoutfile("data.dat");

if(...)

cout<<"ok";elsecout<<"fail";

后,如果文件打開(kāi)成功,顯示“ok”,否則顯示“fail”。由此可知,上面if語(yǔ)句“...”處的表達(dá)是(

)。A

outfile.fail()或outfileB

outfile.good()或!outfileC

outfile.good()或outfileD

outfile.fail()或!outfile29.

下列描述中,(

)是抽象類的特性。A

可以說(shuō)明虛函數(shù)B

可以進(jìn)行構(gòu)造函數(shù)重載C

可以定義友元函數(shù)D

不能說(shuō)明其對(duì)象30.

下列關(guān)于鏈?zhǔn)酱鎯?chǔ)的敘述中,正確的是(

)。A

鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的空間不可以是不連續(xù)的B

數(shù)據(jù)節(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系必須一致C

鏈?zhǔn)酱鎯?chǔ)方式只可用于線性結(jié)構(gòu)D

鏈?zhǔn)酱鎯?chǔ)也可用于非線性結(jié)構(gòu)二、填空題

請(qǐng)將每空的正確答案寫在【1】~【15】序號(hào)的橫線上。1.

對(duì)于長(zhǎng)度為n的線性表,若進(jìn)行順序查找,則時(shí)間復(fù)雜度為

【1】

。2.

已知某序列為49,38,65,97,76,13,27,試采用該序列的第一個(gè)元素為樞軸進(jìn)行快速排序,則經(jīng)過(guò)一趟快速排序之后所得到的序列為:

【2】

。3.

軟件生命周期一般可分為以下階段:?jiǎn)栴}定義、可行性研究、

【3】

、設(shè)計(jì)、編碼、

【4】

、運(yùn)行與維護(hù)。4.

在選擇運(yùn)算所得到的結(jié)果關(guān)系中,所含的元組數(shù)不合

【5】

原關(guān)系中的元組數(shù)。5.

當(dāng)輸入10,11,12時(shí),下面程序運(yùn)行結(jié)果是

【6】

#include<iostream>

usingnamespacestd;

intmain()

int

a,b,c,max;

cin>>a>>b>>c;

max=a;

if(max<B)

max=b;

if(max<C)

max=c;

cout<<max<<end1;

return0;

6.

下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變。請(qǐng)?zhí)羁胀瓿纱顺绦颉?/p>

#include<iostream>

#include<string>

usingnamespacestd;

intmain()

chara[]="changuage",t,m;

int

i,j,k;

k=strlen(A);

for(i=0;i<=k-2;i+=2)

m=i;

for(j=i+2;j<=k;

【7】

)

if(a[m]>a[j]

m=j;

if(

【8】

)

t=a[i];

a[i]=a[m];

a[m]=t;

cout<<a<<end1;

return0;

7.

閱讀下面程序:

#include<iostream>

usingnamespacestd;

intfun(

inta,

intb)

intc;

c=a*b;

returnc;

intmain()

inta=3,

b=5,

c=4,

x=O;

x=fun(fun(a,

b),

c);

cout<<x<<end1;

return0;

其運(yùn)行結(jié)果是

【9】

。8.

在C++語(yǔ)言中,每個(gè)類都有一個(gè)隱含的指針叫

【10】

指針。該指針指向

【11】

。9.

經(jīng)常和一個(gè)運(yùn)算符連用,構(gòu)成一個(gè)運(yùn)算符函數(shù)名的C++關(guān)鍵詞是

【12】

。10.

若有以下程序:

#include<iostream>

usingnamespacestd;

template<classT>

Tmin(Tx,Ty)

if(x<y)

returnx;

else

returny;

intmain()

intn1=2,n2=10;

doubled1=1.5;d2=5.6;

cout<<min(n1,n2)<<",";

cout<<min(d2,d2)<<end1;

return0;

程序運(yùn)行后的輸出結(jié)果是

【13】

。11.

以下程序運(yùn)行后的輸出結(jié)果是

【14】

#include<iostream>

#include<string>

usingnamespacestd;

classY;

classX

intx;

char*strx;

public:

X(int

溫馨提示

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

評(píng)論

0/150

提交評(píng)論