2020年度全國計算機等級考試二級c歷年真題模擬及答案_第1頁
2020年度全國計算機等級考試二級c歷年真題模擬及答案_第2頁
2020年度全國計算機等級考試二級c歷年真題模擬及答案_第3頁
2020年度全國計算機等級考試二級c歷年真題模擬及答案_第4頁
2020年度全國計算機等級考試二級c歷年真題模擬及答案_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

全國計算機等級考試二級C++歷年真題及

答案

資料僅供參考

全國計算機等級考試二級筆試試卷性數(shù)據(jù)結(jié)構(gòu)的是

公共基礎(chǔ)知識及C++語言A)隊列B)線性表

程序設(shè)計C)二叉樹D)棧

(考試時間90分鐘,滿分(3)在一棵二叉樹上第5層的

100)分)結(jié)點數(shù)最多是

A)8B)16

一、選擇題((1)?(35)每小題2C)32D)15

分,共70分)(4)下面描述中,符合結(jié)構(gòu)化

下列各題A)、B)、C)、程序設(shè)計風(fēng)格的是

D)四個選項中,只有一個選A)使用順序、選擇和重復(fù)

項是正確的,請將正確選項涂(循環(huán))三種基本控制結(jié)構(gòu)表

寫在答題卡相應(yīng)位置上,答在示程序的控制邏輯

試卷上不得分。B)模塊只有一個入口,能夠

(1)下面敘述正確的是有多個出口

A)算法的執(zhí)行效率與數(shù)據(jù)C)注重提高程序的執(zhí)行效

的存儲結(jié)構(gòu)無關(guān)率

B)算法的空間復(fù)雜度是指D)不使用goto語句

算法程序中指令(或語句)的⑸下面概念中,不屬于面向

條數(shù)對象方法的是

C)算法的有窮性是指算法A)對象B)繼承

必須能在執(zhí)行有限個步驟之C)類D)過程調(diào)用

后終止⑹在結(jié)構(gòu)化方法中,用數(shù)據(jù)

D)以上三種描述都不對流程圖(DFD)作為描述工具

⑵以下數(shù)據(jù)結(jié)構(gòu)中不屬于線的軟件開發(fā)階段是

資料僅供參考

A)可行性分析B)需求致

分析C)詳細設(shè)計D)(10)下列模式中,能夠給出數(shù)

程序編碼據(jù)庫物理存儲結(jié)構(gòu)與物理存

⑺在軟件開發(fā)中,下面任務(wù)取方法的是

不屬于設(shè)計階段的是A)內(nèi)模式B)外模式

A)數(shù)據(jù)結(jié)構(gòu)設(shè)計B)給C)概念模式D)邏輯模式

出系統(tǒng)模塊結(jié)構(gòu)(11)關(guān)于面向?qū)ο蟮某绦蛟O(shè)

C)定義模塊算法D)定計方法,下列說法正確的是

義需求并建立系統(tǒng)模型A)“封裝性”指的是將不同

⑻數(shù)據(jù)庫系統(tǒng)的核心是類型的相關(guān)數(shù)據(jù)組合在一起,

A)數(shù)據(jù)模型C)作為一個整體進行處理

軟件工具B)“多態(tài)性”指的是對象的

B)數(shù)據(jù)庫管理系統(tǒng)D)數(shù)狀態(tài)會根據(jù)運行時要求自動

據(jù)庫變化

(9)下列敘述中正確的是C)基類的私有成員在派生

A)數(shù)據(jù)庫系統(tǒng)是一個獨立類的對象中不可訪問,也不占

的系統(tǒng),不需要操作系統(tǒng)的支內(nèi)存空間

持D)在面向?qū)ο蟮某绦蛟O(shè)計

B)數(shù)據(jù)庫設(shè)計是指設(shè)計數(shù)中,結(jié)構(gòu)化程序設(shè)計方法仍有

據(jù)庫管理系統(tǒng)著重要作用

C)數(shù)據(jù)庫技術(shù)的根本目標(biāo)(12)判斷字符型變量ch是否

是要解決數(shù)據(jù)共享的問題為大寫英文字母,應(yīng)使用表示

D)數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的式

物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一A)ch>=,A,&ch<=,Z,

資料僅供參考

B)chv=A||ch>二Z#include<iostream>

C)*A,<=ch<=*Z,usingnamespacestd;

