2011年3月全國計(jì)算機(jī)等級考試二級筆試試卷_第1頁
2011年3月全國計(jì)算機(jī)等級考試二級筆試試卷_第2頁
2011年3月全國計(jì)算機(jī)等級考試二級筆試試卷_第3頁
2011年3月全國計(jì)算機(jī)等級考試二級筆試試卷_第4頁
2011年3月全國計(jì)算機(jī)等級考試二級筆試試卷_第5頁
已閱讀5頁,還剩265頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2011年3月全國計(jì)算機(jī)等級考試二級筆試試卷

C語言程序設(shè)計(jì)

(考試時(shí)間90分鐘,滿分100分)

一、選擇題(1-10,21-40每題2分,11-20每題1分,共70分)

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

A)棧頂元素最先能被刪除

B)棧頂元素最后才能被刪除

C)棧底元素永遠(yuǎn)不能被刪除

D)以上三種說法都不對

⑵下列敘述中正確的是

A)有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)

B)只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)

Q循環(huán)鏈表是非線性結(jié)構(gòu)

D)雙向鏈表是非線性結(jié)構(gòu)

⑶某二叉樹共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個(gè),則該二叉樹的深度為(假設(shè)根結(jié)點(diǎn)在第

1層)

A)3B)4C)6D)7

⑷在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是

A)軟件集成測試計(jì)劃B)軟件詳細(xì)設(shè)計(jì)說明書

C)用戶手冊D)軟件需求規(guī)格說明書

⑸結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括

A)順序結(jié)構(gòu)B)GOTO跳轉(zhuǎn)

C)選擇(分支)結(jié)構(gòu)D座復(fù)(循環(huán))結(jié)構(gòu)

⑹下面描述中錯(cuò)誤的是

A)系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)

B)軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過程

Q數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一

D)PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具

⑺負(fù)責(zé)數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是

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

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

C)數(shù)據(jù)操縱語言

D)數(shù)據(jù)控制語言

⑻一個(gè)教師可講授多門課程,一門課程可山多個(gè)教師講授。則實(shí)體教師和課程間的聯(lián)系是

A)l:l聯(lián)系B)l:m聯(lián)系

C)m:l聯(lián)系D)m:n聯(lián)系

(9)有三個(gè)關(guān)系R、S和T如下:

則由關(guān)系R和S得到關(guān)系T的操作是

A)自然連接B)交。除D)并

(10)定義無符號整數(shù)類為Ulnt,卜面可以作為類Ulnt實(shí)例化值的是

A)-369B)369C)0.369D)整數(shù)集合{1,2,3,4,5}

(11)計(jì)算機(jī)高級語言程序的運(yùn)行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是

A)C語言程序僅可以編譯執(zhí)行

B)C語言程序僅可以解釋執(zhí)行

C)C語言程序既可以編譯執(zhí)行又可以解釋執(zhí)行

D)以上說法都不對

(12)以下敘述中錯(cuò)誤的是

A)C語言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的

B)用C語言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行

C)通過編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行

D)在沒有安裝C語言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的.exe文件

(13)以下選項(xiàng)中不能用作C程序合法常量的是

A)l,234B)'123'

C)123D)"\x7G"

(14)以下選項(xiàng)中可用作C程序合法實(shí)數(shù)的是

A).le0B)3.0e0.2

C)E9D)9.12E

(15)若有定義語句:inta=3,b=2,c=l;,以下選項(xiàng)中錯(cuò)誤的賦值表達(dá)式是

A)a=(b=4)=3;B)a=b=c+1;

C)a=(b=4)+c;D)a=l+(b=c=4);

(16)有以下程序段

charname[20];

intnum;

scanf("name=%snum=%d",name;&num);

當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lilinum=1001<)^車〉后,name的值為

A)Lili

B)name=Lili

C)Lilinum=

D)name=Lilinum=1001

(17)if語句的基本形式是:if(表達(dá)式)語句,以下關(guān)于“表達(dá)式〃值的敘述中正確的是

A)必須是邏輯值B)必須是整數(shù)值

C)必須是正數(shù)D)可以是任意合法的數(shù)值

(18)有以下程序

#include

main()

{intx=011;

H

printf(%d\n"/++x);

}

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

A)12B)11C)1OD)9

(19)有以下程序

#include

main()

{ints;

HH

scanf(%d/&s);

while(s>0)

{switch(s)

{casel:printf(”%d”,s+5);

case2:printf("%d",s+4);break;

case3:printf("%d",s+3);

default:printf("%cT,s+l);break;

)

scanf("%d",&s);

)

}

運(yùn)行時(shí),若輸入123450〈回車〉,則輸出結(jié)果是

A)6566456B)66656C)66666D)6666656

(20)有以下程序段

inti,n;

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

{n=rand()%5;

switch(n)

{case1:

case3:printf(n%d\n",n);break;

case2:

case4:printf("%d\n"zn);continue;

case0:exit(0);

}

printf("%d\n",n);

}

以下關(guān)于程序段執(zhí)行情況的敘述,正確的是

A)for循環(huán)語句固定執(zhí)行8次

B)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時(shí)結(jié)束循環(huán)操作

C)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2時(shí)不做任何操作

D)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時(shí)結(jié)束程序運(yùn)行

(21)有以下程序

#include

main()

{chars[]="012xy\08s34f4w2";

inti,n=0;

for(i=0;s[i]!=0;i++)

if(s[i]>='0'&&s[i]<='9')n++;

printf("%d\n",n);

)

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

A)0B)3C)7D)8

(22)若i和k都是int類型變量,有以下for語句

