2021年湖北省鄂州市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第1頁(yè)
2021年湖北省鄂州市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第2頁(yè)
2021年湖北省鄂州市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第3頁(yè)
2021年湖北省鄂州市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第4頁(yè)
2021年湖北省鄂州市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(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)介

2021年湖北省鄂州市全國(guó)計(jì)算機(jī)等級(jí)考試

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

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

一、1.選擇題(10題)

1.設(shè)有關(guān)系R=(A,B,C),與SQL語(yǔ)句selectdistinctA,CfromR

whereB=5等價(jià)的關(guān)系代數(shù)表達(dá)式是

I.7iA,C(oB=5(R))

II.oB=5(7iA,C(R))

A.都等價(jià)B.僅IC.僅IID.都不等價(jià)

2.臨界區(qū)是指并發(fā)進(jìn)程中訪問(wèn)共享變量的

A.管理信息段B.信息存儲(chǔ)段C.數(shù)據(jù)段D.程序段

3.實(shí)體完整性要求主屬性不能取空值,這一點(diǎn)通常是通過(guò)()。

A.定義外部鍵來(lái)保證B.定義主鍵來(lái)保證C.用戶定義的完整性來(lái)保證

D.關(guān)系系統(tǒng)自動(dòng)保證

4.計(jì)算機(jī)病毒是一類侵入計(jì)算機(jī)系統(tǒng)并具有潛伏性、傳播和破壞能力的

A.生物B.指令C.程序D.細(xì)菌

5.在操作系統(tǒng)的各個(gè)功能組成部分中,不需要硬件支持的是

A.進(jìn)程調(diào)度B.時(shí)鐘管C.地址映射D.中斷系統(tǒng)

6.下面所列條目中,哪一個(gè)是當(dāng)前應(yīng)用開發(fā)工具的發(fā)展趨勢(shì)?

I.采用三層Client/Server結(jié)構(gòu)

II.對(duì)Web應(yīng)用的支持

III.開發(fā)的、構(gòu)件式的分布式計(jì)算環(huán)境

A.I和IIB.II和niC.I和HID.都是

7.下面頁(yè)面淘汰算法中,會(huì)產(chǎn)生Belady(異常)現(xiàn)象的是____。

A.先進(jìn)先出頁(yè)面淘汰算法(FIFO)

B.最近最少使用頁(yè)面淘汰算法(LRU)

C.最不經(jīng)常使用頁(yè)面淘汰算法(LFU)

D.最佳頁(yè)面淘汰算法(OPT)

8.為了將一臺(tái)只允許一個(gè)用戶獨(dú)占的設(shè)備改造成為多個(gè)用戶共享的設(shè)

備,可采用()。

A.通道技術(shù)B.緩沖技術(shù)C.spooling技術(shù)D.虛擬存儲(chǔ)技術(shù)

9.SQL語(yǔ)言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,

語(yǔ)句INSEPT、DELETE,UPDATE實(shí)現(xiàn)哪類功能?

A.數(shù)據(jù)查詢B.數(shù)據(jù)操縱C.數(shù)據(jù)定義D.數(shù)據(jù)控制

10.在包括1000個(gè)元素的線性表中實(shí)現(xiàn)如下各運(yùn)算,哪一個(gè)所需要的

執(zhí)行時(shí)間最長(zhǎng)?()

A.線性表按順序方式存儲(chǔ),性表的第10個(gè)結(jié)點(diǎn)后面插入一個(gè)新結(jié)點(diǎn)

B.線性表按鏈接方式存儲(chǔ),性表的第10個(gè)結(jié)點(diǎn)后面插入一個(gè)新結(jié)點(diǎn)

C.線性表按順序方式存儲(chǔ),刪除線性表的第990個(gè)結(jié)點(diǎn)

D.線性表按鏈接方式存儲(chǔ),刪除指針P所指向的結(jié)點(diǎn)

二、填空題(10題)

11.一個(gè)數(shù)據(jù)庫(kù)有多個(gè)外模式,有【】?jī)?nèi)模式。

12.若一顆二叉樹中只有葉結(jié)點(diǎn)和左右子樹皆非空的結(jié)點(diǎn),設(shè)葉結(jié)點(diǎn)的

個(gè)數(shù)為n,則左右子樹皆非空的結(jié)點(diǎn)個(gè)數(shù)為o

13.數(shù)據(jù)庫(kù)主要維護(hù)者是()。

14.IPV6的128位地址按每16位劃分為一個(gè)位段,每個(gè)位段被轉(zhuǎn)換為一

個(gè)4位的十六進(jìn)制數(shù),并用冒號(hào)隔開,這種表示法稱為表

示法。

15.數(shù)據(jù)庫(kù)并發(fā)操作控制包括以【】方式打開數(shù)據(jù)庫(kù)和對(duì)數(shù)據(jù)庫(kù)或記錄

