2022年吉林省長(zhǎng)春市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第1頁(yè)
2022年吉林省長(zhǎng)春市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第2頁(yè)
2022年吉林省長(zhǎng)春市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第3頁(yè)
2022年吉林省長(zhǎng)春市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第4頁(yè)
2022年吉林省長(zhǎng)春市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2022年吉林省長(zhǎng)春市全國(guó)計(jì)算機(jī)等級(jí)考試

數(shù)據(jù)庫(kù)技術(shù)真題(含答案)

學(xué)校:班級(jí):姓名:考號(hào):

一、1.選擇題(10題)

1.一棵二叉樹(shù)如圖所示,其中序遍歷的序列為

A.ABDGCEFHB.DGBAECHFC.GDBEHFCAD.ABDEFGHC

2.下列屬于SQL語(yǔ)言特點(diǎn)的是

I.數(shù)據(jù)查詢(xún)

II,數(shù)據(jù)操縱

III.數(shù)據(jù)定義

IV.數(shù)據(jù)控制

A.I,II和wB.I,II和mc.I,m和wD.全部

3.下列4項(xiàng)中,可以直接用于表示概念模型的是()。

A.實(shí)體-聯(lián)系(E-R)模型B.關(guān)系模型C.層次模型D.網(wǎng)狀模型

4.SQL語(yǔ)言集數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能和數(shù)據(jù)控制功能于一體。如

下所列語(yǔ)句中,哪一個(gè)是屬于數(shù)據(jù)控制功能的?

A.GRANTB.CREATEC.INSERTD.SELECT

5.

設(shè)有學(xué)生信息關(guān)系STUDENT(sno,sname,sex,age,dept).."查找信息系(IS系)中年齡小于20歲的學(xué)生的姓名“,該

操作正確的關(guān)系代數(shù)表達(dá)式()-I?Qname(°dept='IS,Aage<20STUDENT))口?‘工S'Aage<20(兀

STODENT

sname(STUDENT))III.%*.ept=F'Aage<20(^

A)僅IB)僅II

c)i和nD)n和ni

6.下面所列條目中,哪些是當(dāng)前應(yīng)用開(kāi)發(fā)工具的發(fā)展趨勢(shì)?I.采用三

層Client/Server結(jié)構(gòu)II.對(duì)Web應(yīng)用的支持III.開(kāi)發(fā)的、構(gòu)件式的分

布式計(jì)算環(huán)境

A.I和IIB.II和nic.I和niD.都是

7.下面那一條(些)屬于概念模型應(yīng)具備的性質(zhì)?

I.有豐富的語(yǔ)義表達(dá)能力

II.易于交流和理解

III.易于變動(dòng)

IV.在計(jì)算機(jī)中實(shí)現(xiàn)的效率高

A.I、II和mB.ii、m和wc.I和inD.都是

8.在頁(yè)式存儲(chǔ)管理中,當(dāng)程序訪問(wèn)某一內(nèi)存地址,結(jié)果發(fā)現(xiàn)所要的頁(yè)面

不在內(nèi)存中,這時(shí)就會(huì)產(chǎn)生______O

A.程序非法操作B.輸入/輸出中斷C.缺頁(yè)中斷D.地址越界

9.在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中,當(dāng)關(guān)系的型改變時(shí),用戶(hù)程序也可以不變。這

A.數(shù)據(jù)的物理獨(dú)立性B.數(shù)據(jù)的邏輯獨(dú)立性C.數(shù)據(jù)的位置獨(dú)立性D.數(shù)

據(jù)存儲(chǔ)獨(dú)立性

10.哈希函數(shù)可以減少?zèng)_突,但仍不可避免,通常處理沖突的方法有再

哈希法,建立公共溢出區(qū)和()。

A.鏈地址法和直接定址法B.線性探測(cè)再散列法和二次探測(cè)再散列法C.

開(kāi)方定址法和鏈地址D.除留余數(shù)法和數(shù)字分析法

二、填空題(10題)

11.數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)應(yīng)該具有對(duì)數(shù)據(jù)進(jìn)行收集、存儲(chǔ)、加工、抽

取和傳播等功能,即包括數(shù)據(jù)設(shè)計(jì)和處理設(shè)計(jì),而【】是系統(tǒng)設(shè)計(jì)的基

礎(chǔ)和核心。

12.在關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化設(shè)計(jì)中,對(duì)模式分解的等價(jià)性進(jìn)行評(píng)價(jià)的主要

標(biāo)題是具有無(wú)損連接性和[]O

13.文件系統(tǒng)提供按名存取功能,要求用戶(hù)在讀文件之前調(diào)用文

件操作。

14.進(jìn)行并、差、交集合運(yùn)算的兩個(gè)關(guān)系必須具有相同的,即元

組結(jié)構(gòu)相同。

15.在X.800中將安全攻擊分為兩類(lèi):被動(dòng)攻擊和o

16.在因特網(wǎng)中,域名解析通常借助于一組既獨(dú)立又協(xié)作的

完成。

17.數(shù)據(jù)庫(kù)恢復(fù)通常基于數(shù)據(jù)備份和o

18.先寫(xiě)日志原則是為了發(fā)生故障后保持?jǐn)?shù)據(jù)庫(kù)的原子性和所必

須遵循的原則。

19.在【】數(shù)據(jù)庫(kù)系統(tǒng)中,每一個(gè)結(jié)點(diǎn)都是一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)系統(tǒng)

20.按后根次序周游樹(shù)或樹(shù)林,等同于按次序周游對(duì)應(yīng)的二叉樹(shù)。

三、單選題(10題)

21.能夠?qū)owerDesigner中所有模型信息只讀訪問(wèn)的模塊是()。

A.A.ProcessAnalyst

B.DataArchitect

C.Viewer

D.WarehouseArchitecture

22.若實(shí)體間的聯(lián)系是M:N,則將聯(lián)系類(lèi)型()

A.的屬性加入任一個(gè)關(guān)系模式中

B.的屬性加入N端實(shí)體類(lèi)型相對(duì)應(yīng)的關(guān)系模式中

C.的屬性加入M端實(shí)體類(lèi)型相對(duì)應(yīng)的關(guān)系模式中

D.也轉(zhuǎn)換為關(guān)系模型

23.在關(guān)系代數(shù)的連接操作中,連接操作需要取消重復(fù)列的是()。

A.自然連接B.笛卡爾積C.等值連接D.0連接

24.概念結(jié)構(gòu)設(shè)計(jì)的目標(biāo)是產(chǎn)生數(shù)據(jù)庫(kù)概念結(jié)構(gòu)(即概念模式),這結(jié)構(gòu)主

要反映()

A.DBA的管理信息需求B.應(yīng)用程序員的編程需求C.企業(yè)組織的信息