for(i=0,k=-l;k=l;k++)printf("*****\n");

下面關(guān)于語句執(zhí)行情況的敘述中正確的是

A)循環(huán)體執(zhí)行兩次

B)循環(huán)體執(zhí)行一次

Q循環(huán)體一次也不執(zhí)行

D)構(gòu)成無限循環(huán)

(23)有以下程序

include

main()

{charb,c;inti;

b=*a';c='A';

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

{if(i%2)putchar(i+b);

elseputchar(i+c);

}printf("\n");

)

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

A)ABCDEFB)AbCdEfC)aBcDeFD)abcdef

(24)設(shè)有定義:doublex[10],*p=x;,以下能給數(shù)組x下標(biāo)為6的元素讀入數(shù)據(jù)的正確語句是

A)scanf(“%f”,&x[6]);B)scanf(-%lf”,*(x+6));

C)scanf("%lf",p+6);D)scanf(”%lf“,p⑹);

(25)有以下程序(說明:字母A的ASCII碼值是65)

#include

voidfun(char*s)

{while(*s)

{if(*s%2)printf("%c",*s);

s++;

)

)

main()

{chara口二“BYTE”;

fun(a);printf("\n");

)

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

ABY

BBT

C)YT

D)YE

(26)有以下程序段

#include

main()

{...

while(getchar()!='\n,);

)

以下敘述中正確的是

A)此while語句將無限循環(huán)

B)getchar。不可以出現(xiàn)在while語句的條件表達(dá)式中

C)當(dāng)執(zhí)行此while語句時(shí),只有按回車鍵程序才能繼續(xù)執(zhí)行

D)當(dāng)執(zhí)行此while語句時(shí),按任意鍵程序就能繼續(xù)執(zhí)行

(27)有以下程序

Sinclude

main()

{intx=l,y=O;

if(!x)y++;

elseif(x==O)

if(x)y+=2;

elsey+=3;

printf("%d\n",y);

}

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

A)3B)2C)1D)O

(28)若有定義語句:chars[3][10],(*k)[3],*p;,則以下賦值語句正確的是

A)p=s;B)p=k;C)p=s[O];D)k=s;

(29)有以下程序

#include

voidfun(char*c)

{while(*c)

{if(*c>=*a'&&*c<='z')*c=*c-(9」A');

C++;

)

)

main()

{chars[81];

gets(s);fun(s);puts(s):

}

當(dāng)執(zhí)行程序時(shí)從鍵盤上輸入HelloBeijing(回車〉,則程序的輸出結(jié)果是

A)hellobeijingB)HelloBeijingC)HELLOBEIJINGD)hELLOBeijing

(30)以卜?函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。

#include

#defineN10

voidfun(intx[N])

{inti=0;

while(i<>

)

在程序中下劃線處應(yīng)填入的是

A)x+iB)&x[i+1]

C)x+(i++)D)&x[++i]

(31)有以下程序

#include

main()

{chara[30],b[30];

H

scanf("%sza);

gets(b);

printf("%s\n%s\n",a,b);

)

程序運(yùn)行時(shí)若輸入:

howareyou?Iamfine<|可車>

則輸出結(jié)果是

A)howareyou?B)how

Iamfineareyou?Iamfine

C)howareyou?IamfineD)rowareyou?

(32)設(shè)有如下函數(shù)定義

intfun(intk)

{if(k<l)return0;

elseif(k==l)return1;

elsereturnfun(k-l)+l;

)

若執(zhí)行調(diào)用語句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是

A)2B)3C)4D)5

(33)有以下程序

//include

intfun(intxjnty)

{if(x!=y)return((x+y);2);

elsereturn(x);

}

main()

{inta=4,b=5zc=6;

printf("%d\n",fun(2*azfun(b/c)));

)

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

A)3B)6C)8D)12

(34)有以下程序

#include

intfun()

{staticintx=l;

x*=2;

returnx;

)

main()

{inti,s=l;

for(i=l;i<=3;i++)s*=fun();

printf("%d\n“,s);

)

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

A)0B)10C)30D)64

(35)有以下程序

ttinclude

#defineS(x)4*(x)*x+l

main()

{intk=5J=2;

printf("%d\n"zS(k+j));

)

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

A)197B)143C)33D)28

(36)設(shè)有定義:struct{charmark[12];intnuml;doublenum2;}tl,t2;,若變量均已正確賦初值,

則以下語句中錯(cuò)誤的是

A)tl=t2;B)t2.numl=tl.numl;

C)t2.mark=tl.mark;D)t2.num2=tl.num2;

(37)有以下程序

#include

structord

{intx,y;}dt[2]={l,2,3,4);

main()

(

structord*p=dt;

printf("%d,",++(p->x));printf("%d\n",++(p->y));

}

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

A)1,2B)4,l03,4D)2,3

(38)有以下程序

#include

structS

{intazb;}data[2]={10,100,20,200};

main()

{structSp=data[l];

printf("%d\n"/++(p.a));

)

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

A)10B)llC)20D)21

(39)有以下程序

include

main()

{unsignedchara=8,c;

c=a?3;

printf("%d\n"zc);

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

A)32B)16C)1D)0

(40)設(shè)fp―定義,執(zhí)行語句fp=fopen("file","w");后,以下針對文本文件file操作敘述的選項(xiàng)

中正確的是

A)寫操作結(jié)束后可以從頭開始讀B)只能寫不能讀

C)可以在原有內(nèi)容后追加寫D)可以隨意讀和寫

二、填空題

