全國計算機(jī)等級考試二級C語言筆試試題及答案大全_第1頁
全國計算機(jī)等級考試二級C語言筆試試題及答案大全_第2頁
全國計算機(jī)等級考試二級C語言筆試試題及答案大全_第3頁
全國計算機(jī)等級考試二級C語言筆試試題及答案大全_第4頁
全國計算機(jī)等級考試二級C語言筆試試題及答案大全_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

全國計算機(jī)等級考試二級C語言筆試試題及答案

一、選擇題(每小題2分,共70分)

(1)下列敘述中正確的是

A)棧是“先進(jìn)先出”的線性表

B)隊列是“先進(jìn)后出”的線性表

C)循環(huán)隊列是非線性結(jié)構(gòu)

D)有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)

(2)支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是

\棧

A7

B樹

C隊

\

7

D)二叉樹

(3)某二叉樹有5個度為z的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)是

A)10

B)8

C)6

D)4

(4)下列排序方法中,最壞情況下比較次數(shù)最少的是

A)冒泡排序

B)簡單選擇排序

C)直接插入排序

D)堆排序

(5)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于

應(yīng)用軟件的是

A)編譯程序

B)操作系統(tǒng)

C)教務(wù)管理系統(tǒng)

D)匯編程序

(6)下面敘述中錯誤的是

A)軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤

B)對被調(diào)試的程序進(jìn)行“錯誤定位”是程序調(diào)試的必要步驟

C)程序調(diào)試通常也稱為Debug

D)軟件測試應(yīng)嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性

(7)耦合性和內(nèi)聚性是對模塊獨立性度量的兩個標(biāo)準(zhǔn)。下列敘述中正確的是

A)提高耦合性降低內(nèi)聚性有利他哦高模塊的獨立性

B)降低耦合性提高內(nèi)聚性有利于提高模塊的獨立性

C)耦合性是指一個模塊內(nèi)部各個元索間彼此結(jié)合的緊密程度

D)內(nèi)聚性是指模塊間互相連接的緊密程度

(8)數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是

A)數(shù)據(jù)庫設(shè)計

B)數(shù)據(jù)庫系統(tǒng)設(shè)計

O數(shù)據(jù)庫維護(hù)

D)數(shù)據(jù)庫管理員培訓(xùn)

(9)有兩個關(guān)系R,S如下:

算為

用的運(yùn)

則所使

系S,

到關(guān)

算得

過運(yùn)

系R通

由關(guān)選擇

A)投影

B)插入

C)連接

D)

示為

可以表

聯(lián)系都

實體和

時,

系模式

換為關(guān)

R圖轉(zhuǎn)

將E-

(10)

A)屬

B)鍵

C)關(guān)

D)域

的信息

何意義

數(shù)無任

重載函

器區(qū)分

+編譯

對C+

(11)

數(shù)類型

A)參

數(shù)個數(shù)

B)參

回值類

C)返

st

字coa

關(guān)鍵

函數(shù)

成員

D)常

定義

變量

義和

類定

有如下

(12)

A(

class

:

publie

;}

{data=O

AO

){}

~A(

a;}

dat

eturn

{r

coast

()

ta

GetDa

int

=n;}

{data

intn)

ta(

SetDa

void

e:

privat

a;

intdat

};

;

Aa

ccnst

Ab;

的是

中錯誤

數(shù)調(diào)用

下列函

()

tData

.Ge

A)a

0);

(1

tData

.Se

B)a

()

tData

.Ge

C)b

);

(10

tData

.Se

D)b

義:

量定

和變

定義

下類

有如

(13)

{

ents

Par

class

:

public

ata;

blicu

intpu

e:

privat

Data;

ivate

intpr

);

};

略*/

/*類體

nts{

Pare

blic

dA:pu

Chil

class

);

略*/