加鎖兩種方法。

16.設(shè)有關(guān)系R(A,B,C)和S(A,D,E,F),若將關(guān)系代數(shù)表達(dá)式:

nR.A,R,R.B,S.D,S.F(RsS)用SQL語(yǔ)言的查詢語(yǔ)句表示,則有:

SELECTR,A,B,D,FFROMR,SWHERE[]o

17.對(duì)并行數(shù)據(jù)庫(kù)的研究是研究如何對(duì)數(shù)據(jù)庫(kù)中的關(guān)系進(jìn)行劃分,

并把它們分布到多個(gè)處理器或多個(gè)磁盤。

18.計(jì)算機(jī)系統(tǒng)中發(fā)生某個(gè)事件時(shí),CPU暫停正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)

行相應(yīng)的程序,執(zhí)行完后再返回原先程序斷點(diǎn)繼續(xù)執(zhí)行的過(guò)程,稱為

19.多表中相關(guān)列稱為()碼。

20.RIP協(xié)議中表示距離的參數(shù)為

三、單選題(10題)

21.在關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)中,設(shè)計(jì)關(guān)系模式是()的任務(wù)。

A.需求分析階段B.概念設(shè)計(jì)階段C.邏輯設(shè)計(jì)階段D.物理設(shè)計(jì)階段

22.對(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ǔ)空間要少

23.下列關(guān)于數(shù)據(jù)庫(kù)重構(gòu)的說(shuō)法中,錯(cuò)誤的是_________o

A.數(shù)據(jù)庫(kù)的重構(gòu)就是對(duì)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)作必要的小范圍改變

B.當(dāng)存儲(chǔ)空間的分配過(guò)于零散,導(dǎo)致存取效率下降,所以必須重構(gòu)數(shù)據(jù)

庫(kù)

C.數(shù)據(jù)庫(kù)重構(gòu)包括重新設(shè)計(jì)數(shù)據(jù)庫(kù)及其應(yīng)用程序

D.如果能夠重構(gòu)數(shù)據(jù)庫(kù),盡量不要重新設(shè)計(jì)數(shù)據(jù)庫(kù)及相應(yīng)的應(yīng)用程序

24.如果兩個(gè)實(shí)體之間的聯(lián)系是M:N,則在轉(zhuǎn)換成關(guān)系模型時(shí),()引入

第三個(gè)交叉關(guān)系。

A.需要B.不需要C.無(wú)所謂D.將兩個(gè)實(shí)體合并

25.在計(jì)算機(jī)硬件系統(tǒng)的基本組成中,完成解釋指令、執(zhí)行指令的功能

部件是

A.運(yùn)算器B.控制器C.存儲(chǔ)器D.輸入輸出設(shè)備

26.一個(gè)公司有若干名兼職人員,而每個(gè)兼職人員有可能在多家公司打

工,則公司與兼職人員之間具有

A.一對(duì)一聯(lián)系B.一對(duì)多聯(lián)系C.多對(duì)多聯(lián)系D.多對(duì)一聯(lián)系

27.在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中,一個(gè)關(guān)系相當(dāng)于()

A.一張二維表B.一條記錄C.一個(gè)關(guān)系數(shù)據(jù)庫(kù)D.一個(gè)關(guān)系代數(shù)運(yùn)算

28.四個(gè)元素al、a2、a3和a4依次通過(guò)一個(gè)棧,入棧過(guò)程中允許棧頂元

素出棧。假設(shè)某一時(shí)刻棧的狀態(tài)如下:則不可能的出棧序列

是()

A.這種體系結(jié)構(gòu)由客戶、服務(wù)器以及客戶與服務(wù)器之間的連接三部分組

B.在這種結(jié)構(gòu)中,客戶機(jī)和服務(wù)器協(xié)同完成一項(xiàng)任務(wù)

C.連接客戶和服務(wù)器最廣泛采用的接口是開放數(shù)據(jù)庫(kù)連接

D.客戶進(jìn)程與服務(wù)器進(jìn)程之間的通信層次與OSI參考模型有根本不同

29.在數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段,將局部E-R圖集成為全局的E-R圖時(shí)有可

能發(fā)生沖突,下面表述錯(cuò)誤的是()。

A.A.總共可能發(fā)生2類沖突

B.類型、取值范圍的沖突屬于屬性沖突

C.屬性沖突通過(guò)協(xié)商、討論等手段進(jìn)行解決

D.結(jié)構(gòu)沖突要用技術(shù)手段解決

30.用直接插入排序方法對(duì)下面四個(gè)序列進(jìn)行排序(由小到大),元素比較

次數(shù)最少的是()

A.94、32、40、90、80、46、21、69

B.32、40、21、46、69、94、90、80

C.21、32、46、40、80、69、90、94

D.90、69、80、46、21、32、94、40

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

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

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