⑴有序線性表能進(jìn)行二分查找的前提是該線性表必須是【1】存儲的。

(2)一棵二叉樹的中序遍歷結(jié)果為DBEAFC,前序遍歷結(jié)果為ABDECF,則后序遍歷結(jié)果為

[2]。

⑶對軟件設(shè)計(jì)的最小單位(模塊或程序單元)進(jìn)行的測試通常稱為【3】測試

O

⑷實(shí)體完整性約束要求關(guān)系數(shù)據(jù)庫中元組的【4】屬性值不能為空。

⑸在關(guān)系A(chǔ)(S,SN,D)和關(guān)系B(D,CN,NM)中,A的主關(guān)鍵字是S,B的主關(guān)鍵字是D,則稱

[51是關(guān)系A(chǔ)的外碼。

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

#include

main()

{inta;

a=(int)((double)(3/2)+0.5+(int)1.99*2);

printf(,,%d\nu,a);

)

⑺有以下程序

#include

main()

{intx;

scanf("%d",&x);

if(x>15)printf("%d”,x?5);

if(x>10)printf("%d",x);

if(x>5)printf(n%d\n",x+5);

)

若程序運(yùn)行時(shí)從鍵盤輸入12〈回車〉,則輸出結(jié)果為【7】o

⑻有以下程序(說明:字符。的ASCII碼值為48)

#include

main()

{charcl,c2;

scanf(n%d",&cl);

c2=cl+9;

printf(',%c%c\n",cl,c2);

)

若程序運(yùn)行時(shí)從鍵盤輸入48〈回車〉,則輸出結(jié)果為【8】。

⑼有以下函數(shù)

voidprt(charch,intn)

{inti;

for(i=l;i<=n;i++)

printf(i%6!=0?"%c":"%c\n",ch);

)

執(zhí)行調(diào)用語句prt('*',24);后,函數(shù)共輸出了【9】行*號。

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

#include

main()

{intx=10,y=20,t=0;

if(x==y)t=x;x=y;y=t;

printf("%d%d\n",xzy);

)

(11)己知a所指的數(shù)組中有N個(gè)元素。函數(shù)fun的功能是,將下標(biāo)k(k>0)開始的后續(xù)元素全

部向前移動(dòng)?個(gè)位置。請?zhí)羁铡?/p>

voidfun(inta[N],intk)

{inti;

for(i=k;i

)

(12)有以下程序,請?jiān)赱12]處填寫正確語句,使程序可正常編譯運(yùn)行。

#include

[12];

main()

{doublex,yz(*p)();

scanf("%lf%lf"/&x,&y);

P=avg;

printf("%f\n",(*p)(x,y));

)

doubleavg(doublea,doubleb)

{return((a+b)/2);}

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

#include

main()

{intLn[5]={0};

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

{n[i]==n[i-l]*2+l;printf("%d"zn[i]);}

printfCAn");

)

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

#include

#include

#include

main()

{char*p;inti;

p=(char*)malloc(sizeof(char)*20);

strcpy(p,"welcome");

for(i=6;i>=0;i-)putchar(*(p+i));

printf("\n-");free(p);

)

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

#include

main()

{FILE*fp;intx[6]={l,23,4,5,6},i;

fp=fopen("test.dat";'wb");

fwrite(x,sizeof(int),3,fp);

rewind(fp);

fread(x,sizeof(int),3Jp);

for(i=0;i<6;i++)printf("%d”,x[i]);

pnntf("\n");

fclose(fp);

)

2011年3月全國計(jì)算機(jī)等級考試二級筆試試卷

C語言程序設(shè)計(jì)答案

選擇題1?5ABDDB

6-10ACDCB11-15ADBAA

16-20ADCAD21-25BDBCD

26-30CDCCC31-35BBBDB

36-40CDDCB

二,填空題

1)順序2)DEBFCA3)單元測試4)主鍵5)D6)37)1217

8)099)410)20011)i-112)doubleavg(doublea,doubleb)

13)13715

14)e(E)moclew15)123456

2010年9月全國計(jì)算機(jī)等級考試二級C筆試試卷答案

、選擇題

1~5:BCDAA6~10:DDCCA1T15:CBBAD16~20:DAACB

21~25:BCBDC26~30:CBDDA31~35:ACBCD36~40:BACBD

二、填空

1.1DCBA23452.n-13.254.結(jié)構(gòu)化5.物理設(shè)計(jì)6.2008

7.158.非09.14134010.i11.2

12.a[row][col]13.314.*s15.FILE

2012年計(jì)算機(jī)二級C++第二套上機(jī)模擬試題及答案解析

一、改錯(cuò)題

使用VC6打開考生文件夾下的工程kt7_l,此工程包含一-個(gè)源程序文件kt7」.cpp,但

該程序運(yùn)行有問題,請改正程序中的錯(cuò)誤,使程序的輸出結(jié)果如下:

Constructor1

Constructor!

Constructor1

Destructor

Constructor?

Destructor

x=0

x=5

Destructor

Destructor

源程序文件kt21_l.cpp清單如下:

#include

classB

{intx;

public:

B(){x=0;cout?MConstructor1H?ENDL;}<p=n"></ENDL;}o

B(inti){x=i;cout?HConstructor2"?ENDL;}<p=,n,x/ENDL;}<>

?B(){cout?nDestructorM?ENDL;}<p=,,n></ENDL;}<>

/**********8und**********/

~B(inti){cout?I?nBEDESTRUCTOR"?ENDL;}<

p=,,nx/I?"BEDESTRUCTORn?ENDL;}<>

voidprintO{cout<<"x="?X?ENDL;}};<p=,n,x/X?ENDL;}};<>