D)ch>=,A,&&ch<=,Z,intmain()

(13)已知下列語句中的x和y{

都是int型變量,其中錯誤的chara[]="Hello,

語句World**;

A)x=y++;B)x=++y;char*ptr=a;

C)(x+y)++;D)++x=y;while(*ptr)

(14)執(zhí)行語句序列{

intn;if(*ptr>=

cin?n;&&*ptr<=*z*)

switch(n)cout?

{case1:char(*ptr+'A'

case2:cout?*1*;elsecout?

case3:*ptr;

case4:cout?'2';ptr++;

break;)

default:cout?*3*;return0;

))

時,若鍵盤輸入L則屏幕顯A)HELLO,WORLD

示B)Hello,World

A)1B)2C)3C)hELLO,WORLD

D)12D)hello,world

(15)下列程序的輸出結(jié)果是(16)已知:intm=10;在下列

資料僅供參考

定義引用的語句中,正確的是inti=0;

A)int&x=m;B)intvoidfun()

y=&m;{{

C)int&z;staticinti=1;

D)int&t=&m;

(17)下列函數(shù)原型聲明中錯std::cout?i++?*,*;

誤的是)

A)voidFun(iiitx=0,intstd::cout?i?,/;

y=o);)

B)voidFun(intx,inty);intmain()

C)voidFun(intx,inty=0);|

D)voidFun(intx=0,inty);fun();fun();

(18)已知程序中已經(jīng)定義了return0;

函數(shù)test,其原型是int)

test(int,int,int);,則下列重載程序執(zhí)行后的輸出結(jié)果是

形式中正確的是A)l,2,l,2,B)l,2,2,3,

A)chartest(int,int,int);C)2,0,3,0,D)l,0,2,0,

B)double(20)已知函數(shù)f的原型是:

test(int,int,double);voidf(int*a,long&b);變量

C)inttest(int,int,int=O);vl>v2的定義是:intvl;long

D)floatv2;,正確的調(diào)用語句是

test(int,int,f!oat=3.5F);A)f(vl,&v2);B)f(vl,

(19)有以下程序v2);

#include<iostream>C)f(&vl,v2);D)

資料僅供參考

f(&vl,&v2);A)new和delete是C++語言

(21)有以下類定義中專門用于動態(tài)內(nèi)存分配和

classMyClass釋放的函數(shù)

(B)動態(tài)分配的內(nèi)存空間也能

public:夠被初始化

MyClass(){cout?l;}C)當(dāng)系統(tǒng)內(nèi)存不夠時,會自

);動回收不再使用的內(nèi)存單元,

則執(zhí)行語句MyClassa,b[2],因此程序中不必用delete釋

*p[2];后,程序的輸出結(jié)果是放內(nèi)存空間

A)llB)lllD)當(dāng)動態(tài)分配內(nèi)存失敗時,

系統(tǒng)會馬上崩潰,因此一定要

(22)關(guān)于友元,下列說法錯誤慎用new

的是(24)有以下程序

A)如果類A是類B的友元,#include<iostream>

那么類B也是類A的友元usingnamespacestd;

B)如果函數(shù)fim()被說明為類classMyClass

A的友元,那么在fim()中能(

夠訪問類A的私有成員public:

C)友元關(guān)系不能被繼承MyClass(intn){number=n;}

D)如果類A是類B的友元,〃拷貝構(gòu)造函數(shù)

那么類A的所有成員函數(shù)都MyClass(MyCIass

是類B的友元&other){number=other.num

(23)關(guān)于動態(tài)存儲分配,下列ber;}

說法正確的是-MyClass(){}

資料僅供參考

private:D)私有成員、保護成員和公

intnumber;有成員

);(26)在C++中用來實現(xiàn)運行

MyClassfun(MyClassp)時多態(tài)性的是

(A)重載函數(shù)

MyClasstemp(p);B)析構(gòu)函數(shù)

returntemp;C)構(gòu)造函數(shù)

)D)虛函數(shù)

intmain()(27)一個類能夠同時繼承多

(個類,稱為多繼承。下列關(guān)于

MyClassobjl(10),obj2(0);多繼承和虛基類的表述中,錯

MyClassobj3(objl);誤的是

obj2=fun(obj3);A)每個派生類的構(gòu)造函數(shù)

return0;都要為虛基類構(gòu)造函數(shù)提供

)實參