中依次取出一個(gè)四位數(shù),對(duì)每一個(gè)四位數(shù)作如下處理:把個(gè)位數(shù)字和千

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

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

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

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

新組成數(shù):一個(gè)是奇數(shù),另一個(gè)為偶數(shù),并且至少有一個(gè)數(shù)能被17整

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

數(shù)組b中,并計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)ent,而后對(duì)數(shù)組b進(jìn)

行降序排序。最后main函數(shù)調(diào)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b

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

例如:一個(gè)四位數(shù)為4512,依題意組成的第一個(gè)新數(shù)為24,第二個(gè)新

數(shù)為51,其中51能被17整除,這兩個(gè)新數(shù)的十位數(shù)字不為零,則4512

這個(gè)四位數(shù)滿足題意所規(guī)定條件。

注感?部分源程序存在teste文件中.

程序中已定義數(shù)蛆:a[200].b(200],已定義企It:ent

請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.cUt中的任何數(shù)據(jù),主必?cái)?shù)num()>由數(shù)rcadDatO和寫函數(shù)writeDat()的內(nèi)容.

1!linclude<stdio.h>

2jtdefineMAX200

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

4!voidwriteDat();

5tvoidjsVal()

6”

7j

8;}

9IvoidrcadDat()〃從1n?da匕文件中考取20。個(gè)網(wǎng)位攻〃入敏Ma中