voidmain()

{B*ptr;

ptr=newB[2];

/**********Cund**********/

ptr[O]=B(O);

ptr[l]=B(5);

/***********^^)und**********/

fbr(inti=0;i<2;)

ptr[i].print();

delete[]ptr;}

【參考答案】

⑴將?B(inti){cout?I?"p=""be=""Destructor??endl;}刪除

(2)將ptr[O]=B(O);改為:ptr[O]=B();

(3)將fbr(inti=0;i<2;)改為:for(inti=0;i<2;i++)

B(inti){x=i;cout?"Constructor2"?ENDL;}<p=""></ENDL;}<>

~B(){cout?"Destructor"?ENDL;}<p=""x/ENDL;}<>

/**********8und**********/

^B(inti){cout?I?,rBEDESTRUCTOR"?ENDL;}<

p=,,nx/I?"BEDESTRUCTORn?ENDL;}<>

voidprint(){cout?"x="?X?ENDL;}};<p=,n,x/X?ENDL;}};<>

voidmain()

{B*ptr;

ptr=newB[2];

/**********nd***亭******/

ptr[O]=B(O);

ptr[l]=B(5);

/**********nd***亭******/

fbr(inti=0;i<2;)

ptr[i].print();

delete[]ptr;}

【參考答案】

(1)將?B(inti){cout?I?"p=""be=""Destructor??endl;}|^<=""></I?">

⑵將ptr[O]=B(O);改為:ptr[O]=B();

(3)將for(inti=0;i<2;)改為:for(inti=0;i<2;i++)

【試題解析】

本題主要考查對文件相關(guān)操作的熟練程度。首先定義文件流類的變量,然后使用該對象

的open方法打開--個(gè)文件,接著使用while循環(huán)和getch方法每次讀入一個(gè)字符并統(tǒng)計(jì)字符

個(gè)數(shù),最后使用close方法關(guān)閉文件,返回i值。

二、簡單應(yīng)用題

編寫一個(gè)函數(shù)intchamum(charfn[10]),該函數(shù)以只讀方式打開文件fn,,通過統(tǒng)計(jì),返回

文件中字符的個(gè)數(shù),請使用while循環(huán)實(shí)現(xiàn)計(jì)數(shù)功能。

注意:部分源程序已存在文件kt7_2.cpp中。

請勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)chamum的花括號中填寫若

干語句。

文件kt7_2.cpp的內(nèi)容如下:

#include

#include

#include

intchamum(charfh[10]);

voidmain()

{intnum;

num=charnumC'abc.txt");

cout?nnum=n?NUM?ENDL;}<p=,,nx/NUM?ENDL;}<>

intchamum(charfh[10])

(

)

【參考答案】

intchamum(charfn[10])

{fstreamfile;

file.open(fh,ios::in);

if(!file)

{cout?nabc.txtcan*topenn?ENDL;<p=MMx/ENDL;<>

abort。;}

charch;

inti=0;

while(!file.eof())

{file.get(ch);

i++;)

file.close();

returni-1;}

【試題解析】

本題主要考查對文件相關(guān)操作的熟練程度。首先定義文件流類的變量,然后使用該對象

的open方法打開--個(gè)文件,接著使用while循環(huán)和getch方法每次讀入一個(gè)字符并統(tǒng)計(jì)字符

個(gè)數(shù),最后使用close方法關(guān)閉文件,返回i值。

三、綜合應(yīng)用題

使用VC6打開考生文件夾下的工程kt7_3,此工程包含一個(gè)源程序文件kt7_3.cpp,其

中含有一個(gè)類Circle的定義,但該類的定義并不完整。請按要求完成下列操作,將類Circle

的定義補(bǔ)充完整。

(1)為類Circle增加個(gè)構(gòu)造函數(shù),該函數(shù)有一個(gè)參數(shù),并在構(gòu)造時(shí)將該參數(shù)值賦給成

員radius。將該函數(shù)實(shí)現(xiàn)為一個(gè)非內(nèi)聯(lián)函數(shù),并且使用參數(shù)列表的方式將類成員賦值。請?jiān)?/p>

注釋"〃**I**"之后添加適當(dāng)?shù)恼Z句。

(2)為類Circle增加一個(gè)成員函數(shù)pHnt(),使得可以輸出有關(guān)圓的信息,比如下列程序

Circlec;

c.SetRadius⑸;

c.Print();

將輸出:Thecirclehasradiusof5!

請?jiān)谧⑨尅啊?*2**”之后添加適當(dāng)?shù)恼Z句。

(3)完成友元函數(shù)voidCompareR(Circle*cl,Circle*c2)的定義,在屏幕中輸出cl與c2比

較radius大小結(jié)果,要求使用iAelse結(jié)構(gòu)完成。請?jiān)谧⑨尅啊?*3**”之后添加適當(dāng)?shù)恼Z句。

輸出結(jié)果如下:

Thecirclehasradusof5!

Thecirclehasradiusofl0!

cl<C2<p=nn></C2o

注意:除在指定位置添加語句之外,請不要改動(dòng)程序中的其他內(nèi)容。

源程序文件kt7_3.cpp清單如下:

#include

classCircle{

public:

Circle():radius(5){}

〃**?**

voidSetRadius(intr){radius=r;}

intGetRadius(){retumradius;}

friendvoidCompareR(Circle*cl,Circle*c2);

private:

intradius;};

voidCompareR(Circle*cl,Circ!e*c2)