程序執(zhí)行時,MyClass類的拷B)多繼承時有可能出現(xiàn)對

貝構(gòu)造函數(shù)被調(diào)用的次數(shù)是基類成員訪問的二義性問題

A)5B)4C)3D)2C)使用虛基類能夠解決二

(25)在公有派生的情況下,派義性問題并實現(xiàn)運行時的多

生類中定義的成員函數(shù)只能態(tài)性

訪問原基類的D)建立最派生類對象時,

A)公有成員和私有成員虛基類的構(gòu)造函數(shù)會首先被

B)私有成員和保護成員調(diào)用

C)公有成員和保護成員(28)在一個類體的下列聲明

資料僅供參考

中,正確的純虛函數(shù)聲明是(31)執(zhí)行語句序列

A)virtualvoidvf()=0;ofstream

B)voidvf(int)=0;outfile(nDATA.DATn);

C)virtualintvf(int);if(…)cout?''OK'';else

D)virtualvoidvf(int){}cout?"FAIL'';

(29)在下面的運算符重載函后,如果文件打開成功顯示

數(shù)的原型中,錯誤的是“OK”,否則就顯示“FAnowo

A)Volumeoperator-(double,由此可知,上面if語句的...

double);處的表示式應(yīng)是

B)doubleVolume::operator-A)outfile.fail()或outfile

(double);B)outfile.good()或!outfile

C)VolumeC)outfile.good()或outfile

Volume::operator-D)outfile.fail()或!outfile

(Volume);(32)C++流中重載的運算

D)Volumeoperator-符>>是一個()

(Volume,Volume);A)用于輸出操作的非成員

(30)下列是模板聲明的開始函數(shù)B)用于輸入操作的

部分,其中正確的是非成員函數(shù)

A)template<T>C)用于輸出操作的成員函

B)template<classT1,T2>數(shù)D)用于輸入操作的

C)template<classTl,class成員函數(shù)

T2>(33)有以下類定義

D)template<classTl;classclassPoint{

T2>public:

資料僅供參考

Point(intx=0,inty=chargender,

0){_?x=x;_.y=y;}char*phone;

voidMove(intxOff,intpublic:

yOff)

{_x+=xOff;_.y+=MyClass():id(O),genderC#)p

yOff;)hone(NULL){}

voidPrintQconstMyClass(intno,char

{cout?,('?_x?ge=,#*,char*ph=NULL)

vv_y?')'vvendl;}

private:{id=no;gende=ge;phone=ph;

int_x,_y;)

););

下列語句中會發(fā)生編譯錯誤下列類對象定義語句中錯誤

的是的是

A)Pointpt;pt.PrintO;A)MyClassmyObj;

B)constPointpt;pt.Print();B)MyClassmyObj(ll,nn);

C)Pointpt;pt.Move(l,2);C)MyClassmyObj(12,1m1);

D)constPointpt;pt.Move(l,D)MyClassmyObj(12);

2);(35)有以下程序

(34)有以下類定義#include<iostream>

classMyClassusingnamespacestd;

(classComplex

private:|

intid;public:

資料僅供參考

Complex(doubler=0,二、填空題(每空2分,共30

doublei=0):re(r),im(i){}分)

doublereal()const請將每一個空的正確答

{returnre;}案寫在答題卡序號的

doubleimag()const橫線上,答在試卷上不得分。

{returnim;}注意:以命令關(guān)鍵字填空的必

Complexoperator須拼寫完整。

+(CompIexc)const⑴算法的復(fù)雜度主要包括

{return[1]復(fù)雜度和空間復(fù)雜度。

Complex(re+c.re,im+c.im);}⑵數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機

private:存儲空間中的存放形式稱為

doublere,im;數(shù)據(jù)的[2]o

);⑶若按功能劃分,軟件測試

intmain()的方法一般分為白盒測試方

(法和[3]測試方法。

Complexa=(4)如果一個工人可管理多個

Complex(l,1)+Complex(5);設(shè)備,而一個設(shè)備只被一個工

cout?a.real()??人管理,則實體“工人”與實體

a.imagO?*i*?endl;“設(shè)備”之間存在[4]的聯(lián)

return0;系。

)⑸關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實

程序執(zhí)行后的輸出結(jié)果是現(xiàn)的專門關(guān)系運算包括選擇、