{/*類體

ents

Par

ivate

dB:pr

Chil

class

Aa;

Child

b;

ChildB

確的是

句中正

下列語

;

dl

?en

ata

blicD

a.pu

out?

A)c

;

dl

?en

Data

ivate

a.pr

out?

B)c

l;

<<end

ata

blicD

b.pu

out?

C)c

;

<<endl

Data

ivate

b.pr

out?

D)c

性質(zhì)是

保持的

不需要

重載時

運(yùn)算符

(14)

數(shù)

作數(shù)個

A)操

B)操作數(shù)類型

C)優(yōu)先級

D)結(jié)合性

(15)下列關(guān)于函數(shù)模板的描述中,錯誤的是

A)從模板實參表和從模板函數(shù)實參表獲得信息矛盾時,以模板實參的信息為準(zhǔn)

B)對于常規(guī)參數(shù)所對應(yīng)的模板實參,任何情況下都不能省略

C)虛擬類型參數(shù)沒有出現(xiàn)在模板函數(shù)的形參表中時,不能省略模板實參

D)模板參數(shù)表不能為空

(16)要建立文件流并打開當(dāng)前目錄下的文件fil6.dat用于輸入,下列語句中錯誤的是

A)ifstreamfin=ifstrearn,open("file.dat");

B)ifstream*fir.=newifstream("file.dat");

C)ifstreamfin;fin.open("file.dat");

D)ifstream*fin=newifstream();fin—>open("file.dat");

(17)下列描述中,不屬于面向?qū)ο笏枷胫饕卣鞯氖?/p>

A)封裝性

B)跨平臺性

C)繼承性

D)多態(tài)性

(18)有如下程序段:

Tnti=4;intj=l;

intmain(){

inti=8,j=i;

cout<<i?j<<endl;

)

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

A)44

B)41

C)88

D)81

(19)有如下程序段:

inti=5;

while(inti=0){cout《'*';i一一;}

運(yùn)行時輸出“*”的個數(shù)是

A)0

B)1

C)5

D)無窮

(20)己知有數(shù)組定義

chara[3][4];

下列表達(dá)式中錯誤的是

A)a[2]="WIN”

B)strcpy(a[2],"WIN”)

C)a[2][3]='W'

D)a[0][l]=a[0][l]

(21)已知函數(shù)fun的原型為

intfun(int,int,int);

下列重載函數(shù)原型中錯誤的是

A)charfun(int,int);

B)doublefun(int,int,double);

C)intfun(int,char*);

D)floatfun(int,int,int);

(22)建立一個類對象時,系統(tǒng)自動調(diào)用

A)析構(gòu)函數(shù)

B)構(gòu)造函數(shù)

C)靜態(tài)函數(shù)

D)友元函數(shù)

(23)通過派生類的對象可直接訪問其

A)公有繼承基類的公有成員

B)公有繼承基類的私有成員

C)私有繼承基類的公有成員

D)私有繼承基類的私有成員

(24)己知表達(dá)式++a中的“++”是作為成員函數(shù)重載的運(yùn)算符,則與十+a等效的運(yùn)算符

函數(shù)調(diào)用形式為

A)a.orerator++(1)

B)operator++(a)

C)operator++(a,1)

D)a.operator++()

(25)在定義一個類模板時,模板形參表是用一對括號括起來的,所采用的括號是

A)()

B)[]

C)<>

D)(}

(26)當(dāng)使用ifstream流類定義一個流對象并打開一個磁盤文件時,文件的默認(rèn)打開方

式為

A)ios_base::in

B)ios_base::in|ios_base::out

C)iosbase::out

D)iosbase::in&iosbase::out

(27)有如下程序:

#include<iostream>

#include<cstring>

usingnamespacestd;

classXCD{

char*a;

intb;

public:

XCD(char*aa,intbb){

a=newchar[strlen(aa)+1];

strcpty(a,aa);

b二bb;

)

Char*Geta(){returna;)

intGetb(){returnb;}

);

intmain(){

char*pl="abed”,*p2="weirong”;

intdl=6,d2=8;

XCDx(pl,dl),Y(p2,d2);

cout?strien(x.Geta())+y.Getb()+endl;

return0;

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

A)12

B)16

C)14

D)11

(28)有如下程序:

#include<iostream>

#include<cstring>

usingnamespacestd;

classXCF{

inta;

public:

XCF(intaa=O):a(aa){cout<<“1";}

XCF(XCF&x){a=x.a;cout<<“2";)

~XCF(){cout?a;}

intGeta(){returna;}

);

intmain(){

XCFdl(5),d7(dl);

XCF*pd=newXCF(8);

cout?pd一)Geta();

deletepd;

return0;

)

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

A)121SS88

B)12188SS

C)12185

D)128512

(29)已知類MyClass聲明如下:

classMyClass{

intn;

public;

MyClass(intk):n(k){)

intgetValue()const(returnn;}

);

在下列數(shù)組定義中正確的是

A)MyClassxl[2];

B)MyClassx2[2]={newMyClass(1),newMyClass(2)};

C)MyClass*x3[2];

D)MyClass*x4[2]={MyClass(1),MyClass(2)};

(30)有如下程序:

#include<iostream>

usingnamespacestd;

classAA{

liltk;

protected:

intn;

voidsetK(intk){this->k=k;}

public:

voidsetN(intn){this->n=n;}

);

classBB:public}{/*類體略*/};