{//**3**

cout?nc1>c2n?ENDL;<p=,u,x/ENDL;<>

else

if((c!->GetRadius())=(c2->GetRadius()))

cout?nc1=c2n?ENDL;<p=nnx/ENDL;<>

else

if((c1->GetRadius())<(c2->GetRadius()))

cout?"cl<C2M?ENDL;}<p=,,"x/C2,,?ENDL;}<>

voidmain()

{Circled;

cl.SetRadius(5);

cl.Print();

Circlec2(10);

c2.Print();

CompareR(&cI,&c2);}

【參考答案】

(l)Circle(intrad):radius(rad){}

(2)voidPrint(){cout?MThecirclehasradiusofn?RADIUS?n!\Nn;}<

p=,H,x/RADIUS?"!\N";}<>

(3)if((c1->GetRadius())>(c2->GetRadius()))

【試題解析】

本題考查成員函數(shù)的定義與實(shí)現(xiàn),友元函數(shù),if分支語句等知識點(diǎn)。友元函數(shù)的類體外

的定義與一般函數(shù)一樣,其中if?else的使用,else總是與其最近的那個(gè)if配對使用的,書寫

時(shí)最好使用縮進(jìn)格式,將配對的i仔else對齊,以免出錯(cuò)。

2012年計(jì)算機(jī)二級公共基礎(chǔ)知識模擬試題

一、選擇題

(1)下面敘述正確的是(C)

A.算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)

B.算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)

C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止

D.以上三種描述都不對

(2)以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是(C)

A.隊(duì)列

B.線性表

C.二叉樹

D.棧

(3)在棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是(B)注:由公式2k-l得

A.8

B.16

C.32

D.15

(4)下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是(A)

A.使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯

B.模塊只有一個(gè)入口,可以有多個(gè)出口

C.注重提高程序的執(zhí)行效率

D,不使用goto語句

(5)下面概念中,不屬于面向?qū)ο蠓椒ǖ氖?D)注:P55-58

A.對象

B.繼承

C.類

D.過程調(diào)用

(6)在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是(B)

A.可行性分析

B.需求分析

C.詳細(xì)設(shè)計(jì)

D.程序編碼

(7)在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計(jì)階段的是(D)

A.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

B.給出系統(tǒng)模塊結(jié)構(gòu)

C.定義模塊算法

D.定義需求并建立系統(tǒng)模型

(8)數(shù)據(jù)庫系統(tǒng)的核心是(B)

A.數(shù)據(jù)模型

B.數(shù)據(jù)庫管理系統(tǒng)

C.軟件工具

D.數(shù)據(jù)庫

(9)下列敘述中正確的是(C)

A.數(shù)據(jù)庫是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持

B.數(shù)據(jù)庫設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫管理系統(tǒng)

C.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題

D.數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致

(10)下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是(A)注:P108

A.內(nèi)模式

B.外模式

C.概念模式

D.邏輯模式

(11)算法的時(shí)間復(fù)雜度是指(C)

A.執(zhí)行算法程序所需要的時(shí)間

B.算法程序的長度

C.算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)

D.算法程序中的指令條數(shù)

(12)算法的空間復(fù)雜度是指(D)

A.算法程序的長度

B.算法程序中的指令條數(shù)

C.算法程序所占的存儲空間

D.算法執(zhí)行過程中所需要的存儲空間

(13)設(shè)棵完全二叉樹共有699個(gè)結(jié)點(diǎn),則在該二叉樹中的葉子結(jié)點(diǎn)數(shù)為(B)注:利用

公式n=n0+nl+n2、n0=n2+l和完全二叉數(shù)的特點(diǎn)可求出

A.349

B.350

C.255

D.351

(14)結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是(B)

A.程序的規(guī)模

B.程序的易讀性

C.程序的執(zhí)行效率

D.程序的可移植性

(15)在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階

段是(D)注:即第一個(gè)階段

A.概要設(shè)計(jì)

B.詳細(xì)設(shè)計(jì)

C.可行性分析

D.需求分析

(16)數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下

列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是(A)注:P67

A.控制流

B.加工

C.數(shù)據(jù)存儲

D.源和潭

(17)軟件需求分析階段的工作,可以分為四個(gè)方面:需求獲取、需求分析、編寫需求

規(guī)格說明書以及(B)注:P66

A.階段性報(bào)告

B.需求評審

C.總結(jié)

D.都不正確

(18)下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是(A)

A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余

B,數(shù)據(jù)庫系統(tǒng)避免了一切冗余

C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致

D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)

(19)關(guān)系表中的每一橫行稱為一個(gè)(A)

A.元組

B.字段

C.屬性

D.碼

(20)數(shù)據(jù)庫設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是(A)

A.概念設(shè)計(jì)和邏輯設(shè)計(jì)

B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)

C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)

D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)

(21)下列敘述中正確的是(A)

A.線性表是線性結(jié)構(gòu)

B.棧與隊(duì)列是非線性結(jié)構(gòu)

C.線性鏈表是非線性結(jié)構(gòu)

D.二叉樹是線性結(jié)構(gòu)

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

A.在棧中只能插入數(shù)據(jù)

B.在棧中只能刪除數(shù)據(jù)

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

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

(23)下列關(guān)于隊(duì)列的敘述中正確的是(C)

A.在隊(duì)列中只能插入數(shù)據(jù)

B.在隊(duì)列中只能刪除數(shù)據(jù)

C.隊(duì)列是先進(jìn)先出的線性表

D.隊(duì)列是先進(jìn)后出的線性表

(24)對建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是(A)注:P48

A.程序應(yīng)簡單、清晰、可讀性好