A)6+6iB)6+liC)連接和[5]o

l+6iD)1+li⑹設(shè)有定義語句:inta=12;,

資料僅供參考

則表示式a*=2+3的運算結(jié)果B(intaa):9]

是[6]o{b=aa+2;}

⑺從實現(xiàn)的角度劃分,C++);

所支持的兩種多態(tài)性分別是(10)下列程序的輸出結(jié)果是

[7]時的多態(tài)性和運行時的[10]O

多態(tài)性。#include<iostream>

⑻將一個函數(shù)聲明為一個類usingnamespacestd;

的友元函數(shù)必須使用關(guān)鍵字intmain()

[8]o(

⑼請按下面注釋的提示,將inti=5;

類B的構(gòu)造函數(shù)定義補充完int&r=i;r=7;

整。cout?i?endl;

classAreturn0;

()

inta;(11)下列程序的輸出結(jié)果是

public:[11]o

A(intaa=O){a=aa;}#include<iostream>

);usingnamespacestd;

classB:publicA{classTest{

intb;public:

Ac;Test(){cnt++;}

public:-Test(){ent—;}

〃用aa初始化基類A,用aa+1staticintCount()

初始化類對象成員c{returnent;}

資料僅供參考

private:

staticintent;if(n<=1)

);return1;

intTest::cnt=0;return

intmain()[12];

()

cout?Test::CountO(13)下列程序的輸出結(jié)果是

vv,';[13]o

Testtl,t2;#include<iostream>

Test*pT3=newTest;usingnamespacestd;

Test*pT4=newTest;template<tytenameT>

cout?Test::CountOTfun(Ta,Tb){return

?**;(a<=b)?:b;}

deletepT4;intmain()

deletepT3;|

cout?Test::Count()cout?fun(3,6)?

?endl;?fun(3.14F,6.28F)?

return0;endl;

)return0;

(12)下面是用來計算n的階乘)

的遞歸函數(shù),請將該函數(shù)的定(14)與成員訪問表示式

義補充完整。(注:階乘的定p->name等價的表示式是

[14]o

unsignedfact(unsignedn)(15)下列程序的輸出結(jié)果是

資料僅供參考

[15]ointmainQ

#include<iostream>|

usingnamespacestd;deriveAdl(l);

classbase{deriveBd2(3);

public:base*pbase;

intn;phase=&dl;

base(intx){n=x;}pbase->aet(l);

virtualvoidset(intm)pbase=&d2;

{n=m;cout?n?**;}pbase->set(2);

);return0;

classderiveA:publicbase{)

public:9月

deriveA(intx):base(x)全國計算機等級考試二級筆

()

voidset(mtm){n+=公共基礎(chǔ)知識及C++語言程

m;cout?n?**;}序設(shè)計

);答案及評分標(biāo)準(zhǔn)

classderiveB:publicbase[選擇題(⑴一(35)每小題2分,

public:共70分)

deriveB(intx):base(x)(1)C(2)C(3)B

()(4)A(5)D

voidset(intm){n+=m;(6)B(7)D(8)B

cout?n?**;}⑼C(10)A

);(11)D(12)D(13)C

資料僅供參考

(14)D(15)A(10)[10]7

(16)A(17)D(18)B(11)[11]042

(19)D(20)C(12)[12]n*fact(n-l)

(21)B(22)A(23)B(13)[13]3,3.14

(24)B(25)C(14)[14](*p).name

(26)D(27)C(28)A(15)[15]25

(29)A(30)C3月計算機等級考試二級

(31)C(32)B(33)DC++筆試試題

(34)B(35)B一、選擇題(每小題2分,

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

分)下列各題A)、B)、C)、

(1)[1]時間D)四個選項中,只有一個選

⑵⑵存儲結(jié)構(gòu)或物項是正確的。請將正確選項填

理結(jié)構(gòu)或物理存儲結(jié)構(gòu)涂在答題卡相應(yīng)位置上,答在

⑶[3]黑盒或黑箱試卷上不得分。

(4)[4]一對多或1對(1)下列敘述中正確的是

多或I:M或I:N(其A)對長度為n的有序鏈

中M、N大小寫均可)表進行查找,最壞情況下需要

⑸[5]投影的比較次數(shù)為n

(6)[6]60B)對長度為n的有序鏈

⑺[7]編譯表進行對分查找,最壞情況下