10;(

11?int1;

12FILE*fp;

13fp-fopen("in.dat**,*rw

14for(i-0;i<MAX;

15fscanf([i)

16fclose?fp);

17

18voidmain()

19

20Inti;

21readDat();

22jsValO;〃?用嫉敗,SVLo,實(shí)現(xiàn)?目要求的功底

23printf「清I足條件的數(shù)7d\n”,ent);

24for(i*0;1<ent;

25printf(*%dIb(i]);

26printf;

27writeDat();

28

29voidwriteDat()〃把計(jì)算皓果entllAtttHb中符合條件的四位數(shù)七出到皿⑶u文件中

30

31

32int1;

33fp-fopen(wout.datR;

34fprintf(fp,"%d\n".ent);

35for(iw0;i<ent;“?)

ww

36fprintf(fpr%d\nrb[1]);

37fclose(fp>;

38

32.已知在又件in.dat中存有100個(gè)產(chǎn)品銷售記錄,每個(gè)產(chǎn)品銷售記錄

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

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

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

制函數(shù)SortDat,其功能要求:按產(chǎn)品代碼從小到大進(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)行解

題;產(chǎn)品代碼比較請(qǐng)用函數(shù)strcmp進(jìn)行解題。例如:sell[i]=temp;

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

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

Iinclude<stdio.h>

2*tinclude<string.h>

3?tinclude<stdlib.h>

4;?defineMAX100

5typedefstruct

7chardm(5);八產(chǎn)豆代碼?/

charme(11];/?產(chǎn)易名算*/

intdj;/?總價(jià)?/

10;intsi;/?收??/

11ilongje;/?金??/

12;PRO;

13!PROsell[MAX);

14?voidReadDat();

15;voidWriteDat();

16!voidSortDatO

17;(

18

19

20voidm41n()

menisct(nolU。,slzeof(sell));

ReadDat()f

SortDa匕0;

WriteDat():

/?試取B100個(gè)帆2記景先俘人削I種a》HI中?/

voidReadD&t()

28(

29FILE?fpj

30charatr[80]ch[11];

31intij

32fp-fopen(*in.datw>"r");

33for(1?0;i<100;1-M-)

34(

35fgeta(str,80.fp);

36memcpy(sell[£]?也n.str,4”

37memcpy(sell[1].mefstr?4.1

38

meincpy(chrstr+14,4);ch(4)?0;

39sei1(1]?dj,Atol(ch);

40memepy(chfstr*18,5):ch15]?0;

sell[1].si-atoi(ch);

42sell(11?je?(long)sell(i].dj

43

44fclose(fp);

45

八把姑星■出到文"gt&t中。

?dm,aellfil.me,sell(i|.dj,sellli].si

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

號(hào)字符串?dāng)?shù)組XX中;請(qǐng)編制函數(shù)ChA,其函數(shù)的功能是:以行為單位

把字符串中的第一個(gè)字符的ASCII值加第二個(gè)字符的ASCII值,得到

第一個(gè)新的值,存入數(shù)組單元xx用⑼中(其中:i是文章中的某行)。第

二個(gè)字符的ASCII值加第三個(gè)字符的ASCII值,得到第二個(gè)新的值,存

入數(shù)組單元xx[i][l]中。以此類推一直處理到最后第二個(gè)字符,最后一個(gè)

字符的ASCII值加原第一個(gè)字符的ASCII宜得到最后一個(gè)新的值,存

放在原字符串對(duì)應(yīng)的位置上,之后把已處理的字符串逆轉(zhuǎn)后仍按行重新

存入無(wú)符號(hào)字符串?dāng)?shù)組XX中。最后main函數(shù)調(diào)用函數(shù)WriteDat把結(jié)

果XX輸出到out.dat文件中。

原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符

號(hào)和空格,并也按它的ASCII值作以上處理。注意:部分源程序存放在

test.c文件中。

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

的內(nèi)容。

I?flnclucle<stdio.h>

21iinclude<string.h>

3;unsignedcharxx[50)(80];

4!intmaxiine■0;/?文章的總行數(shù)?/

5;intReadDat(void);

6'voidWriteDat(void);

7ivoidChA(void)

ei(

9:

10;}

11{voidmain()

13if(ReadDatO)

14(

15printf(。數(shù)據(jù)文件in.dat不籍打開!\n\007");

16return;

17}

18ChA();

19WriteDat();

20]

/?從文件m.dM中康我一編英文丈量存入》無(wú)符號(hào)字辨申數(shù)的XM中?/

21intReadDat(void)

22(

23FILE*fp;

24inti?0;

25char*p;

26it((fp-fopen(win.datw,Hr*))-NULL)

27return1;

28while(fgets(xx(i)<80#fp)9NULL)

29(

30p■strchr(xx(i)t?\n*);

31if(p),p?0;

32

33)

34maxline?i;

35fclose(fp);

36return0;

37)

/?把結(jié)果xx*出到ouLdal文件中?/

38voidWriteDat(void)

39(

40FILE*fp;

41inti;

42fp-fopenLout.dat".”");

43for(i?0;i<maxline;1+?)

44(

w

45printf(%s\n"/xx(i));

R

6fprlntf(fp/"%s\n#xx[11);

47)

48fclose(fp);

49

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

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

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

量。函數(shù)ReadDat讀取這100個(gè)銷售記錄并存入結(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

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

XX中(每行字符串長(zhǎng)度均小于80)。請(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

源字符串a(chǎn)bcdhgfe

123498765

則處理后字符串hgfcdcba

876594321

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

請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)maiM)、讀函數(shù)n?dDat()和寫的數(shù)wnteD&U)的內(nèi)容.

1!linclude<stdio.h>

2j?include<string.h>

3;charxx[20]180);

4voidreadDat();

5voidwrlteDat();

6voidjsSort()

7

8

9

10voidmain()

11

12readDat();

13jsSort();

14wrlteDat("

15

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

16voidreadDat()

17!(

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

36.已知數(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)用寫函數(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和寫論數(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八

37.已知數(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)用寫函數(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。和寫的敷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?)

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

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

數(shù)各位上的數(shù)字均是奇數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)ent并把這些四

位數(shù)按從大到小的順序存入數(shù)組b中。最后main函數(shù)調(diào)用寫函數(shù)

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

件中。

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

程序中已定義數(shù)組:4200].b(200b已定義攵*cm

請(qǐng)勿改動(dòng)數(shù)據(jù)文件Hdai中的任何數(shù)據(jù)、主論數(shù)mainO、波函數(shù)readDatQ和寫函數(shù)writeDttO的內(nèi)容.

finclude<stdio.h>

IdefineMAX200

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

4voidwriteDat();

5voidjsValO

6

7

6

9voidreadDat0〃從ln.dat文件中供取200個(gè)四位數(shù)存入數(shù)如a中

10

inti;

12FILE?fp;

13fp?fopen(Hin.datw,*rw)

14for(i-0:1<MAX;ii)

15fscanf(fp/7dL&a[1])

fclose(fp);

17

voidmain()

20inti;

21readDat();

22jsval();〃?川南也”v“八,實(shí)現(xiàn)要求的功能

23printf「滿足條件的數(shù)-、d\n”,ent);

24for(i?0;i<ent;if

25prlntf("%d"?b[i));

26printf(*\nw):

27writeDat();

28

29voidwriteDat0//ICilWM小cm以及數(shù)蛆b中構(gòu)介條祥的四位依■由到ourdu文件中

30

31FILE-fp;

32inti;

33fp-fopen("out.dat*,Hw*);

34fprintf(fp/ent);

35for(1-0;i<ent;

36fprintf(fp,Fd\rT.bfi]);

37fclose(fp);

38

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

串?dāng)?shù)組XX中,請(qǐng)編制函數(shù)ConvertCharA,其函數(shù)的功能是:以行為單

位把字符串中的所有小寫字母改寫成該字母的下一個(gè)字母,如果是字母

Z,則改寫成字母a,大寫字母和其他字符保持不變。把已處理的字符串

仍按行重新存入字符串?dāng)?shù)組XX中。最后main函數(shù)凋用函數(shù)WriteDat

把結(jié)果XX輸出到文件Out.dat中。

原文*Adb.Bcdza

abck.LLhj

結(jié)果:Acc.Bdcab

hrHIfTtk

原始數(shù)據(jù)文件存放的格式是:銀行的窗度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格.

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

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

1、tinclude<stdio.n>

2!!include《string.h>

3?charxx[50][80];

4;intmaxline■0;/*文*的總打數(shù)?/

5jintReadDat(void);

6;voidWriteDat(void);

7?voidConvertCharA(void)

8

9

10

11?voidmainO

12!l

13jif(ReadDat())

14(

15printf("數(shù)據(jù)文件in.dat不能打開!\n\007”);

16return;

17j}

18ConvertCharA();

19jWrlteDatO;

2。?I

!,?從文件m&t中it取一■英文文章存入到字符率數(shù)盥u中〃

21;intReadDat(void)

22!(

23\FILEwfp;

24|inti?0;

25?char*p;

26jif((fp-fopen("in.dat","r"))—NULL)

27return1;

28\while(fgeta(xx(i]r80rfp)!-NULL)

29{(

30p-strchr(xx[1],f\n*);

31if(p)*p-0;

32if

33i,

34;maxline-i;

35fclose(fp);

36return0;

37I

/?紀(jì)結(jié)果U?出到文件OUL&t中?/

38voidWriteDat(void)

39(

40FILE#fp;

41int1;

42fp?fopen(**out*wM);

43for(1-0;1<maxline;i++)

44(

45print/xx[i]);

46fprintf(fp,"%s\n*rxx(i]);

47\

48!fclose(fp);

49

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

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

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

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

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

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

例如;1239.9J-2-3M),則該數(shù)滿足條件存入數(shù)組b中,旦個(gè)數(shù)cnfcnt+l?

8129.9-8-l-2<0,則該數(shù)不滿足條件忽略,

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

程序中已定義數(shù)組?4300],b(300].已定義變最:cm

請(qǐng)勿改動(dòng)數(shù)據(jù)文件山.&>1中的任何數(shù)據(jù)、主函數(shù)main()、讀話數(shù)readDaU)和寫函數(shù)writeDaM)的內(nèi)容.

tInclude<stdio.h>

2inta【3001,b[300hcnc-0;

3voidreadDat();

4voidwriteDat();

5voidjsValue()

6(

7

8]

9main()

10

inti;

12readDat();

13jsValueO;

14writeDat();

6

五、設(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.設(shè)在采用SQLServer2008數(shù)據(jù)庫(kù)的圖書館應(yīng)用系統(tǒng)中有三個(gè)基本表,

表結(jié)構(gòu)如下所示,請(qǐng)用SQL語(yǔ)句完成下列兩個(gè)查詢:BORROWER:借

書證號(hào)姓名系名班級(jí)12011106蔣輝文計(jì)算機(jī)系12-112011107王麗計(jì)算

機(jī)系12-112012113范園園信息系12-2LOANS:借書證號(hào)圖書館登記號(hào)

借書日期12011106T0010012012.01.0212012113

T0010262013.02.O6BOOKS:索書號(hào)書名作者圖書登記號(hào)出版社價(jià)格

TP3U.1數(shù)據(jù)庫(kù)系統(tǒng)李明T001001科學(xué)19.00TP311.2二級(jí)C語(yǔ)言王

珊T001026人民32.00(1)檢索至少借了5本書的同學(xué)的借書證號(hào)、

姓名、系名和借書數(shù)量。(5分)(2)檢索借書和王麗同學(xué)所借圖書中的

任意一本相同的學(xué)生姓名、系名、書名和借書日期。(5分)

六、單選題口分K2題)

43.下列關(guān)于索引的說(shuō)法中,錯(cuò)誤的是()。

A.索引是典型的空間換取時(shí)間的方法,因此在設(shè)計(jì)索引時(shí)要在空間和時(shí)

間兩者之間進(jìn)行權(quán)衡

B.建立聚集索弓但寸,數(shù)據(jù)庫(kù)管理系統(tǒng)會(huì)按照聚集索引鍵值對(duì)數(shù)據(jù)進(jìn)行排

C.聚集索引的鍵值不能重復(fù)

D.當(dāng)經(jīng)常進(jìn)行范圍查詢時(shí),在范圍列上建立索引可以提高該類查詢的效

44.效率低下的SQL語(yǔ)句往往是導(dǎo)致系統(tǒng)性能不佳的主要原因。設(shè)有如

下優(yōu)化系統(tǒng)性能的方法:I.利用存儲(chǔ)過(guò)程封裝頻繁使用的SQL語(yǔ)句

II.重新安排數(shù)據(jù)存儲(chǔ),整理回收碎塊ni.不要隨意使用游標(biāo)w.合理

使用相關(guān)子查詢V.調(diào)整表結(jié)構(gòu)定義以上屬于優(yōu)化SQL語(yǔ)句執(zhí)行效率

方法的是()o

A.I、m、WB.i、m、vc.n、w、vD.i、w、v

參考答案

LB解析:本題考查關(guān)系代數(shù)的基本運(yùn)算,參見《數(shù)據(jù)庫(kù)技術(shù)》一書422

節(jié)“關(guān)系代數(shù)”。對(duì)II來(lái)說(shuō),由于首先進(jìn)行投影運(yùn)算,所以結(jié)果關(guān)系中僅

剩下A和C兩個(gè)屬性,則無(wú)法對(duì)屬性B進(jìn)行進(jìn)一步的投影運(yùn)算,故II

不正確。本題正確答案為B。

2.D不論是硬件臨界資源,還是軟件臨界資源,多個(gè)進(jìn)程必須互斥地對(duì)

它進(jìn)行訪問(wèn)。每個(gè)進(jìn)程中訪問(wèn)臨界資源的那段程序稱為臨界區(qū)

3.B解析:現(xiàn)實(shí)世界中實(shí)體是可區(qū)分的,他們具有某種惟一的標(biāo)識(shí),主

碼不能取空值,因?yàn)橹鞔a取空值說(shuō)明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,而這于

前述思想矛盾的。

4.C解析:本題是對(duì)計(jì)算機(jī)病毒基本概念的考查。計(jì)算機(jī)病毒是一類特

殊的具有破壞性的計(jì)算機(jī)程序,它具有自我復(fù)制的功能,可通過(guò)非授權(quán)

人入侵并隱藏在可執(zhí)行程序或數(shù)據(jù)文件中。當(dāng)計(jì)算機(jī)運(yùn)行時(shí)原病毒把自

身精確拷貝或修改拷貝到其他程序體內(nèi),影響或破壞正常程序的執(zhí)行和

數(shù)據(jù)的正確性。因此計(jì)算機(jī)病毒是一種程序,本題正確答案為選項(xiàng)Co

5.A解析:進(jìn)程調(diào)度即處理機(jī)調(diào)度。在多道程序設(shè)計(jì)環(huán)境中,進(jìn)程數(shù)往

往多于處理機(jī)數(shù),這將導(dǎo)致多個(gè)進(jìn)程互相爭(zhēng)奪處理機(jī)。進(jìn)程調(diào)度的任務(wù)

是控制、協(xié)調(diào)進(jìn)程對(duì)CPU的競(jìng)爭(zhēng),按照一定的調(diào)度算法,使某一就緒

進(jìn)程獲得CPU的控制權(quán),轉(zhuǎn)換成運(yùn)行狀態(tài)。進(jìn)程調(diào)度也叫低級(jí)調(diào)度。

實(shí)際上進(jìn)程調(diào)度完成一臺(tái)物理的CPU轉(zhuǎn)變成多臺(tái)虛擬的(或邏輯

的)CPU的工作。

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

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

7.A

8.C解析:spooling系統(tǒng)主要有三部分:輸入井和輸出井,輸入緩沖區(qū)和

輸出緩沖區(qū),輸入進(jìn)程和輸出進(jìn)程。在該系統(tǒng)中,實(shí)際上并沒(méi)有為任何

進(jìn)程分配設(shè)備,只是在輸入井或輸出井中為進(jìn)程分配一個(gè)存儲(chǔ)區(qū)和建立

一張I/O請(qǐng)求表,各用戶對(duì)I/O的請(qǐng)求形成一個(gè)請(qǐng)求隊(duì)列,實(shí)現(xiàn)同一時(shí)

刻只能一個(gè)用戶獨(dú)占的設(shè)備分時(shí)共享,在用戶進(jìn)程看來(lái)都認(rèn)為自己獨(dú)占

了一臺(tái)設(shè)備,從而實(shí)現(xiàn)將一臺(tái)獨(dú)占設(shè)備改造成為共享設(shè)備。

9.B解析:SQL語(yǔ)言的數(shù)據(jù)查詢用SELECT;數(shù)據(jù)定義用CREATE.

DROP、ALTER;數(shù)據(jù)操縱用INSERT,UPDATE,DELETE;數(shù)據(jù)控制

用GRANT、REVOKEo

10.A

n.一個(gè)一個(gè)解析:外模式也稱子模式或用戶模式,它是數(shù)據(jù)庫(kù)用戶(包

括應(yīng)用程序員和最終用戶)能夠看見的和使用的局部的邏輯結(jié)構(gòu)和特征

的描述,是數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表

示。一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式。內(nèi)模式也稱物理模式或存儲(chǔ)模式,

一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式。它是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是

數(shù)據(jù)庫(kù)內(nèi)部的表示方法。

12.n-l

13.數(shù)據(jù)庫(kù)管理員

14.冒號(hào)十六進(jìn)制【解析】IPv6的128位地址按每16位劃分為一個(gè)位

段,每個(gè)位段被轉(zhuǎn)換為一個(gè)4位的十六進(jìn)制數(shù),并用冒號(hào)隔開,這種表

示法稱為冒號(hào)十六進(jìn)制表示法。

15.獨(dú)立獨(dú)立

16.R.A=S.AR.A=S.A解析:在SQL語(yǔ)言中對(duì)關(guān)系表進(jìn)行查詢時(shí)需要加

上條件語(yǔ)句where表1.索弓|=表2.索引,這樣查詢出的記錄才是一一對(duì)

應(yīng)的。

17.物理存儲(chǔ)結(jié)構(gòu)物理存儲(chǔ)結(jié)構(gòu)解析:并行數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)的研究

是研究如何對(duì)數(shù)據(jù)庫(kù)中的關(guān)系進(jìn)行劃分。并把它們分布到多個(gè)處理器或

多個(gè)磁盤,以使查詢處理時(shí)間最小。

18.中斷中斷解析:中斷是指當(dāng)計(jì)算機(jī)系統(tǒng)中發(fā)生某個(gè)事件時(shí),CPU暫

停正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行處理該事件的程序,執(zhí)行完后再返回原先

程序斷點(diǎn)繼續(xù)執(zhí)行的過(guò)程。弓I起中斷的事件稱為中斷源。

19.聚集

20.跳數(shù)【解析】向量一距離(V-D)路由選擇算法,也稱為Bellman-Ford

算法。其基本思想是路由器周期性地向其相鄰路由器廣播自己知道的路

由信息,用于通知相鄰路由器自己可以到達(dá)的網(wǎng)絡(luò)以及到達(dá)該網(wǎng)絡(luò)的距

離(通常用“跳數(shù)”表示),相鄰路由器可以根據(jù)收到的路由器修改和刷新

自己的路由表。

21.C解析:把概念設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用的具體

機(jī)器上的DBMS所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)(包括數(shù)據(jù)庫(kù)模式

和外模式)。這些模式在功能上、完整性和一致性約束及數(shù)據(jù)庫(kù)的可擴(kuò)充

性等方面均應(yīng)滿足用戶的各種要求。

22.C

23.C

24.A

25.B解析:馮?諾依曼提出的存儲(chǔ)程序工作原理決定了計(jì)算機(jī)硬件系統(tǒng)

的5個(gè)基本組成部分,即運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)

備。運(yùn)算器是計(jì)算機(jī)中執(zhí)行各種算術(shù)運(yùn)算和邏輯運(yùn)算的部件,也叫算術(shù)

邏輯單元。存儲(chǔ)器是計(jì)算機(jī)中具有記憶能力的部件,它能根據(jù)地址接收

和保存指令或數(shù)據(jù),并能根據(jù)命令提供有關(guān)地址的指令或數(shù)據(jù)。

控制器的主要作用是使整個(gè)計(jì)算機(jī)能夠自動(dòng)地執(zhí)行程序,并控制計(jì)算機(jī)

各功能部件協(xié)調(diào)一致地動(dòng)作。執(zhí)行程序時(shí),控制器先從主存中按順序取

出程序中的一條指令,解釋該指令并形成數(shù)據(jù)地址,取出所需的數(shù)據(jù),

然后向其他功能部件發(fā)出執(zhí)行該指令所需的各種時(shí)序控制信號(hào)。然后再

從主存中取出下一條指令執(zhí)行,如此循環(huán),直到程序完成。計(jì)算機(jī)自動(dòng)

工作的過(guò)程就是逐條執(zhí)行程序中指令的過(guò)程。

輸入設(shè)備的主要功能是將數(shù)據(jù)、程序等用戶信息變換為計(jì)算機(jī)能識(shí)別和

處理的信息形式。

輸出設(shè)備的主要功能是將計(jì)算機(jī)中的二進(jìn)制信息變換為計(jì)算機(jī)用戶所

需要并能識(shí)別的信息形式。

26.C解析:本題主要考查了實(shí)體之間多對(duì)多的聯(lián)系。如果對(duì)于實(shí)體集

A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之聯(lián)系,反之亦然,稱為

一對(duì)一聯(lián)系;如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體

與之聯(lián)系;對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多有一個(gè)實(shí)體與

之聯(lián)系,稱實(shí)體集A與B的聯(lián)系為一對(duì)多聯(lián)系;如果對(duì)于實(shí)體集A中的

每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體與之聯(lián)系;對(duì)于實(shí)體集B中的每一個(gè)

實(shí)體,實(shí)體集A中有m個(gè)實(shí)體與之聯(lián)系,稱為多對(duì)多聯(lián)系。所以C)正確。

27.A

28.C

29.A

將局部E-R圖集成為全局的E-R圖時(shí)有可能發(fā)生3類沖突,即屬性沖

突,結(jié)構(gòu)沖突,命名沖突。

30.C解析:直接插入排序的基本算法是:當(dāng)插入第i(i>=l)個(gè)對(duì)象時(shí),

前面的v[0],V[l]……已經(jīng)排好序,這時(shí),用V用的關(guān)鍵碼與V[i-

2],V[i-2],……的關(guān)鍵碼順序進(jìn)行比較,找到插入位置即將v[i]插入,

原來(lái)位置上的對(duì)象則向后移。由此可知,直接插入排序法的關(guān)鍵碼比較

次數(shù)與對(duì)象的初始排列有關(guān),準(zhǔn)確的說(shuō),就是與i可以取的值有關(guān)。對(duì)

于本題來(lái)說(shuō),A中i可以取1,B中i可以取2,C中i可以取3,D中i

可以取1。所以C的關(guān)鍵碼比較次數(shù)最少。

31.\n【審題關(guān)鍵句】個(gè)位+于位與百位+十位,奇數(shù),偶數(shù),整除,從大

到小排序。

\n【解題思路】

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

件有所不同,體現(xiàn)在兩個(gè)方面:①分解后重新組合成十位數(shù)的方式不同,

參考答案的第8、9條語(yǔ)句重新指定兩位數(shù)的組合方式;②新組合的兩

位數(shù)的奇偶性判斷及整除判斷,參考答案的第10條語(yǔ)句。

\n本題第10條語(yǔ)句中各條件表達(dá)式之間的關(guān)系有些復(fù)雜,大致思路是:

①首先判斷新組合的兩位數(shù)的十位不為0,即表達(dá)式“gwbw";②再判斷

新組合的第一個(gè)兩位數(shù)為偶數(shù),第二個(gè)兩位數(shù)為奇數(shù),且兩個(gè)兩位數(shù)中

至少有一個(gè)能被17整除的情況,兩個(gè)整除關(guān)系表達(dá)式式要用或運(yùn)算符

(11)連接,且用括號(hào)括起來(lái)先計(jì)算或運(yùn)算,再與奇偶性判斷表達(dá)式進(jìn)行

與運(yùn)算;③最后,在判斷新組合的第一個(gè)兩位數(shù)為奇數(shù),第二個(gè)兩位數(shù)

為偶數(shù),且兩個(gè)兩位數(shù)中至少有一個(gè)能被17整除的情況(各表達(dá)式之間

的連接關(guān)系同第2步)。完成以上3部分的表達(dá)式設(shè)計(jì)后,再通過(guò)與運(yùn)

算將3部分表達(dá)式連接起來(lái)。

\n【參考答案】

\n

\n

32.\n[審題關(guān)鍵句】計(jì)算金額,按產(chǎn)品代碼從小到大進(jìn)行排列,相同的

則按金額從小到大排列,結(jié)果存入結(jié)構(gòu)數(shù)組。

\n【解題思路】

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

求有所不同,參考答案的第8行進(jìn)行修改即可。

\n【參考答案】

\n

\n

33.\n[審題關(guān)鍵句】以行為單位,新字符串中每個(gè)字符的ASCII碼值等

于該位置上的原字符ASCII碼值加其后面一個(gè)字符的ASCII碼值,逆

序排序。

\n【解題思路】

\n①定義整型循環(huán)變量i、j和字符局部變量yuan。

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

或等于maxline,在循環(huán)體中,首先把第i行的第一個(gè)字符)XX[i][0]賦給

變量yuan,在第二層for循環(huán)中,循環(huán)變量j從0開始,依次遞增直到

其值等于該行字符串的長(zhǎng)度減1,在循環(huán)體中,將字符xx[i][j]的ASCH

碼值與字符)XX[i][j+l]的ASCII碼值相加的和保存到字符)中。當(dāng)

退出第二層for循環(huán)后,把第i行的最后一個(gè)字符與第一個(gè)字符變量yuan

的值相加,最后通過(guò)strreV函數(shù)對(duì)i行字符串逆序排序。

\n【參考答案】

\n

\n

34.\n[審題關(guān)鍵句】計(jì)算金額,按金額從小到大進(jìn)行排列,相同的則按

產(chǎn)品代碼從小到大排列,結(jié)果存入結(jié)構(gòu)數(shù)組。

\n【解題思路】

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

求有所不同,參考答案的第8行進(jìn)行修改即可。

\n【參考答案】

\n

\n

35.\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開始,依次遞增直到其值等于

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開始,依次遞過(guò)來(lái)增直到其值等于(p-1),在第三層

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

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

啪的ASCII碼值小于xx[i][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開始直到字符串xx[i]的結(jié)尾的子字

符拷貝到字符串變量str中,再調(diào)用字符串連接函數(shù)stmca

溫馨提示

  • 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)論