B.符號名的命名要符合語法

C.充分考慮程序的執(zhí)行效率

D.程序的注釋可有可無

(25)下面對對象概念描述錯(cuò)誤的是(A)注:P55

A.任何對象都必須有繼承性

B.對象是屬性和方法的封裝體

C.對象間的通訊靠消息傳遞

D.操作是對象的動(dòng)態(tài)性屬性

(26)下面不屬于軟件工程的3個(gè)要素的是(D)注:P62

A.工具

B.過程

C.方法

D.環(huán)境

(27)程序流程圖(PFD)中的箭頭代表的是(B)注:P81

A.數(shù)據(jù)流

B.控制流

C.調(diào)用關(guān)系

D.組成關(guān)系

(28)在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段利數(shù)據(jù)庫系

統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是(A)

A.數(shù)據(jù)庫系統(tǒng)

B.文件系統(tǒng)

C.人工管理

D.數(shù)據(jù)項(xiàng)管理

(29)用樹形結(jié)構(gòu)來表示實(shí)體之間聯(lián)系的模型稱為(B)

A.關(guān)系模型

B.層次模型

C.網(wǎng)狀模型

D.數(shù)據(jù)模型

(30)關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括(B)

A.排序、索引、統(tǒng)計(jì)

B.選擇、投影、連接

C.關(guān)聯(lián)、更新、排序

D.顯示、打印、制表

(31)算法一般都可以用哪幾種控制結(jié)構(gòu)組合而成(D)注:P3

A.循環(huán)、分支、遞歸

B.順序、循環(huán)、嵌套

C.循環(huán)、遞歸、選擇

D.順序、選擇、循環(huán)

(32)數(shù)據(jù)的存儲結(jié)構(gòu)是指(B)注:P13,要牢記

A.數(shù)據(jù)所占的存儲空間量

B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示

C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式

D.存儲在外存中的數(shù)據(jù)

(33)設(shè)有下列二叉樹:圖見書P46

對此二叉樹中序遍歷的結(jié)果為(B)

A.ABCDEF

B.DBEAFC

C.ABDECF

D.DEBFCA

(34)在面向?qū)ο蠓椒ㄖ校粋€(gè)對象請求另一對象為其服務(wù)的方式是通過發(fā)送(D)注:

P56

A.調(diào)用語句

B.命令

C.口令

D.消息

(35)檢查軟件產(chǎn)品是否符合需求定義的過程稱為(A)注:P95

A.確認(rèn)測試

B.集成測試

C.驗(yàn)證測試

D.驗(yàn)收測試

(36)下列工具中屬于需求分析常用工具的是(D)注:P67

A.PAD

B.PFD

C.N-S

D.DFD

(37)下面不屬于軟件設(shè)計(jì)原則的是(C)注:P73

A.抽象

B.模塊化

C.自底向上

D.信息隱蔽

(38)索引屬于(B)

A.模式

B.內(nèi)模式

C.外模式

D.概念模式

(39)在關(guān)系數(shù)據(jù)庫中,用來表示實(shí)體之間聯(lián)系的是(D)

A.樹結(jié)構(gòu)

B.網(wǎng)結(jié)構(gòu)

C.線性表

D.二維表

(40)將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成(B)

A.屬性

B.關(guān)系

C.鍵

D.域

(41)在下列選項(xiàng)中,哪個(gè)不是一個(gè)算法一般應(yīng)該具有的基本特征(C)

A.確定性

B.可行性

C.無窮性

D.擁有足夠的情報(bào)

(42)希爾排序法屬于哪一種類型的排序法(B)

A.交換類排序法

B.插入類排序法

C.選擇類排序法

D.建堆排序法

(43)在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為(C)

A.32

B.31

C.16

D.15

(44)對長度為N的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為(B)注:

要牢記

A.N+1

B.N

C.(N+l)/2

D.N/2

(45)信息隱蔽的概念與下述哪一種概念直接相關(guān)(B)注:P74

A.軟件結(jié)構(gòu)定義

B.模塊獨(dú)立性

C.模塊類型劃分

D.模擬耦合度

(46)面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的的面向過程的方法有本質(zhì)不同,它的基本原理是(C)

A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系

B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念

C.使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題

D.鼓勵(lì)開發(fā)者在軟件開發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考

(47)在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是(C)注:總體設(shè)計(jì)也

就是概要設(shè)計(jì)

A.詳細(xì)設(shè)計(jì)

B.需求分析

C.總體設(shè)計(jì)

D.編程調(diào)試

(48)軟件調(diào)試的目的是(B)注:與軟件測試要對比著復(fù)習(xí)

A.發(fā)現(xiàn)錯(cuò)誤

B.改正錯(cuò)誤

C.改善軟件的性能

D.挖掘軟件的潛能

(49)按條件f對關(guān)系R進(jìn)行選擇,其關(guān)系代數(shù)表達(dá)式為(C)

A.R|X|R

B.R|X|Rf

C.6f(R)

D.口的

(50)數(shù)據(jù)庫概念設(shè)計(jì)的過程中,視圖設(shè)計(jì)一般有三種設(shè)計(jì)次序,以下各項(xiàng)中不對的是(D)

注:P127,要牢記

A.自頂向下

B.由底向上

C.由內(nèi)向外

D.由整體到局部

(51)在計(jì)算機(jī)中,算法是指(C)

A.查詢方法

B.加工方法

C.解題方案的準(zhǔn)確而完整的描述

D.排序方法

(52)棧和隊(duì)列的共同點(diǎn)是(C)注:這一共同點(diǎn)和線性表不一樣