(8)[8]friend需要的比較次數(shù)為(n⑵

⑼[9]A(aa),c(aa+1)或C)對長度為n的有序鏈

c(aa+l),A(aa)表進行對分查找,最壞情況下

資料僅供參考

需要的比較次數(shù)為(log2n)B)盡可能多地發(fā)現(xiàn)程序

D)對長度為n的有序鏈中的錯誤

表進行對分查找,最壞情況下C)發(fā)現(xiàn)并改正程序中的

需要的比較次數(shù)為(nlog2n)所有錯誤

(2)算法的時間復(fù)雜度是D)確定程序中錯誤的性

指質(zhì)

A)算法的執(zhí)行時間(5)數(shù)據(jù)流程圖(DFD圖)

B)算法所處理的數(shù)據(jù)量是

C)算法程序中的語句或A)軟件概要設(shè)計的工具

指令條數(shù)B)軟件詳細設(shè)計的工具

D)算法在執(zhí)行過程中所C)結(jié)構(gòu)化方法的需求分

需要的基本運算次數(shù)析工具

(3)軟件按功能能夠分D)面向?qū)ο蠓椒ǖ男枨?/p>

為:應(yīng)用軟件、系統(tǒng)軟件和支分析工具

撐軟件(或工具軟件)。下面屬(6)軟件生命周期可分為

于系統(tǒng)軟件的是定義階段,開發(fā)階段和維護階

A)編輯軟件段。詳細設(shè)計屬于

B)操作系統(tǒng)A)定義階段

C)教務(wù)管理系統(tǒng)B)開發(fā)階段

D)瀏覽器C)維護階段

(4)軟件(程序)調(diào)試的任D)上述三個階段

務(wù)是(7)數(shù)據(jù)庫管理系統(tǒng)中負

A)診斷和改正程序中的責(zé)數(shù)據(jù)模式定義的語言是

錯誤A)數(shù)據(jù)定義語言

資料僅供參考

B)數(shù)據(jù)管理語言

C)數(shù)據(jù)操縱語言則由關(guān)系R得到關(guān)系T

D)數(shù)據(jù)控制語言的操作是

(8)在學(xué)生管理的關(guān)系數(shù)A)選擇

據(jù)庫中,存取一個學(xué)生信息的B)投影

數(shù)據(jù)單位是C)交

A墳件D)并

B)數(shù)據(jù)庫(11)下列關(guān)于函數(shù)的描述中,

C)字段錯誤的是

D)記錄A)函數(shù)能夠沒有返回值

(9)數(shù)據(jù)庫設(shè)計中,用B)函數(shù)能夠沒有參數(shù)

E-R圖來描述信息結(jié)構(gòu)但不C)函數(shù)能夠是一個類的

涉及信息在計算機中的表示,成員

它屬于數(shù)據(jù)庫設(shè)計的D)函數(shù)不能被定義為模

A)需求分析階段板

B)邏輯設(shè)計階段(12)若MyClass是一個

C)概念設(shè)計階段類名,且有如下語句序列

D)物理設(shè)計階段MyClasscl,*c2;

(10)有兩個關(guān)系R和TMyClass*c3=new

如下:MyClass;

MyClass&c4=cl;

上面的語句序列所定義

的類對象的個數(shù)是

A)1

資料僅供參考

B)2C)friendDecr&

C)3operator—(Decr&);

D)4D)frlendDeeroperator

(13)下列關(guān)于繼承方式-(Decr&,int);

的描述中,錯誤的是(15)若MyTemp是一個

A)如果不顯式地指定繼只有一個虛擬類型參數(shù)的類

承方式,缺省的繼承方式是私模板,且有如下語句序列

有(private)MyTempp2;

B)采用公有繼承方式時,MyTempp3[2];

基類中的公有成員在派生類編譯系統(tǒng)在處理上面的

中依然是公有成員語句序列時,所生成的模板

C)采用保護繼承方式MyTemp的實例的個數(shù)是

時,基類中的保護成員在派生A)1

類中依然是保護成員B)2

D)采用私有繼承方式C)3

時,基類中的私有成員在派生D)0

類中依然是私有成員(16)在C++中,cin是個

(14)將前綴運算符重A)類

載為非成員函數(shù),下列原型B)對象

中,能正確用于類中說明的是C)模板

A)Decr&operatorD涵數(shù)