intmain(){

BBx_;//I

x.n=l;//2

x.setN(2);//3

x.k=3;//4

x.setK(4);

return0;

)

在標(biāo)注號碼的四條語句中正確的是

A)1

B)2

C)3

D)4

(31)有如下類定義:

classXX{

intxx;

public:

XX():xx(0){cout?,A';}

XX(intn):xx(n){tout<<,B';}

);

ClassYY:publicXX{

Intyy;

public:

YY():yy(0){cout+yy;}

YY(intn):XX(n+1),yy(n){cout?yy;}

YY(intm,intn):XX(m),yy(n){cout<<yy;}

);

下列選項中,輸出結(jié)果為AO的語句是

A)YYyl(0,0);

B)YYy2(1);

C)YYy3(0);

D)YYy4;

(32)有如下程序:

#include<iostream>

Usingnamespacestd;

classA{

public:

virtualvoidf(){cout+1;}

voidg(){cout<<2;}

);

classB:publicA(

public:

virtualvoidf(){cout<<3;}

voidg(){ecut<<4;}

);

voidshow(A&a)(a.f();a.g();}

intmain(){

Bb;

show(b);

return0;

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

A)12

B)34

C)14

D)32

(33)有如下程序:

#include<iostream>

usingnamespacestd;

classPair{

intin;

intn;

public:

Pair(inti,intj):m(i),n(j){)

bootoperator>(pairp)const;〃須在類體外給出定義

};

intmain(){

PairAl(3,4),p2(4,3);p3(4,5);

Cout?(pl>p2)?(P2>P1)?(p2>p3)?(p3>p2);

return0;

)

運(yùn)算符函數(shù)。operator)的功能是比較兩個Pair對象的大小,當(dāng)左邊對象大時,返

回true,否則返回false。比較規(guī)則是首先比較兩對象的m成員,m大者為大;當(dāng)m相等時

比較n,n大者為大。程序輸出0101,下列對運(yùn)算符重載函數(shù)的正確定義是

A)boolPair::operator>(Pairp)const

{if(m!=p.m)returnm>p.m;returnn>p.n;}

B)boolPair:;operator>(Pairp)

{if(m!=p.m)returnm>p.m;returnn>p.n;}

C)boolPair::operator>(Pairp)const

{if(m>p.m)returntrue;returnn>p.n;)

D)boolPair:;operator>(Pairp)

{if(m>p.m)returntrue;returnn>p.n;}