A.都是先進(jìn)后出

B.都是先進(jìn)先出

C.只允許在端點(diǎn)處插入和刪除元素

D.沒有共同點(diǎn)

(53)已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是

(A)注:P38,前提要掌握三種遍歷的方法

A.cedba

B.acbcd

C.decab

D.deabc

(54)在下列幾種排序方法中,要求內(nèi)存量最大的是(D)注:要牢記,書中沒有提到。

A.插入排序

B.選擇排序

C.快速排序

D.歸并排序

(55)在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是(A)注:和設(shè)計(jì)風(fēng)格有關(guān)

A.程序結(jié)構(gòu)應(yīng)有助于讀者理解

B.不限制goto語句的使用

C.減少或取消注解行

D.程序越短越好

(56)下列不屬于軟件調(diào)試技術(shù)的是(B)注:P98

A.強(qiáng)行排錯(cuò)法

B.集成測試法

C.回溯法

D.原因排除法

(57)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是(D)注:P71

A.便于用戶、開發(fā)人員進(jìn)行理解和交流

B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)

C.作為確認(rèn)測試和驗(yàn)收的依據(jù)

D.便于開發(fā)人員進(jìn)行需求分析

(58)在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示(C)

A.控制程序的執(zhí)行順序

B.模塊之間的調(diào)用關(guān)系

C.數(shù)據(jù)的流向

D.程序的組成成分

(59)SQL語言又稱為(C)

A.結(jié)構(gòu)化定義語言

B.結(jié)構(gòu)化控制語言

C.結(jié)構(gòu)化查詢語言

D.結(jié)構(gòu)化操縱語言

(60)視圖設(shè)計(jì)?般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)的是(B)

A.自頂向下

B.由外向內(nèi)

C.由內(nèi)向外

D.自底向上

(61)數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的(C)

A.存儲結(jié)構(gòu)

B.物理結(jié)構(gòu)

C.邏輯結(jié)構(gòu)

D.物理和存儲結(jié)構(gòu)

(62)棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以

出棧,則出棧序列可能是(D)

A.ABCED

B.DBCEA

C.CDABE

D.DCBEA

(63)線性表的順序存儲結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)分別是(B)

A.順序存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu)

B,隨機(jī)存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu)

C.隨機(jī)存取的存儲結(jié)構(gòu)、隨機(jī)存取的存儲結(jié)構(gòu)

D.任意存取的存儲結(jié)構(gòu)、任意存取的存儲結(jié)構(gòu)

(64)在單鏈表中,增加頭結(jié)點(diǎn)的目的是(A)

A.方便運(yùn)算的實(shí)現(xiàn)

B.使單鏈表至少有一個(gè)結(jié)點(diǎn)

C.標(biāo)識表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置

D.說明單鏈表是線性表的鏈?zhǔn)酱鎯?shí)現(xiàn)

(65)軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計(jì),其中軟件的過程設(shè)計(jì)是指(B)注:

P73

A.模塊間的關(guān)系

B.系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述

C.軟件層次結(jié)構(gòu)

D.軟件開發(fā)過程

(66)為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序

流程圖,通常也把這種圖稱為(B)注:P82

A.PAD圖

B.N-S圖

C.結(jié)構(gòu)圖

D.數(shù)據(jù)流圖

(67)數(shù)據(jù)處理的最小單位是(C)注:數(shù)據(jù)項(xiàng)不可再分割

A.數(shù)據(jù)

B.數(shù)據(jù)元素

C.數(shù)據(jù)項(xiàng)

D.數(shù)據(jù)結(jié)構(gòu)

(68)下列有關(guān)數(shù)據(jù)庫的描述,正確的是(C)注:P102

A.數(shù)據(jù)庫是一個(gè)DBF文件

B.數(shù)據(jù)庫是一個(gè)關(guān)系

C.數(shù)據(jù)庫是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合

D.數(shù)據(jù)庫是一組文件

(69)單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為(A)注:P108

A.外模式

B.概念模式

C.內(nèi)模式

D.存儲模式

(70)需求分析階段的任務(wù)是確定(D)

A.軟件開發(fā)方法

B.軟件開發(fā)工具

C.軟件開發(fā)費(fèi)用

D.軟件系統(tǒng)功能

(71)算法分析的目的是(D)注:書中沒有總結(jié),但要牢記

A.找出數(shù)據(jù)結(jié)構(gòu)的合理性

B.找出算法中輸入和輸出之間的關(guān)系

C.分析算法的易懂性和可靠性

D.分析算法的效率以求改進(jìn)

(72)鏈表不具有的特點(diǎn)是(B)

A.不必事先估計(jì)存儲空間

B.可隨機(jī)訪問任一元素

C.插入刪除不需要移動(dòng)元素

D.所需空間與線性表長度成正比

(73)已知數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn),為節(jié)省時(shí)間,應(yīng)采用的算法是(B)

A.堆排序

B.直接插入排序

C.快速排序

D.直接選擇排序

(74)用鏈表表示線性表的優(yōu)點(diǎn)是(A)注:因?yàn)椴恍枰苿?dòng)元素

A.便于插入和刪除操作

B.數(shù)據(jù)元素的物理順序與邏輯順序相同

C.花費(fèi)的存儲空間較順序存儲少

D.便于隨機(jī)存取

(75)下列不屬于結(jié)構(gòu)化分析的常用工具的是(D)注:P67

A.數(shù)據(jù)流圖

B.數(shù)據(jù)字典

C.判定樹

D.PAD圖

(76)軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A)