Tint);(17)在下列字符中,不允

B)Decroperator許作為C++標(biāo)識符的是

—(Decr&,int);A)b

資料僅供參考

B)BA)intx[3]={0,0,0};

C).B)intx[]={0};

D)2C)staticintx[3]={0};

(18)下列敘述中,錯誤的D)intx[]={0,0,0};

是(21)關(guān)于函數(shù)中的v返回類

A)false是一個邏輯型常型〉,下列表述中錯誤的是

量A)〈返回類型〉中有可能

B)“b”是一個字符型常包含關(guān)鍵字int

量B)〈返回類型〉中有可能

C)365是一個int常量包含自定義標(biāo)識符

D)3.1415926是一個C)〈返回類型〉中有可能

double常量包含字符*

(19)若x和y是程序中的D)〈返回類型〉中可能包

兩個整型變量,則下列if語含口

句中正確的是(22)要定義一個引用變

A)if(x==0)y=l;else量p,使之引用類MyClass

y=2;的一個對象,正確的定義語句

B)if(x==0)theny=lelse是

y=2;A)MyClassp=MyClass;

C)if(x==0)y=lelsey=2;B)MyClassp=new

D)ifx==0y=l;elsey=2;MyClass;

(20)要定義整型數(shù)組x,C)MyClass&p=new

使之包括初值為O的三個元MyClass;

素,下列語句中錯誤的是D)MyClassa,&p=a;

資料僅供參考

(23)有如下兩個類定義載的描述中,錯誤的是

classXX{A)能夠經(jīng)過運算符重載

private:在C++中創(chuàng)立新的運算符

doublexl;B)賦值運算符只能重載

protected:為成員函數(shù)

doublex2;C)運算符函數(shù)重載為類

public:的成員函數(shù)時,第一操作數(shù)是

doublex3;該類對象

);D)重載類型轉(zhuǎn)換運算符

classYY:protectedXX{時不需要聲明返回類型

private:(25)下列關(guān)于類模板的

doubleyl;描述中,錯誤的是

protected:A)類模板的成員函數(shù)都

doubley2;是模板函數(shù)

public:B)能夠為類模板參數(shù)設(shè)

doubley3;置默認(rèn)值

);C)類模板描述了一組類

在類YY中保護成員變D)類模板中只允許有一

量的個數(shù)是個類型參數(shù)

A)1(26)下列控制格式輸入

B)2輸出的操作符中,能夠設(shè)置浮

C)3點數(shù)精度的是

D)4A)setprecision

(24)下列關(guān)于運算符重B)setw

資料僅供參考

C)setfillTestfun(Test&u){Test

D)showpoint(27)下歹!J程t=u;returnt;}

序段中包含4個函數(shù),其中具intmain(){Testx,y;

有隱含this指針的是x=fun(y);return0;}

intfunl();運行這個程序的輸出結(jié)

classTest{果是

public:A)無輸出

intfun2();B)1

friendintfun3();C)ll

staticintfun4();D)lll

);(29)有如下程序

A)funl#include

B)fun2usingnamespacestd;

C)fun3classA{

D)fun4public:

(28)有如下程序A(inti=0):rl(i){}

#includevoidprint()

usingnamespacestd;{cout?tE,?Rl?t-,;}<p>

classTest{voidprint()const

public:{cout?,C,?RlSJiRl<<,-,;}<

Test(){}P>

Test(constTest&t)voidprint(intx){cout

{cout?l;}vv'P'vvRl*Rl*Rlvv」;}v

);P>

資料僅供參考

private:A)類Person是類

intrl;Undergraduate的基類

);B)類Undergraduate從

intmain(){類Student公有繼承

Aal;C)類Student是類

constAa2(4);Person的派生類

al.print(2);D)類Undergraduate是

al.printO;類Person的派生類

return0;

)(31)有如下程序

運行時的輸出結(jié)果是#include

A)P8-E4usingnamespacestd;

B)P8-C16-ClassBase{

OP0-E4-public:

D)P0-C16-Base(intx=0):valB(x)

(30)下列代碼聲明了3個{cout?VALB;}<p>

類-Base()

classPerson{};{cout?VALB;}<p>

classStudent:publicprivate:

Person{};intvalB;

class);

Undergraduate:Student{};classDerived:public