需求D.數(shù)據(jù)庫(kù)的維護(hù)需求

25.對(duì)數(shù)據(jù)庫(kù)模式設(shè)計(jì)進(jìn)行優(yōu)化有三項(xiàng)指標(biāo),下列指標(biāo)中不屬于這三項(xiàng)

指標(biāo)的是()

A.A.單位時(shí)間內(nèi)訪問(wèn)的邏輯記錄個(gè)數(shù)要少

B.單位時(shí)間內(nèi)數(shù)據(jù)的傳送量要少

C.數(shù)據(jù)庫(kù)模式中的關(guān)系(即數(shù)據(jù)庫(kù)文件)數(shù)目要少

D.系統(tǒng)占用的存儲(chǔ)空間要少

26.在登錄日志文件時(shí),應(yīng)該

A.將更新數(shù)據(jù)庫(kù)與登錄文件兩個(gè)操作同時(shí)完成

B.將更新數(shù)據(jù)庫(kù)與登錄文件兩個(gè)操作按隨機(jī)的順序完成

C.先寫(xiě)數(shù)據(jù)庫(kù)的更新,后登錄日志文件

D.先登錄日志文件,后寫(xiě)數(shù)據(jù)庫(kù)的更新

27.數(shù)據(jù)字典是軟件需求分析階段的最重要的工具之一,其最基本的功

能是______。

A.數(shù)據(jù)庫(kù)設(shè)計(jì)B.數(shù)據(jù)通信C.數(shù)據(jù)定義D.數(shù)據(jù)維護(hù)

28.順序程序和并發(fā)程序的執(zhí)行相比()

A.基本相同B.無(wú)法確定C.并發(fā)程序執(zhí)行總體上執(zhí)行時(shí)間快D.順序程

序執(zhí)行總體上執(zhí)行時(shí)間快

29.二維數(shù)組的元素是4個(gè)字符(每個(gè)字符占一個(gè)存儲(chǔ)單元)組成的

串,行下標(biāo)i的范圍從0到4,列下標(biāo)j的范圍從。到5。M按行

存儲(chǔ)時(shí)元素M[3,5]的起始地址與M按列存儲(chǔ)時(shí)元素()的起始地址相

同。

A.M[2,4]B.M[3,4]C.M[3,5]D.M[4,4]

30.下列存儲(chǔ)管理方案中,()允許動(dòng)態(tài)擴(kuò)充內(nèi)存容量。

A.固定分區(qū)B.可變分區(qū)C.頁(yè)式D.虛擬頁(yè)式

四、C語(yǔ)言程序設(shè)計(jì)題(10題)

31.已知數(shù)據(jù)文件indat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDatO

把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(shù)jsVal,其功能是:依次從數(shù)

組a中取出一個(gè)四位數(shù),如果該四位數(shù)大于該四位數(shù)以后的連續(xù)五個(gè)數(shù)

且該數(shù)是奇數(shù)(該四位數(shù)以后不滿五個(gè)數(shù),則不統(tǒng)計(jì)),則統(tǒng)計(jì)出滿足此

條件的個(gè)數(shù)ent并把這些四位數(shù)按從小到大的順序存入數(shù)組b中,最后

調(diào)用寫(xiě)函數(shù)writeDat把結(jié)果ent以及數(shù)組b中符合條件的四位數(shù)輸出到

Out.dat文件中o

注意:部分源程序存在test.C文件中。

程序中已定義數(shù)組:a[200],b[200],已定義變量:ent

請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main、讀函數(shù)readDat

和寫(xiě)函數(shù)writeDat的內(nèi)容。

linclude<stdio.h>

^defineMAX200

inta(MAX)<b[MAX],ent

4voidwriteDat;

5voidjsValO

8

/?readDat()從數(shù)界文件in.dii中讀取2W個(gè)四位數(shù)存人數(shù)組■中?/

voidreadDat()

FILEefp;

13fp-fopen(-in.daf,"r");