A,定義、開發(fā)、運(yùn)行維護(hù)

B.設(shè)計(jì)階段、編程階段、測試階段

C.總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試

D.需求分析、功能定義、系統(tǒng)設(shè)計(jì)

(77)在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是(C)

注:P87

A.循環(huán)的集合

B.地址的集合

C.路徑的集合

D.目標(biāo)的集合

(78)在數(shù)據(jù)管理技術(shù)發(fā)展過程中,文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫系統(tǒng)具

有(D)注:數(shù)據(jù)模型采用關(guān)系模型(二維表)

A.數(shù)據(jù)無冗余

B,數(shù)據(jù)可共享

C.專門的數(shù)據(jù)管理軟件

D.特定的數(shù)據(jù)模型

(79)分布式數(shù)據(jù)庫系統(tǒng)不具有的特點(diǎn)是(B)

A.分布式

B.數(shù)據(jù)冗余

C.數(shù)據(jù)分布性和邏輯整體性

D.位置透明性和復(fù)制透明性

(80)下列說法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是(C)注:P110

A.數(shù)據(jù)結(jié)構(gòu)

B.數(shù)據(jù)操作

C.數(shù)據(jù)查詢

D.數(shù)據(jù)約束

(81)根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分成(。

A.動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)

B.緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)

C.線性結(jié)構(gòu)和非線性結(jié)構(gòu)

D.內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)

(82)下列敘述中,錯(cuò)誤的是(B)

A.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)

B.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān)

C.數(shù)據(jù)的存儲結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的

D.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)

(83)線性表L=(al,a2,a3,...ai,...an),下列說法正確的是(D)

A.每個(gè)元素都有一個(gè)直接前件和直接后件

B.線性表中至少要有一個(gè)元素

C.表中諸元素的排列順序必須是由小到大或由大到

D.除第一個(gè)元素和最后一個(gè)元素外,其余每個(gè)元素都有一個(gè)且只有一個(gè)直接前件和直接

后件

(84)線性表若采用鏈?zhǔn)酱鎯Y(jié)構(gòu)時(shí)?,要求內(nèi)存中可用存儲單元的地址(D)

A.必須是連續(xù)的

B.部分地址必須是連續(xù)的

C.一定是不連續(xù)的

D.連續(xù)不連續(xù)都可以

(85)棧通常采用的兩種存儲結(jié)構(gòu)是(A)

A.順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)

B.散列方式和索引方式

C.鏈表存儲結(jié)構(gòu)和數(shù)組

D.線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)

(86)下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是(B)

A.線性鏈表

B.棧

C.循環(huán)鏈表

D.順序表

(87)樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是(C)

A.有且只有1

B.1或多于1

C.0或1

D.至少2

(88)具有3個(gè)結(jié)點(diǎn)的二叉樹有(D)

A.2種形態(tài)

B.4種形態(tài)

C.7種形態(tài)

D.5種形態(tài)

(89)設(shè)一棵二叉樹中有3個(gè)葉子結(jié)點(diǎn),有.8個(gè)度為1的結(jié)點(diǎn),則該二叉樹中總的結(jié)點(diǎn)數(shù)

為(B)

A.12

B.13

C.14

D.15

(90)在結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率,現(xiàn)在,與程序

的效率相比,人們更重視程序的(C)

A.安全性

B.一致性

C.可理解性

D.合理性

(91)為了提高測試的效率,應(yīng)該(D)注:P85

A.隨機(jī)選取測試數(shù)據(jù)

B.取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)

C.在完成編碼以后制定軟件的測試計(jì)劃

D.集中對付那些錯(cuò)誤群集的程序

(92)軟件生命周期中所花費(fèi)用最多的階段是(D)

A.詳細(xì)設(shè)計(jì)

B.軟件編碼

C.軟件測試

D.軟件維護(hù)

二、填空題

(1)算法的復(fù)雜度主要包括復(fù)雜度和空間復(fù)雜度。答:時(shí)間

(2)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的。答:存儲結(jié)構(gòu)

#物理結(jié)構(gòu)

(3)若按功能劃分,軟件測試的方法通常分為白盒測試方法和測試方法。答:黑

(4)如果一個(gè)工人可管理多個(gè)設(shè)施,而一個(gè)設(shè)施只被一個(gè)工人管理,則實(shí)體"工人"與實(shí)

體"設(shè)備"之間存在聯(lián)系。

答:一對多#1:N#l:n

(5)關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括選擇、連接和。答:投影

(6)在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序

遍歷、遍歷和后序遍歷。答:中序

(7)結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下、逐步求精、和限制使

用goto語句。答:模塊化

(8)軟件的調(diào)試方法主要有:強(qiáng)行排錯(cuò)法、和原因排除法。答:回溯法

(9)數(shù)據(jù)庫系統(tǒng)的三級模式分別為模式、內(nèi)部級模式與外部級模式。答:概念#

概念級

(10)數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、

數(shù)據(jù)流、和處理過程。答:數(shù)據(jù)存儲

(11)設(shè)一棵完全二叉樹共有500個(gè)結(jié)點(diǎn),則在該二叉樹中有個(gè)葉子結(jié)點(diǎn)。答:

250

(12)在最壞情況下,冒泡排序的時(shí)間復(fù)雜度為。答:

n(n-1)/2#n*(n-1)/2#O(n(n-1)/2)#O(n*(n-1)/2)

(13)面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中涉及的對象是系統(tǒng)中用來描述客觀事物的一個(gè)

。答:實(shí)體

(14)軟件的需求分析階段的工作,可以概括為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論