下列關(guān)于這些類之間關(guān)Base{

系的描述中,錯誤的是public:

資料僅供參考

Derived(intx=O,int述中,正確的是

y=0):Base(x),vaiD(y){cout?A)類Shape是虛基類

VALD;}<p>B)類Shape是抽象類

-Derived。C)類Shape中的Draw

{cout?VALD;}<p>函數(shù)聲明有誤

private:D)語句“Shapes;”能夠

intvalD;建立Shape的一個對象s

);(33)將運算符重載為

intmain(){非成員函數(shù),下列原型聲明

Derivedobj12(2,3);中,錯誤的是

retuen0;A)MyClockoperator+

)(MyClockJong);

運行時的輸出結(jié)果是B)MyClockoperator+

A)2332(MyClock,MyClock);

B)2323C)MyClockoperator+

C)3232(long,long);

D)3223D)MyClockoperator+

(32)下面是類Shape的(long,MyClock);

定義:(34)打開文件時可單獨

classShape{或組合使用下列文件打開模

public:式

virtualvoidDraw()=0;①ios_base::app②

);ios_base::binary

下列關(guān)于Shape類的描③ios_base::in④

資料僅供參考

ios_base::outclassD:publicB{

若要以二進制讀方式打public:

開一個文件,需使用的文件打D(intxx,int

開模式為yy):B(xx),y(yy){++count;

A)①③y+=100;}

B)①④virtualvoidshow()const

C)②③

D)②④{cout?COUNT?_?Y?

(35)有如下程序:ENDL;}<p>

#includeprivate:

usingnamespacestd;inty;

ClassB{);

public:intB::count=0;

B(intxx):x(xx){++cout;intmain(){

x+=10;}B*ptr=newD(10,20);

virtualvoidshow()constptr->show();

deleteptr;

{cout?COUNT?_<<X?return0;

ENDL;}<p>)

protected:運行時的輸出結(jié)果是

staticintcount;A)l_120

private:B)2_120

intx;C)l_20

);D)2_20

資料僅供參考

二、填空題(每空2分,共30對該二叉樹進行后序遍

分)歷的結(jié)果為【3】o

請將每一個空的正確答(4)軟件是【4】、數(shù)據(jù)

案寫在答題卡序和文檔的集合。

號的橫線上,答在試卷上不得(5)有一個學(xué)生選課的關(guān)

分。系,其中學(xué)生的關(guān)系模式為:

(1)一個隊列的初始狀態(tài)學(xué)生(學(xué)號,姓名,班級,年

為空。現(xiàn)將元素齡),課程的關(guān)系模式為:課

A,B,C,D出,F,5,4,3,2,1依次入程(課號,課程名,學(xué)時),其

隊,然后再依次退隊,則元素中兩個關(guān)系模式的鍵分別是

退隊的順序為【1】O學(xué)號和課號,則關(guān)系模式選課

(2)設(shè)某循環(huán)隊列的容量可定義為:選課(學(xué)號,【5】,

為50,如果頭指針成績)。

front=45(指向隊頭元素的前(6)若x和y是兩個整形

一位置),尾指針rear=10(指變量,在執(zhí)行了語句序列

向隊尾元素),則該循環(huán)隊列x=5;y=6;y+=x-;

中共有12】個元素。后,x+y的值為【6】o

(3)設(shè)二叉樹如下:(7)在執(zhí)行語句序列

inti=0;doi++;

while(i*i<10);

時,do后面的循環(huán)體語

句i++被執(zhí)行的次數(shù)為

[7]o

(8)有如下的函數(shù)定義:

資料僅供參考

intXfun(int*a,intn){義時對應(yīng)的函數(shù)頭為[10]O

intx=*a;(11)請將下面的類Date

for(int*pa=a+l;pa<>的定義補充完整,使得由語句

if(*pa>x)x=*pa;DateFirstDay;

returnx;定義的對象FirstDay的

)值為1月1日。

若執(zhí)行了語句classDate{

intpublic:

x[5]={23,46,78,55,16);

后,經(jīng)過表示式Xfun(x,5)Date(【11]):year(y),mont

調(diào)用該函數(shù),則得到的返回值h(m),day(d){}

為【8】oprivate:

(9)有如下的函數(shù)定義:intyear,month,day;〃依

intXfun(intx){次表示年、月、日

inty=x;);

{intx=10;y+=x;}(12)請將下面的程序補

returnx+y;充完整,使得程序輸出“飄是

)張娜的書