14for(i-0;i<MAX;if

15fscanf(fp,;

16fclose(fp);

17

18voidmain()

19

20,int1;

21!readDat();

22;jsValO;〃調(diào)用”Vah)曲故,實(shí)現(xiàn)KH要求的功能

23\printf("湎足條件的數(shù)=Sd\n-,ent);

24?for(i■0;i<ent;1+?)

25;printf(0%d”,b(i]);

261printf;

27'writeDat():

28;|

?函數(shù)writeD叫)和端聚cm以及數(shù)赳b中符合條件的四位數(shù)■出到oul4at文件中?/

29;voidwriteDat()

30

31FILEefp;

32inti;

33fp=?fopen("out.dat",Ww");

34fprintf(fp#ent);

35for(1=0;i<ent;

36fprintf(fp/"$d\n”,b[i1)

37fclose(fp);

38

32.函數(shù)ReadDat實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章,存入到無(wú)符

號(hào)字符串?dāng)?shù)組XX中;請(qǐng)編制函數(shù)encryptChar,按給定的替代關(guān)系對(duì)數(shù)

組XX中的所有字符進(jìn)行替代,其替代值仍存入數(shù)組XX所對(duì)應(yīng)的位置

上,最后調(diào)用函數(shù)WriteDat把結(jié)果XX輸出到文件out.dat中。

替代關(guān)系:f(P)=P*Hmod256,mod為取余運(yùn)算,p是數(shù)組XX中某一

個(gè)字符的ASCII值,勺(p)是計(jì)算后無(wú)符號(hào)的整型值(注意:中間變量定義

成整型變量),如果原字符是數(shù)字字符0至9或計(jì)算后f(p)值小于等于

32,則該字符不變,否則用f(p)替代所對(duì)應(yīng)的字符。

注意:部分源程序存放在test.c文件中,原始數(shù)據(jù)文件存放的格式是:

每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格,并也按此替代關(guān)系

進(jìn)行處理。

請(qǐng)勿改動(dòng)主函數(shù)main、讀數(shù)據(jù)函數(shù)ReadDat和輸出數(shù)據(jù)函數(shù)WriteDat

的內(nèi)容。

!linclude<stdio.h>

??include<string.h>

;linclude<ctype.h>

4!unsignedcharxx[50](80);

5jintmaxline-0;/?文章的總行數(shù)?/

6?intReadDat(void);

7?voidWriteDat(void);

8;voidencryptChar()

9H

10I

11;)

12!voidmain()

13;I

14?if(ReadDatO)

15!(

16pcntfL數(shù)據(jù)文件in.dat不能打開(kāi)!\n\007”);

17return;

18;1

19;encryptCharO;

20!WriteDat();

213

:/?從文杵s&i中立取一?英文文草.存入*無(wú)符號(hào)字符*做型口中?/

22!intReadDat(void)

23I(

24;FILE*fp;

25int1-0/

26;unsignedchar*p;

w0

27!if((fp-fopen("in.datrr"))?-NULL)

28return1;

29;while(fgets(xx[i],80,fp)!■NULL)

30!?

1

31P-strchr(xx(i)r'Xn);

32if(p)*p-0;

33

34I)、

35maxline?i;

36ifclose(fp);

37;return0;

38P

i"IE結(jié)裳u?出到文件ouLdit中?/

39!voidWriteDat(void)

40J(

41*FILE*fp;

42jint1;

43?fp-fopen("out.dat",Ww");

44jfor(i*0;i<maxline;

45;1

Mw

46!printf(ls\nrxx(1));

47jfprintf(fp^7s\n".xx(i]);

48{)

49!fclose(fp);

33.已知數(shù)據(jù)文件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat

把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(shù)isVal,其功能是:把千位數(shù)

字和十位數(shù)字重新組成一個(gè)新的含有兩位數(shù)字的數(shù)ab(新數(shù)的十位數(shù)字

是原四位數(shù)的千位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字),以及

把個(gè)位數(shù)字和百位數(shù)字組成另一個(gè)新的含有兩位數(shù)字的數(shù)cd(新數(shù)的十

位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)

字),如果新組成的兩個(gè)位數(shù)ab>cd,ab必須是偶數(shù)且能被5整除,cd必

須是奇數(shù),同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位

數(shù)按從大到小的順序存入數(shù)組b中,并要計(jì)算滿足上述條件的四位數(shù)的

個(gè)數(shù)cnto最后main函數(shù)調(diào)用寫(xiě)函數(shù)writeDat把結(jié)果ent以及數(shù)組b中

符合條件的四位數(shù)輸出到Out.dat文件中。

注?。翰糠衷闯绦虼嬖趖CSLC文件中.

程序中已定義教組:4200),b[200],已定義變量:ent

請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main。、讀的數(shù)readDatO和寫(xiě)函數(shù)writeDaU)的內(nèi)容.

1ilinclude<stdio.h>

2IfdefineMAX200

3-inta(MAX],b(MAX],ent-0;

4!voidwrlteDat0;

5ivoidjsVal()

6;(

*7i

8i)

9!voidreadDat()〃從in.dat文件中it取200個(gè)四位數(shù)存入致殂a中

10jI

11?int£;

12?FILE#fp;

13;fp-fopen(Hin.datw,wrw);

14?for(i*0;i<MAX;1++)

15ffscanf(fpr;

16;fclose(fp);

17!J

18;voidmain()

19;(?

20!inti;

21treadDat();

22;jsValO;〃?用港數(shù)”V,客現(xiàn)?日要求的功能

231printf<“涓足條件的數(shù)7d\n”,ent);

24;for(1?0;i<ent;1?*)

25!printf(w%d”,b[il);

26iprintf("\nw);

writeDat();

28I

29voidwriteDat(>"紀(jì)計(jì)算站果cni以及數(shù)iflb中符合條件的四位Ik“出到outdot文件中

30(

31FILE*fp;

32int1;

33fp?fopenLout.dat".Www);

wR

34fprintf(fp,ld\nrent);

35for(1■0;i<ent;11??)

36fprintf(fp,"%d\n"r

37fclose(fp);

38

34.程序test.c的功能是:選出1000至5000范圍內(nèi)(包括1000、5000)

符合下面條件的四位自然數(shù)。條件是:千位數(shù)字與百位數(shù)字之和等于十

位數(shù)字與個(gè)位數(shù)字之和,且千位數(shù)字與百位數(shù)字之和等于個(gè)位數(shù)字與千

位數(shù)字之差的整10倍。計(jì)算并輸出這些四位自然數(shù)的個(gè)數(shù)ent以及這

些數(shù)的和sum。請(qǐng)編寫(xiě)函數(shù)countValue實(shí)現(xiàn)程序的要求。最后main函

數(shù)調(diào)用函數(shù)writeDAT把結(jié)果crlt和sum輸出到out.dat文件中。

注意I部分源程序存放在tcst.c文件中.

請(qǐng)勿改動(dòng)主函數(shù)main。和輸出數(shù)據(jù)函數(shù)wriicDAT。的內(nèi)容.

1!ifinclude<stdio.h>

2?intcntrsum;〃定義事型全局受■st和nun

3;voidwriteDAT();

4!voidcountvalue(>

5i(

6I

7j》

8;voidmainO

9?;(

10jent-sum-0;〃蛤全局變?ent?sum賦初值為。

11-countvalue();〃調(diào)用明數(shù)countvaiuo”,實(shí)現(xiàn)息日要求的功能

12:printf("滿足條件的自然數(shù)的個(gè)敷■*d\n".ent);

M

13;printf("滿足條件的自然數(shù)值的和。%d\nrsum);

14?writeDAT();

155I

16;voidwriteDAT()

17I;1

18jFILE*fp;

19:fp■fopen(**out4dat**/

wR

20!fprintf(fpr%d\n%d\n,ent,sum);

21!fclose(fp);

22\)

35.已知數(shù)據(jù)文件in.dat中存有300個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat

把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsValue,其功能是:求出千位數(shù)

上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)減個(gè)位數(shù)上的數(shù)大于零的個(gè)數(shù)

ent,再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的

四位數(shù)按從小到大的順序進(jìn)行排序。最后main函數(shù)調(diào)用寫(xiě)函數(shù)writeDat

把數(shù)組b中的數(shù)輸出到文件Out.dat中。

例如?9123,9J.2-3X.剜讀數(shù)滿足條件存入數(shù)組b中.且個(gè)數(shù)82+1?

9812.%"1?2<0,則該數(shù)不滿足條件忽略.

注意:部分源程序存在E.C文件中.

程序中已定義1!(組:a(300),b{300J.已定義變量『ent

請(qǐng)勿改動(dòng)數(shù)據(jù)文件indii中的任何數(shù)施、主函數(shù)mainO、讀函數(shù)rcadDaH)和寫(xiě)函數(shù)writeDotO的內(nèi)容.

tinclude<stdio.h>

inta(300],b(300),cnt-O;〃定義?小依蛆乂3。0].b(300]和受量5t.并且ent的初值為0

3voidwriteDat();

4voidreadDat();

5voidjsvalue0

6

8

9;main()

10;(

iiiinti;

12:readDat();

13!isValue();

14writeDatO;

15printf("cnt-ld\nw,ent);

16for(i?0;1<ent;

,

17printf(*b(ldj-td\n"/irb(i]);

18)

19voidreadDatO

20

21FILE*fp;

22inti;

Nw

23fp-fopen(in?dat*r*r);

24for(1?0;1<300;

25fscanf(fp,;

26fclose(fp);

27)

28voidwriteDAt()

29

30FILEafp;

31int1;

32fp=fopen(wout.datw,"w**);

33fprintf(fp,ent);

34for(i?0;1<ent;

35fprintf(fp,”d\n",b{i!

36fclose(fp);

37

36.函數(shù)readDat是從文件in.dat中讀取20行數(shù)據(jù)存放到字符串?dāng)?shù)組

XX中(每行字符串長(zhǎng)度均小于80)o請(qǐng)編制函數(shù)isSort,其函數(shù)的功能

是:以行為單位對(duì)字符串按下面給定的條件進(jìn)行排序,排序后的結(jié)果仍

按行重新存入字符串?dāng)?shù)組XX中,最后調(diào)用函數(shù)writeDat把結(jié)果)XX輸

出到文件Out.dat中。

條件:字符串從中間一分為二,左邊部分按字符的ASCII值降序排序,

右邊部分不作處理,排序后,左邊部分與右邊部分按例子所示進(jìn)行交換。

如果原字符串長(zhǎng)度為奇數(shù),則最中間的字符不參加處理,字符仍放在原

位置上。

例如:位置012345678

源字符串ibcdhgfe

123498765

則處理后字符串hgfcdcba

876594321

注意:部分源程序存在teste文件中.

請(qǐng)勿改動(dòng)數(shù)據(jù)文件M.dat中的任何數(shù)據(jù)、主函數(shù)讀函數(shù)rcadD叫)和寫(xiě)的數(shù)writcDaU)的內(nèi)容.

1i!linclude<stdio.h>

2;?include〈string.h>

3;charxx[201(80);

4voidreadDat();

5voidwrlteDat();

6voidjsSort()

7

8

9

10voidmain()

11

12readDat();

13jsSort();

14wrlteDat("

15

/?從文件indii中注取20打數(shù)究存放到字符率依蛆xx中?/

16voidreadDat()

18?FILE-in;

19?inti-0;

20char*p;

nw

21in=fopen(in.dat,"D;

22while(i<20“fgets(xx{i]v80.in)NULL)

23

24p-strchr(xx(ij,?\n,);

25if(p)*p?0;

26

27]

28fclose(in);

29;)

\/,史州Rxx*出到文件outt中?/

30jvoidwriteDat()

31

32FILE*out;

33int1;

34out?fopen(*out.datw/**wM);

35for(i?0;1<20;if)

36(

37printfxx[i));

38fprintf(out,xxri!);

39)

40fclose(out);

41

37.已知數(shù)據(jù)文件in.dat中存有300個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat

把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsValue,其功能是:求出于位數(shù)

上的數(shù)加個(gè)位數(shù)上的數(shù)等于百位數(shù)上的數(shù)加十位數(shù)上的數(shù)的個(gè)數(shù)ent,

再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的四位

數(shù)按從小到大的順序進(jìn)行排序。最后main函數(shù)調(diào)用寫(xiě)函數(shù)writeDat把

數(shù)組b中的數(shù)輸出到文件out.dat中。

例如:6712,6^2=7+1.則該數(shù)滿足條件存入數(shù)蛆b中,且個(gè)數(shù)cnl=cm7.

8129,8*9!-1*2,則該數(shù)不滿足條件忽略.

注意,部分源程序存在testx文件中.

程序中已定義數(shù)姐:[300],b{300).已定義變量,art

請(qǐng)勿改動(dòng)數(shù)匏文件m.dat中的任何數(shù)據(jù)、主函數(shù)maiM)、讀語(yǔ)《(readDmO和寫(xiě)論數(shù)wrilcD叫)的內(nèi)容.

1Iinclude<stdio.h>

2inta[300),b[300),cnt-0;

3voidwriteDat0;

4voidreadDat();

5voidjsValue0

7

9main()

10I

11int1;

12readDat();

13jsValue();

14writeDat();

tw

15printf(?cnt-%d\nrent);

16for(i*0;i<ent;

w

17printf?%d\nri,b[i]);

I、

voidreadDat()

20(

21FILE*fp;

22int1;

23fp-fopen;

24for(i■0;i<300;i++)

w

25fdcanf(fp^%dr",&&[1]);

26;fclose(fp);

271)

28ivoidwriteDat()

29>(

30?FILEefp;

31;int1;

32.fp-fopen(°out.dat**,**ww);

33;fprintf(fp,"d'n”,ent);

34jfor(i-0;i<ent;1??)

w

35!fprintf(fpr-%d\nrb(i));

36ifclose(fp);

37八

38.程序test.c的功能是:將大于整數(shù)m且緊靠m的k個(gè)素?cái)?shù)存入數(shù)組

XXO請(qǐng)考生編寫(xiě)函數(shù)num(intm,intk,intxx口)實(shí)現(xiàn)程序的要求,最后調(diào)

用函數(shù)readwriteDATO把結(jié)果輸出到Out.dat文件中。

例如,若輸入17,5,則應(yīng)輸出:19,23,29,31,37。

注意:熱分源程序存在teSLC文件中.

請(qǐng)勿改動(dòng)數(shù)據(jù)文件m.dat中的任何數(shù)據(jù)以及I一函敷maino和輸出函數(shù)rcadwriteDAT。的內(nèi)容.

1?Iinclude<stdio.h>//mciudci#句說(shuō)明善程序中包含vc6Q中的標(biāo)準(zhǔn)■入?出片術(shù)數(shù)》d>o.

2!voidreadwriteDAT();,/曲數(shù)r?kh*nieDATO說(shuō)明語(yǔ)句

3;intis?(intm)〃函數(shù)皿”斷n是否為素敏,如果是素?cái)?shù)則返回1,否則返回0

4\]

5!Int1;,/定義變量£

6?for(i*2;i<m;i**)〃殳*t從2依次電增到si7

7-if(m%i--0)return0;〃如里m便破i■除,返回0

8*return1;//杳射揖回1

9!)

10ivoidnum(intm,intk.intxx(])

11;(

12I

14;main()

15I(

16;intm,n,xx11000);//定義交Aim,n和畋爆xx【】0。?!?/p>

17?printf(^XnPleaseentertwointegers:0);

HH

18?scant(%dr%dr&m,&n);//從使室設(shè)入兩個(gè)敷做蛤受fltm,n

19!num(m*nrxx);//『用解室numtintm,mtk.1??4])%現(xiàn)將大于整數(shù)m且的k個(gè)點(diǎn)效"入數(shù)姐*x

20jfor(cn-0;in<n;m++)〃變Itk從o依次逢增到n-1

21\printf("%dxx(m});〃?出依維無(wú)腐xx【oi]

221printf("\nw);〃?出一個(gè)回車(chē)換行將

23jreadwriteDATO;//M用由畋ZwritcDATOie錦果■出到wtdai文件中

24?)

25!voidreadwriteDAT()〃啥數(shù)readwrLteMTH的定義曙句

26j(

27;intm,n.xx(1000),i;〃定義整卡受■m.n,f的數(shù)組xx【1000】

a

28;FILErff*wf;〃定義文件空■r-wf

29!rf-fopen(*ln.datw,"rM);//以只注的方式的“開(kāi)文件ic.uu,并用rf指向這個(gè)文件

30?wf-fopen(Mout.dat**,Hww);〃以只用的方式的打開(kāi)文件。ut.dat,并用wf指向這個(gè)文件

31?ford?0;i<10;,?+)人博跖變量人從。依次通第到9

32I(

33jfscanf(rf,R%d%dR,&m,&n);〃從文件in.&t讀入兩個(gè)數(shù)值獻(xiàn)給m.n

34;num(mrn.xx);〃■用嫉數(shù)洪Ctnum(n>.k?xx[J)實(shí)現(xiàn)將大于整數(shù)tnH等Htn的k個(gè)拿數(shù)存入依iHxx

35jfor(m■0;m<n;m*+)〃循環(huán)受■&從。依次埸**n-1

36!fprintf(wf"%dxx[m]);//把畋但元*1?€[01]可入到文件??谄?<1*七中

w

37;fprintf(wfr*\n);〃史回由鐵打符號(hào)入劌文件out.<tac中

38\}

39!fclose(rf);〃關(guān)閉?入文件in.3匕

40ifclose(wf);〃關(guān)冊(cè)■出文件。ut.cU匕

39.已知在文件in.dat中存有100個(gè)產(chǎn)品銷(xiāo)售記錄,每個(gè)產(chǎn)品銷(xiāo)售記錄

由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱(chēng)me(字符型10位),單價(jià)dj(整

型),數(shù)量si(整型),金額je(長(zhǎng)整型)五部分組成。其中:金額=單價(jià)*數(shù)

量。函數(shù)ReadDat讀取這100個(gè)銷(xiāo)售記錄并存入結(jié)構(gòu)數(shù)組sell中。請(qǐng)編

制函數(shù)SortDat,其功能要求:按金額從小到大進(jìn)行排列,若金額相等,

則按產(chǎn)品代碼從小到大進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中。

最后main函數(shù)調(diào)用函數(shù)WriteDat把結(jié)果輸出到文件out.dat中。

提示:若中間變量為PROtemp,則可以直接使用結(jié)構(gòu)賦值語(yǔ)句進(jìn)行解

題。

例如:sell[i]=temp;

注意:部分源程序存放在test.C文件中。

請(qǐng)勿改動(dòng)主函數(shù)main、讀函數(shù)ReadDat和輸出函數(shù)WriteDat的內(nèi)容。

14include<stdio.h>

2Iinclude<?trlng.h>

3?IncludeOtdlib.h>

4fdefineMAX100

5typed?fstruct

6(

7chardm⑸;/?產(chǎn)4代碼?/

8charnc(lll:/?MW?/

9intdj;/??餅?/

10intsi;/?■■?/

11longje;/????/

12)PRO;

13PRO8011【MAX);

14voidReadDat();

15voidWritet>at();

16voidSortDat()

17

16

19

20voidmain()

21<

22momoot(selli0.stzeof:

23ReadDat();

24SortDat();

25WriteDatO;

26)

21voidReadDat()

28I

29FILEefp;

30charatr(80),ch(ll);

31Int1;

32fp-fopen("in.ckit","rw);

33for(i?0;1<100;

34(

35fgetBtstXr80,fp);

36memcpy(sell(l).dm,str,4);

37memcpy(sellfil.me,str?4,10);

38menepy(ch?stx*14r4):ch(4J-0:

39sell(i).dj-atoi(ch>;

40memcpy(chrstr*18v5);ch(5]-0;

41sell(i).al-atoi(ch);

42sell(i).je-(long)sellU).dj?selldl.al;

43)

44fclose(fp);

45}

46voidWrlteOat()

47<

48FILEefp;

49inti;

50fp-fopen("out.**w*);

51tor(1?0;1<100;*+?)

52

w

fprintf(fp,3%4d%5dt101d\n,seUUbdh,sellll).mc?aellUJ.djr.

sttllll)?je);

54;

55!fclose(fp);

56h

40.已知數(shù)據(jù)文件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat

把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(shù)jsVal,其功能是:若一個(gè)四

位數(shù)的千位數(shù)位置上的值小于等于百位數(shù)位置上的值,百位數(shù)位置上的

值小于等于十位數(shù)位置上的值,以及十位數(shù)位置上的值小于等于個(gè)位數(shù)

位置上的值,并且原四位數(shù)是偶數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)ent并

把這些四位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫(xiě)函數(shù)

writeDat把結(jié)果ent以及數(shù)組b中符合條件的四位數(shù)輸出到文件Out.dat

中。

注意,部分簿程序存在lestc文件中?

程序中已定義數(shù)組:a[200].b(200].已定義安置ient

請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main。、讀的數(shù)reMDat。和寫(xiě)的敷writeDatO的內(nèi)容?

1?*include<stdio.h>

2jfdefineMAX200〃定義宏變■MAX,N值桿20。

【】

3?inta[MAX],b(MAX),ent?0;〃定義務(wù)不數(shù)循a【MAX),bMAX和交■cm,并”■cn七的初值為口

4;voidwriteDat();

5'voidjsVal()

6-I1

8

9;voidreadDatO

10

FILEefp;

fp?fop>en(**in.dat","r");

for(1-0;1<MAX;H

ISfscanf(fp,"Qd",

16fclose(fp);

17

inti:

21readDat();

22jdValO;〃?用“丫曷1()水?dāng)?shù)實(shí)現(xiàn)及"要求的功能

23printf("涓足條件的數(shù)ent);

24for(1

25printf(**%d*,b(1

printf("Xn**);

27writeDat();

28

voidwriteDat()

30j(

31;FILE?fp;

32!int1;

33Jfp?fopen(*out.dat,"w">;

34;fprintf(fp,"Sd'n".ent);

35*for(1■0;i<ent;£??)

36!fprintf(fp^b[1))

37?fclose(fp);

38?)

五、設(shè)計(jì)與應(yīng)用題(2題)

41.已知有如下關(guān)系模式:RI(a,b,c),R2(c,d,a),R3(e,

f),R4(a,e,g),其中標(biāo)下劃線的屬性是主碼。請(qǐng)將上述關(guān)系模

式用適當(dāng)?shù)腅R圖表示出來(lái),并用下劃線標(biāo)注出作為實(shí)體主碼的屬

性。(10分)

42.某網(wǎng)上商城因?yàn)闃I(yè)務(wù)發(fā)展,原有的系統(tǒng)不能很好的滿足需要,因此采

用了一套新的經(jīng)營(yíng)管理系統(tǒng),此系統(tǒng)使用SQLServer2008數(shù)據(jù)庫(kù)管理

系統(tǒng)。此系統(tǒng)上線運(yùn)行前,需將商場(chǎng)原有的數(shù)據(jù)導(dǎo)入到新系統(tǒng)中。原有

系統(tǒng)使用SQLServer2000,數(shù)據(jù)結(jié)構(gòu)與新系統(tǒng)不完全一致。因此需要把

數(shù)據(jù)從SQLServer2000導(dǎo)入到SQLServer2008中,為了保證數(shù)據(jù)一

致性,數(shù)據(jù)導(dǎo)入過(guò)程中要求暫停業(yè)務(wù)且必須在3小時(shí)內(nèi)完成。(1)在原

有數(shù)據(jù)導(dǎo)入新系統(tǒng)的過(guò)程中,實(shí)施人員發(fā)現(xiàn)原有數(shù)據(jù)量很大,導(dǎo)人數(shù)據(jù)

需要四小時(shí),業(yè)務(wù)無(wú)法接受。經(jīng)分析某工程師認(rèn)為,數(shù)據(jù)導(dǎo)入過(guò)程中的

數(shù)據(jù)庫(kù)I/O很高,但導(dǎo)入數(shù)據(jù)的程序本身對(duì)系統(tǒng)資源占用率很低。該工

程師建議將數(shù)據(jù)導(dǎo)入過(guò)程中的數(shù)據(jù)恢復(fù)模式從“完整”模式改為“簡(jiǎn)單”

模式以提高數(shù)據(jù)導(dǎo)人速度,?而另一位工程師則認(rèn)為此方法未必能提高數(shù)

據(jù)導(dǎo)入速度,而且還可能導(dǎo)致數(shù)據(jù)丟失,不建議使用此方法。請(qǐng)分析此

方法是否能夠提高數(shù)據(jù)導(dǎo)入速度并給出理由,同時(shí)分析此操作的數(shù)據(jù)丟

失風(fēng)險(xiǎn)。(5分)(2)在成功導(dǎo)入歷史數(shù)據(jù)后,此系統(tǒng)順利上線運(yùn)行。在

上線運(yùn)行的第一周,發(fā)現(xiàn)數(shù)據(jù)庫(kù)服務(wù)器的CPU使用率很高,達(dá)到近90%,

高峰期間達(dá)到100%,且系統(tǒng)內(nèi)存占用率達(dá)到90%,但系統(tǒng)I/O很輕。

業(yè)務(wù)人員反應(yīng)系統(tǒng)操作速度很慢。為了提高系統(tǒng)運(yùn)行速度。在不修改應(yīng)

用程序的前提下,兩位工程師提出了不同的解決辦法:I.為服務(wù)器增

加2顆CPU,緩解CPU使用率很高的問(wèn)題;II.為服務(wù)器增加一倍內(nèi)

存,緩解內(nèi)存使用率很高的問(wèn)題。考慮成本,現(xiàn)階段只能按照一種方案

實(shí)施。請(qǐng)指出在現(xiàn)有情況下,哪種方案更合理并給出理由。(5分)

六、單選題口分](2題)

43.實(shí)體聯(lián)系模型簡(jiǎn)稱(chēng)ER模型,是數(shù)據(jù)庫(kù)設(shè)計(jì)常用的一種建模方法。關(guān)

于ER模型,下列說(shuō)法錯(cuò)誤的是()。

A.ER模型能幫助建模人員用一種簡(jiǎn)單的方法描述現(xiàn)實(shí)世界中的數(shù)據(jù)及

數(shù)據(jù)之間的聯(lián)系

B.用ER模型建模的基本思路是分類(lèi)標(biāo)識(shí)客觀事物,將具有相同屬性特

征的事物抽象為實(shí)體集

C.ER模型可以描述實(shí)體集之間一對(duì)一、一對(duì)多和多對(duì)多聯(lián)系,也可以

描述一個(gè)實(shí)體集中記錄之間的聯(lián)系

D.用ER模型描述實(shí)體集之問(wèn)的聯(lián)系時(shí),需要考慮數(shù)據(jù)在計(jì)算機(jī)中存儲(chǔ)

及處理的特征

44.有如下的索引文件:

指針號(hào)

1B-3011

1B-2003

指針號(hào)

1X-100700

西服

2X-0021500

洗衣機(jī)

3J-0992300

彩電

則該索引文件稱(chēng)為()。

A.稀疏索弓[B.聚集索引C.稠密索引D.非聚集索引

參考答案

1.B解析:根據(jù)遍歷的過(guò)程:中序遍歷左子樹(shù);訪問(wèn)根結(jié)點(diǎn);中序遍歷

右子樹(shù)。可知本二叉樹(shù)中序遍歷序列為:DGBAECHFO

2.D解析:SQL語(yǔ)言集數(shù)據(jù)查詢(xún)、數(shù)據(jù)操縱、數(shù)據(jù)定義、數(shù)據(jù)控制功能

于一體。掌握關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),關(guān)系代數(shù)和關(guān)系演算。

3.A解析:概念模型是不依賴(lài)于計(jì)算機(jī)系統(tǒng)和具體的DBMS的。設(shè)計(jì)概

念模型最著名、最實(shí)用的方法是“實(shí)體-聯(lián)系方法”,簡(jiǎn)稱(chēng)E-R方法。

4.A解析:CREATE屬于數(shù)據(jù)定義語(yǔ)句,IN-SERT和SELECT屬于數(shù)據(jù)

操縱語(yǔ)句,只有GRANT(授權(quán)語(yǔ)句)才是數(shù)據(jù)控制語(yǔ)句。

5.A

6.D解析:當(dāng)前應(yīng)用開(kāi)發(fā)工具的發(fā)展趨勢(shì)有:采用三層Client/Server結(jié)

構(gòu);對(duì)Web應(yīng)用的支持;開(kāi)發(fā)的,構(gòu)件式的分布式計(jì)算環(huán)境。

7.A解析:概念模型的特點(diǎn)包括:有豐富的語(yǔ)義表達(dá)能力、易于交流和

理解、易于變動(dòng)和易于向各種數(shù)據(jù)庫(kù)轉(zhuǎn)換。對(duì)照本題的四個(gè)選項(xiàng)可知,

在計(jì)算機(jī)中實(shí)現(xiàn)的效率高不包括在概念模型的特點(diǎn)中。因此本題正確答

案為選項(xiàng)A。

8.C解析:當(dāng)需要執(zhí)行某條指令而又發(fā)現(xiàn)它不在內(nèi)存時(shí),或當(dāng)執(zhí)行某條

指令需要訪問(wèn)其他的數(shù)據(jù)或指令時(shí),這些指令和數(shù)據(jù)不在內(nèi)存中,從而

發(fā)生缺頁(yè)中斷,系統(tǒng)將外存中相應(yīng)的頁(yè)面調(diào)入內(nèi)存。

9.B解析:當(dāng)模式改變時(shí),數(shù)據(jù)庫(kù)管理員對(duì)各個(gè)外模式/模式的映像做相

應(yīng)改變,可以便外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫(xiě)的,

從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡(jiǎn)稱(chēng)數(shù)據(jù)的

邏輯獨(dú)立性。當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)改變了,數(shù)據(jù)庫(kù)管理員對(duì)模式/內(nèi)模式

映像作相應(yīng)的改變,可以使模式保持不變,從而使應(yīng)用程序不必修改,

保證了數(shù)據(jù)與程序的物理獨(dú)立性。

10.C解析:用哈希函數(shù)處理沖突的方法通常有開(kāi)方定址法、再哈希法、

鏈地址法以及建立公共溢出區(qū)。

11.數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)解析:數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的基礎(chǔ)是數(shù)據(jù)庫(kù),因此數(shù)

據(jù)設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的基礎(chǔ)和核心。

12.保持函數(shù)依賴(lài)規(guī)范化過(guò)程中,將一個(gè)關(guān)系模式分解為為幾個(gè)關(guān)系模式,

應(yīng)保證分解后的模式與原模式等價(jià),常用的等價(jià)標(biāo)準(zhǔn)是具有無(wú)損連接和

保持函數(shù)依賴(lài)。

13.目錄目錄解析:文件系統(tǒng)一個(gè)最大的特點(diǎn)就是“按名存取”,用戶(hù)只

要給出文件的符號(hào)名就能方便地存取在外存空間的文件信息,而不必關(guān)

心文件的具體物理地址。而實(shí)現(xiàn)文件符號(hào)名到文件物理地址映射的主要

環(huán)節(jié)是檢索文件目錄。

14.關(guān)系模式關(guān)系模式解析:集合運(yùn)算是從關(guān)系中的元組的角度來(lái)進(jìn)行

的。關(guān)系代數(shù)中的集合運(yùn)算都要求進(jìn)行運(yùn)算的所有關(guān)系具有相同的關(guān)系

模式,即元組的結(jié)構(gòu)相同。

15.主動(dòng)攻擊【解析】在X800中將安全攻擊分為兩類(lèi):被動(dòng)攻擊和主

動(dòng)攻擊。被動(dòng)攻擊試圖了解或利用系統(tǒng)的信息,但不影響系統(tǒng)資源。主

動(dòng)攻擊試圖改變系統(tǒng)資源或影響系統(tǒng)工作。

16.域名服務(wù)器【解析】主機(jī)名與IP地址的映射是借助一組既獨(dú)立又協(xié)

作的域名服務(wù)器完成的。因特網(wǎng)中存在大量的域名服務(wù)器,每臺(tái)服務(wù)器

保存它所管轄區(qū)域內(nèi)的主機(jī)名與IP地址的對(duì)照表。域名服務(wù)器是域名

解析系統(tǒng)的核心。

17.日志日志

18.持久性持久性解析:為保證對(duì)故障恢復(fù)的支持,登記日志記錄時(shí)必

須遵循以下原則:登記的順序嚴(yán)格按照事務(wù)的并發(fā)執(zhí)行中各操作發(fā)生的

實(shí)際順序,?必須先把日志記錄寫(xiě)到外存的日志文件中,再把相應(yīng)的數(shù)據(jù)

庫(kù)修改寫(xiě)到外存的數(shù)據(jù)庫(kù)中。這稱(chēng)作先寫(xiě)日志的原則,是為了發(fā)生故障

后保持?jǐn)?shù)據(jù)庫(kù)的原子性和持久性所必須遵循的原則。

19.分布式一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng)包含一個(gè)節(jié)點(diǎn)的集合,這些節(jié)點(diǎn)通過(guò)某

種類(lèi)型的網(wǎng)絡(luò)連接在一起,每一個(gè)節(jié)點(diǎn)是一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)系統(tǒng)節(jié)點(diǎn)

20.對(duì)稱(chēng)序?qū)ΨQ(chēng)序解析:由二叉樹(shù)與樹(shù)之間的對(duì)應(yīng)關(guān)系可知,按先根次

序周游樹(shù)(林)等同于按前序周游對(duì)應(yīng)的二叉樹(shù),而按后根次序周游樹(shù)(林)

等同于按對(duì)稱(chēng)序周游對(duì)應(yīng)的二叉樹(shù)。

21.B

【答案】B

【解析】DataArchitect是可以對(duì)PowerDesigner中所有模型信息進(jìn)行

訪問(wèn)的只讀模塊。

22.D

23.A解析:自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比

較的分量必須是相同的屬性組,并且要在結(jié)果中把重復(fù)的屬性去掉。一

般的連接操作是從行的角度進(jìn)行運(yùn)算,但自然連接還需要取消重復(fù)列,

所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算。

24.A

25.C

26.D解析:為保證數(shù)據(jù)庫(kù)是可恢復(fù)的,登記日志文件時(shí)必須遵循以下兩

條原則:1、登記的次序嚴(yán)格按并發(fā)事務(wù)執(zhí)行的時(shí)間次序;2、必須先寫(xiě)

日志文件,后寫(xiě)數(shù)據(jù)庫(kù)。

27.C解析:數(shù)據(jù)字典是系統(tǒng)中各類(lèi)數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(shù)據(jù)

收集和數(shù)據(jù)分析所獲得的成果。數(shù)據(jù)字典通過(guò)對(duì)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的定

義宋描述數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的邏輯內(nèi)容。所以數(shù)據(jù)字典的最基本的功能

是數(shù)據(jù)定義。

28.C

29.B

30.D虛擬頁(yè)式存儲(chǔ)管理又稱(chēng)為請(qǐng)求頁(yè)式存儲(chǔ)管理,請(qǐng)求頁(yè)式的基本思想

是,在進(jìn)程開(kāi)始執(zhí)行之前,不是裝入全部頁(yè)面,而是只是裝入一個(gè)(甚至

。個(gè))頁(yè)面,然后根據(jù)進(jìn)程執(zhí)行的需要,動(dòng)態(tài)地裝入其他頁(yè)面。

31.\n【審題關(guān)鍵句】大于后連續(xù)5個(gè)數(shù),奇數(shù),從小到大排序。

\n【解題思路】本題類(lèi)似第35套試題,通過(guò)審題可以發(fā)現(xiàn)主要有兩個(gè)不

同點(diǎn):①判斷數(shù)值為奇數(shù),可通過(guò)a[i]%2進(jìn)行判斷,參考答案的第4條

語(yǔ)句;②要求進(jìn)行比較的元素大于后連續(xù)5個(gè)數(shù),因此在設(shè)置判斷條件

時(shí),作為比較的兩個(gè)數(shù)之間應(yīng)該是大于關(guān)系,參考答案的第4條語(yǔ)句。

\n【參考答案】

\n

\n

32.\n[審題關(guān)鍵句】字符替代f(p)=p*llmod256,小于等于32或原字符

對(duì)應(yīng)數(shù)字。?9不變,否則替換。

\n【解題思路】

\n本題類(lèi)似第67套試題,通過(guò)審題可以發(fā)現(xiàn)主要是排序條件的設(shè)置要

求有所不同,參考答案的第6行,修改if條件語(yǔ)句的設(shè)置即可。本題值

得一提的是在設(shè)置判斷條件的時(shí)候,一定要注意兩題要求中的兩個(gè)細(xì)微

的差別,第67套要求的是新字符所對(duì)應(yīng)的數(shù)字是。?9的不變,是對(duì)數(shù)

值型數(shù)據(jù)進(jìn)行判斷;而本套要求的是原字符所對(duì)應(yīng)的字符是0-9的保持

不變,是對(duì)字符型數(shù)據(jù)進(jìn)行判斷,在條件表達(dá)式的寫(xiě)法上需要大家注意

區(qū)分。

\n【參考答案】

\n

\n

33.\n【審題關(guān)鍵句】千位+十位與個(gè)位+百位,比較大小,整除,奇數(shù),

從大到小排序。

\n【解題思路】

\n本題類(lèi)似第26套試題,通過(guò)審題可以發(fā)現(xiàn)主要是對(duì)四位數(shù)的篩選條

件有所不同,即判斷新組合的兩位數(shù)要求第一個(gè)為偶數(shù),第二個(gè)為奇數(shù),

比較兩題的第1。條語(yǔ)句,只需將新組合的第二個(gè)數(shù)的判斷條件改為奇

數(shù)判斷,即“newV2%2”。

\n【參考答案】

\n

\n

34.\n【審題關(guān)鍵句】千位+百位等于十位十個(gè)位,且千位+百位等于個(gè)

位.千位的10倍。計(jì)算并輸出這些四位自然數(shù)的個(gè)數(shù)ent以及這些數(shù)的

和。

\n【解題思路】

\n①首先定義一個(gè)循環(huán)變量i,以及分別用來(lái)存放四位數(shù)分解之后各位

數(shù)的變量qw(千位)、bw(百位)、SW(十位)和gw(個(gè)位)。

\n②通過(guò)for循環(huán)依次對(duì)數(shù)組中的每個(gè)四位數(shù)進(jìn)行分解,循環(huán)初值為

1000,終值為5000,每循環(huán)一次,循環(huán)變量i的值加1。每分解一個(gè)四

位數(shù),根據(jù)題目要求,判斷其“千位十百位=十位+個(gè)位”的條件是否滿足,

同時(shí)判斷“(千位+百位)=(個(gè)位-于位)*10"的條件是否滿足,兩個(gè)條件之間

用運(yùn)算符進(jìn)行連接。當(dāng)同時(shí)滿足以上兩個(gè)判斷條件時(shí),計(jì)數(shù)變量ent的

值加1,同時(shí)將該四位數(shù)累加到求和變量sum中,最終得到滿足條件的

四位自然數(shù)個(gè)數(shù)ent及它們的和sumo

\n本題中ent和sum變量在源程序中已經(jīng)定義,在該子程序中就不需要

再重新定義了。

\n【參考答案】

\n

\n

35.\n【審題關(guān)鍵句】千數(shù)-百位-十位-個(gè)位數(shù)大于零的個(gè)數(shù),把所有滿足

此條件的數(shù)依次存入數(shù)組,按從小到大的順序排序。

\n【解題思路】

\n本題類(lèi)似第9套試題,通過(guò)審題可以發(fā)現(xiàn)僅有一個(gè)不同點(diǎn),即要求統(tǒng)

計(jì)的四位數(shù)的條件是“千數(shù)-百位-十位-個(gè)位數(shù)大于零”,參考答案的第8

條語(yǔ)句修改if語(yǔ)句的判斷條件。另外,對(duì)于數(shù)據(jù)交換的整型變量trap可

以自定義其變量名。

\n【參考答案】

\n

\n

\n

36.\n[審題關(guān)鍵句】以行為單位從字符串左邊部分降序排序,排序后左

邊部分與右邊部分進(jìn)行交換。如果原字符串長(zhǎng)度為奇數(shù),則最中間的字

符不參加處理。

\n【解題思路】

\n①定義循環(huán)變量i、j、k和整型變量len、po

\n②第一層for循環(huán)中,循環(huán)變量i從0開(kāi)始,依次遞增直到其值等于

20,實(shí)現(xiàn)對(duì)20行數(shù)據(jù)的逐行處理。在循環(huán)體中,對(duì)于i行首先調(diào)用函數(shù)

strlen(xx[i])求得第i行字符串的長(zhǎng)度,并把其值賦給變量len,再用len

除以2,得到第i行字符串長(zhǎng)度的一半,賦給變量P。在第二層for循環(huán)

中,循環(huán)變量J從0開(kāi)始,依次遞過(guò)來(lái)增直到其值等于(p-1),在第三層

for循環(huán)中,循環(huán)變量k從J+1開(kāi)始,依次遞過(guò)來(lái)增直到其值等于P,比

較字符xx[i][j]ASCII碼值與xx[i][k]ASCII碼值的大小,如果字符xx[i]

啪的ASCII碼值小于xx皿k]的ASCII碼值,則兩者進(jìn)行互換實(shí)現(xiàn)對(duì)第

i行字符串左半部分的字符串按降序排列。

\n③用變量len的值對(duì)2求余數(shù),如果余數(shù)為1,則調(diào)用函數(shù)字符串拷貝

函數(shù)strcpy,把從字符串xx[i]+P+l開(kāi)始直到字符串xx國(guó)的結(jié)尾的子字

符拷貝到字符串變量str中,再調(diào)用字符串連接函數(shù)stmcat把字符串xx[i]

的中間字符連接到字符串變量str的后面,再調(diào)用字符串連接函數(shù)stmcat

把字符串xx[i]的左半部分的子字符串連接到變量str的后面;如果余數(shù)

不等于1,則調(diào)用字符串拷貝函數(shù)strcpy,把從字符串xx[i]+P開(kāi)始直到

字符串xx[i]的結(jié)尾的子字符拷貝到字符串變量str中,再調(diào)用字符串連

接函數(shù)stmcat把字符串xx[i]的左半部分的子字符串連接到變量s

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論