(34)假定下列語句都是程序運(yùn)行后首次執(zhí)行的輸出語句,其中輸出結(jié)果與另外三條語句

不同的語句是

A)cout?setfill('*')?123?setw(9)?321;

B)cout?setfill('*')?setw(6)<<left?123?setw(6)?right<<321;

C)cout?123?setfill()?setw(6)?321;

D)cout?setfill()?SetW(9)<<left?123?321;

(35)有如下程序:

#include<iostream>

usingnamespacestd;

class0NE{

intc;

public:

ONE():c(0){cout?l;}

ONE(intn):c(n){cout<<2;}

);

classTW0{

ONEonel;

ONEone2;

public:

TWO(intm):one2(m){cout<<3;}

);

intmain()t

TWOt(4)

return0

)

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

A)3

B)23

C)123

D)213

二、填空題(每空2分,共30分)

(1)假設(shè)用一個長度為50的數(shù)組(數(shù)組元索的下標(biāo)從0到49)作為棧的存化空間,棧

底指針bottom指間棧底元素,棧頂指針top指向棧頂元素,如果bottom=49,

top=30(數(shù)組下標(biāo)),則棧中具有【1】個元素。

(2)軟件測試可分為白盒測試和黑盒測試?;韭窂綔y試屬于【2】測試。

(3)符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是:選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和【3】o

(4)數(shù)據(jù)庫系統(tǒng)的核心是14】。

(5)在E-K圖中,圖形包括矩形框、菱形框、橢圓框。其中表示實體聯(lián)系的是【5】框。

(6)有如下程序段:

intx=l,Y=2,z=3;

x=xz;

y二y'z;

z=x*y;

cout<<x<<y<<z;

執(zhí)行這個程序段的輸出是【6】o

(7)有如下程序段:

fer(inti=l;i<=50;i++){

if(i%3!=0)

continue;

else

if(i%5!=0)

continue;

tout?i?”;

}

執(zhí)行這個程序段的輸出是【7】。

(8)有如下程序段:

Charc[20]="examination”;

c⑷二0;

cout?c?endl;

執(zhí)行這個程序段的輸出是【8】o

(9)下面的函數(shù)利用遞歸實現(xiàn)了求1+2+3+……+n的功能:

intsum(intn){

if(n==0)

return0;

else

returnn+sum(n-l);

)

在執(zhí)行sum(10)的過程中,遞歸調(diào)用sum函數(shù)的次數(shù)是【9】。

(10)非成員函數(shù)應(yīng)該聲明為類[10]函數(shù)才能訪問該類的私有成員。

(11)有如下程序:

#include<iostream>

usingnamespacestd;

classMonitor{

public:

Monitor(chart):type(t){}

voidprint()const

{cout?”Thetypeofmonitoris"?type<<endl;}

private:

chartype;

);

classComputer(

public:

Computer(inti,charc):[11]{}

voidPrint()const

{cout?aThecomputerisv<<id<<endl;mon.Print();}

private:

intid;

Monitormon;

};

constComputermyComputer(101,'B');

myComputer.Print();

return0;

)

請將程序補(bǔ)充完整,使程序在運(yùn)行時輸出:

Thecomputeris101

,Thetypeofmonitori.s8

(12)有如下程序:

#include<iostream>

usingnamespacestd

classAnimal{

public:

virtualchar*getType()const{return“Animal";}

virtualchar*getVoice()const{return“Voice";}

};

ClassDog:publicAnimal{

public:

char*getType()const{return“Dog”;}

char*getVoice()const{return“Woof"}

);

voidtype(Animal&a){cout?a.getType();}

voidspeak(Animala){cout<<a.getVoice();}

intmain(){

Dogd;type(d);cout<<"speak";speak(d);cout?endi;

return0;

)

運(yùn)行時的輸出結(jié)果是[12]o

(13)補(bǔ)充完整下面的類定義:

constdoublePI=3.14;

溫馨提示

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

評論

0/150

提交評論