經(jīng)過表示式Xfim(5)調(diào)用#include

該函數(shù),則得到的返回值為usingnamespacestd;

[9]oclassBook{

(10)假定Xcs是一個類,public:

該類中一個成員函數(shù)的原型Book(char*str)

為“Xcs*abc();",則在類外定{strcpy(title,str);}

資料僅供參考

【12】voidPrintlnfo())

{cout?TITLE?ENDL;}<(13)在有理數(shù)類Rational

P>中重載插入運算符vv,以便

protected:按a/q形式輸出。請將vv運算

chartitle[50];符函數(shù)的定義補充完整。

);classRational{

classMyBook:publicpublic:

Book{Rational(intaa,int

public:qq):a(aa),q(qq){}

MyBook(char*sl,charfriendL14]

*s2=“張娜”):operator?(ostream&out,

【13]{strcpy(owner,s2);}Rational&x)

virtualvoidPrintlnfoQ(

{cout?TITLE?n是return(out?X.A?*

nOWNER?n的書p??x.q);<>

,?ENDL;}<p>)

private:private:

charowner[10];inta,q;

););

intmain(){(14)下面的函數(shù)定義是

Book*prt=new某函數(shù)模板能夠生成的函數(shù)

MyBookJ飄”);實例

prt->PrintInfo();intsquare(intn){return

return0;n*n;}

資料僅供參考

doublesquare(doublen)復(fù)雜度一定相關(guān).

{returnn*n;}(2)在結(jié)構(gòu)化程序設(shè)計中,

由此可知,該函數(shù)模板的模塊劃分的原則是。

定義是[15]oA)各模塊應(yīng)包括盡量多的

功能

B)各模塊的規(guī)模應(yīng)盡量大

4月計算機等級考試C++考C)各模塊之間的聯(lián)系應(yīng)盡量

試及答案緊密

一、選擇題(每小題2分,共D)模塊內(nèi)具有高內(nèi)聚度,模

70分)塊間具有低耦合度

下列各題A)、B)、C)、D)(3)下列敘述中正確的是。

四個選項中,只有一個選項是A)軟件測試的主要目的是發(fā)

正確的。請將正確選項涂寫在現(xiàn)程序中的錯誤.

答題卡相應(yīng)位置上,答在試卷B)軟件測試的主要目的是確

上不得分。定程序中錯誤的位置.

(1)下列敘述中正確的是。C)為了提高軟件測試的效率,

A)算法的效率只與問題的規(guī)最好由程序編制者自己來完

模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)成軟件測試的工作

無關(guān).D)軟件測試是證明軟件沒有

B)算法的時間復(fù)雜度是指執(zhí)錯誤

行算法所需要的計算工作量(4)下面選項中不屬于面向

C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)對象程序設(shè)計特征的是。

構(gòu)是對應(yīng)的.A)繼承性B)多態(tài)性C)

D)算法的時間復(fù)雜度與空間類比性D)封裝性

資料僅供參考

(5)下列對列的敘述正確的體之間是聯(lián)系的圖形是。

是。A)矩形B)橢圓形C)菱

A)隊列屬于非線性表形D)平行四邊形

B)隊列按“先進后出”的原(10)下列敘述中錯誤的是。

則組織數(shù)據(jù)A)在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的

C)隊列在隊尾刪除數(shù)據(jù)物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一

D)隊列按“先進先出”原則致.

組織數(shù)據(jù)B)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是

(6)對下列二叉樹要解決數(shù)據(jù)的共享問題

A)DYBEAFCZXB)C)數(shù)據(jù)庫設(shè)計是指在已有數(shù)

YDEBFZXCAC)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立

ABDYECFXZD)數(shù)據(jù)庫

ABCDEFXYZD)數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)

(7)某二叉樹中有n個度為的支持

2的結(jié)點則該二叉樹中的葉(11)為了取代C中帶參數(shù)

子結(jié)點數(shù)為的宏,在C++中使用

A)n+1B)n-1C)2nD)A)重載函數(shù)B)內(nèi)聯(lián)函數(shù)

n/2C)遞歸函數(shù)D)友元函數(shù)

(8)在下列關(guān)系運算中,不改(12)下列關(guān)于類定義的說法

變關(guān)系表中的屬性個數(shù)但能中,正確的是

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論