2021年江西省萍鄉(xiāng)市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第1頁
2021年江西省萍鄉(xiāng)市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第2頁
2021年江西省萍鄉(xiāng)市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第3頁
2021年江西省萍鄉(xiāng)市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第4頁
2021年江西省萍鄉(xiāng)市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2021年江西省萍鄉(xiāng)市全國計(jì)算機(jī)等級考試

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

學(xué)校:班級:姓名:考號:

一、1.選擇題(10題)

i.在多道批處理系統(tǒng)中,為充分利用各種資源,運(yùn)行的程序應(yīng)具備的條

件是()。

A.適應(yīng)于內(nèi)存分配的B.計(jì)算量大的C.I/O量大的D.計(jì)算型和I/O型均

衡的

2.在數(shù)據(jù)庫應(yīng)用中,一般一個(gè)SQL語句可產(chǎn)生或處理一組記錄,而數(shù)

據(jù)庫主語言語句一般一次只能處理一個(gè)記錄,其協(xié)調(diào)可通過下列哪種技

術(shù)來實(shí)現(xiàn)?

A.指針B.游標(biāo)C.數(shù)組D.棧

3.若系統(tǒng)在運(yùn)行過程中,由于某種硬件故障,使存儲(chǔ)在外存上的數(shù)據(jù)部

分損失或全部損失,這種情況稱為

A.事務(wù)故障B.系統(tǒng)故障C.介質(zhì)故障D.運(yùn)行故障

4.用關(guān)系的運(yùn)算來表達(dá)查詢要求的方式是

A.關(guān)系演算B.關(guān)系代數(shù)C.關(guān)系邏輯D.關(guān)系查詢

5.在多道程序系統(tǒng)中,每組進(jìn)程中的每一個(gè)進(jìn)程均無限期地等待被該組

進(jìn)程中的另一個(gè)進(jìn)程所占有且永遠(yuǎn)不會(huì)釋放的資源,這種現(xiàn)象稱為

A.獨(dú)占B.等待C.睡眠D.死鎖

6.SQL的數(shù)據(jù)定義功能包括

A.定義表B.定義視圖C.定義索引D.以上都包括

7.SQL語言定義完整性約束條件的功能主要體現(xiàn)在()。

A.CreateTable語句B.AlterTable語句C.A和BD.以上都不是

8.數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)共享是指

A.多個(gè)用戶共享一個(gè)數(shù)據(jù)文件中的數(shù)據(jù)

B.多個(gè)用戶使用同一種語言共享數(shù)據(jù)

C.多個(gè)應(yīng)用、多種語言、多個(gè)用戶共享數(shù)據(jù)

D.同一個(gè)應(yīng)用的多個(gè)程序共享數(shù)據(jù)

9.唯一標(biāo)識(shí)實(shí)體的屬性集稱為

A.域B.碼C.聯(lián)系D.主屬性

10.如果兩個(gè)實(shí)體之間的聯(lián)系是M:N,則實(shí)現(xiàn)1:M聯(lián)系的方法是

A.將兩個(gè)實(shí)體轉(zhuǎn)換成一個(gè)關(guān)系

B.將兩個(gè)實(shí)體轉(zhuǎn)換的關(guān)系中,分別加入另一個(gè)關(guān)系的主碼

C.將“1”端實(shí)體轉(zhuǎn)換的關(guān)系的主碼,放入“M”端實(shí)體轉(zhuǎn)換的關(guān)系中

D.將“M”端實(shí)體轉(zhuǎn)換的關(guān)系的主碼,放入“1”端實(shí)體轉(zhuǎn)換的關(guān)系中

二、填空題(10題)

11.【】包括類型、取值范圍、取值單位的沖突

12.數(shù)據(jù)元素是數(shù)據(jù)的基本單位,它在計(jì)算機(jī)存儲(chǔ)器中的映像是」

數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小單位,它在計(jì)算機(jī)存儲(chǔ)器上的映像是」JL

13.描述通信系統(tǒng)的基本技術(shù)參數(shù)是數(shù)據(jù)傳輸速率和。

14.

由于視圖是虛表,因此對視圖的修改,最終要轉(zhuǎn)換為對【】的修改。

15.使用PowerDesigner的DataArchitect可以對數(shù)據(jù)庫生成物理數(shù)據(jù)模

型(PDM),這種功能通常稱為【】。

16.廣義表和線性表的區(qū)別在于:線性表的成分都是結(jié)構(gòu)上不可分的單元素,而廣義表的成

分既可以是單元素,又可以是有結(jié)構(gòu)的口

17.計(jì)算機(jī)指令系統(tǒng)中主要有三類指令,分別是」L算術(shù)邏輯類和判定控制類等指令

18.數(shù)據(jù)庫功能可以分為兩部分前端和后端。前端與后端之間通過【】

或應(yīng)用程序來接口。

19.組播路由協(xié)議分為組播路由協(xié)議和域間組播路由協(xié)議。

20.客戶程序訪問DBMS的常用標(biāo)準(zhǔn)一般有兩個(gè):一個(gè)稱為開放數(shù)據(jù)庫

互連【】標(biāo)準(zhǔn);另一個(gè)是面向Java程序語言的相關(guān)標(biāo)準(zhǔn),稱為“1。

三、單選題(10題)

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

A.A.ProcessAnalyst

B.DataArchitect

C.Viewer

D.WarehouseArchitecture

22.在SQLServer2008中,設(shè)有商品表(商品號,商品名,生產(chǎn)日期,單

價(jià),類別)。現(xiàn)經(jīng)常需要執(zhí)行下列查詢:SELECT商品號,商品名,

單價(jià)FROM商品表WHERE類別IN(,食品7家電,)

ORDERBY商品號現(xiàn)需要在商品表上建立合適的索引來提高該

查詢的執(zhí)行效率。下列建立索引的語句,最合適的是()o

A.CREATEINDEXIdxlON商品表(類別)

B.CREATEINDEXIdxlON商品表(商品號,商品名,單價(jià))

C.CREATEINDEXIdxlON商品表(類別,商品號,INCLUDE(商品名,單

價(jià))

D.CREATEINDEXIdxlON商品表(商品號,INCLUDE(商品名,單

價(jià),WHERE類別='食品'OR類別='家電’

23.在需求分析階段中,業(yè)務(wù)流程的分析結(jié)果一般用()

A.E-R圖表示B.程序流程圖表示C.數(shù)據(jù)流圖表示D.數(shù)據(jù)結(jié)構(gòu)圖表示

24.邏輯設(shè)計(jì)主要是把概念模式轉(zhuǎn)換成()

A.DBMS能處理的模式B.與DBMS無關(guān)的模式C.層次結(jié)構(gòu)模型D.子

模式

25.下述哪個(gè)成立時(shí),稱X-Y為平凡的函數(shù)依賴?

A.XYB.YXC.XAY=D.XC1Y#

26.收縮整個(gè)數(shù)據(jù)庫的大小,可以采用下列語句:()

A.DBCCSHRINKDATABASE

B.DBCCSHRINKFILE

C.ALTERDATABASE

D.CREATESCHEMA

27.影響優(yōu)化器的主要因素有:

A.由于現(xiàn)有索引不足,導(dǎo)致排序索引中不包括一個(gè)或幾個(gè)待排序的列。

B.Groupby和orderby子句中列的次序與索引次序一致。排列的列來自

不同的表。

C.建立的索引文件太多。

D.事務(wù)處理太多

28.已經(jīng)獲得除CPU以外的所有所需資源的進(jìn)程處于()狀態(tài)。

A.運(yùn)行狀態(tài)B.就緒狀態(tài)C.自由狀態(tài)D.阻塞狀態(tài)

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

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

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

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

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

30.用直接插入排序方法對下面四個(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語言程序設(shè)計(jì)題(10題)

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

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

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

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

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

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

例如,7153.7*!-5+3.剜該數(shù)滿足條竹存入數(shù)州b中.旦個(gè)數(shù)cntynwl.

8129.8,1!=2+9,剜該數(shù)不滿足條件忽略.

由Ri部分源程序存在teste文件中.

程序中已定義散組:1(300],b(3OO].巳定義堂?,ent

請勿改動(dòng)數(shù)據(jù)文科nda1中的仟何數(shù)據(jù).I函數(shù)main().讀函數(shù)rcadDal。和寫函數(shù)wnteDitO的內(nèi)容,

1■include<stdio.h>

2inta[3001fb(300]fent-0;

3voidreadDat();

4voidwriteDat();

5jsValoe(>

6

7

8

9mainO

10(

11int1;

12readDat();

13jsValue();

14writeDat0;

15printf(*,cnt=%d\nw,ent);

16for(i?0;i<ent;U)

17printfLb【"d|7d\n”.L

18)

19voidreadDat()

20I

21FILE?fp;

22;inti;

23!fp-fopen(win.datn,Rrw);

24;for(1?0;i<300;

25-fscanf(fp,Fd.",Sail});

26!fclose(fp);

27;)

voidwriteDat()

29j(

30-FILE*fp;

31!int1;

32ifp=fopen(*out.datw,"w");

33:

fprintf(fpr7d\n",ent);

34?for(i?0;i<ent;i**)

35;fprintf(fp,fd\n?.b(i]);

36?:fclose(fp);

31??

32.

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

組XX中,請編制函數(shù)ConvertCharD,其函數(shù)的功能是:以行為單位把

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

則改寫成字母z,其他字符保持不變。把已處理的字符串仍按行重新存

入字符串?dāng)?shù)組xx中。最后main函數(shù)調(diào)用函數(shù)WriteDat把結(jié)果xx輸出

到文件out.dat中。例:原文:Adb.Bcdza

abck.LLhj結(jié)果:Aca.Bbcyzzabj.LLgi原始數(shù)據(jù)文件存放的格式是:

每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號和空格。

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

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

1;Iinclude<stdio.h>

2?fincludG<string.h>

3;charxx[50)(80];

intmaxiIne?0;/?文審的總行ft?/

intReadDat(void);

voidWrlteDat(void);

八以行為?位把字符串中的所有小耳字理改寫及方平出的上f字用,如量型字母M用改寫A?紂卻1(胞字符保持不交?/

7voidConvertCharD(void)

8

9

10

11voidmain”

12I

13if(Re^dDatO)

14[

15printf("數(shù)圖文件in.dat不脆打可\n\007");

16return;

17

18ConvertCharD(>;

19WriteDat();

20)

/?族文介血中&以?英文文?存入剜字村比教幽u中〃

21intReodDat(void)

22(

23FILE*fp;

24int1*0;

25char*p;

26if((fp-fopenLin.dat".-r"))-NULL)

27return1;

28while(fget3(xx[i]r80?fp)!?NULL)

29(

30p-atrcbr(xx(i]9,\n*>;

31if(p)*p-0;

32

33)

34tnaxllne,1;

35fclose(fp);

36return0;

37)

,?七由果u■出*文nOUtM中?,

38voidWriteDat(void)

39(

40FILEafp;

41int1;

42fp-fopen(*out.dat*?-w*);

43for(1?0;i<maxline;

44(

0

45printf("%s\nrxxf1));

46fprintf(fpr"%s\n",xx[i]);

47>

48fcloae(fp);

49

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

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

中依次取出一個(gè)四位數(shù),對每一個(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,而后對數(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ī)定條件。

注意?部分源程序存在處stc文件中.

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

請勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù).主函數(shù)main。、漆由數(shù)readDaH)和寫函數(shù)writcDat()的內(nèi)容.

1!Iinclude<stdio.h>

2ifdefineMAX200

?inta[MAXLb[MAX]/ent■0;

!voidwriteDat();

5ivoidjsVal()

6

7

8

9voidreadDat()〃從文件中灌取200個(gè)四位數(shù)存入畋flla中

10;

n\int1;

12!FILE*fp;

fp-fopen("in.dat**,"rM>

for(i-0;i<MAX;

15ffscanf(fp,7d",&a(i|)

16;fclose<fp);

17!

18jvoidmain()

19;

20inti;

21readDat();

22jsValO;〃*用或效實(shí)現(xiàn)良求的功微

23printf(“清I足條件的數(shù)"d'n".:;nt);

24for(i?0;i<ent;

25print1("%dL

26printf("Kn");

27writeDat();

28:1

29voidwriteDat()〃把計(jì)算結(jié)蹙E以及敏物b中符合條件的四位數(shù)?出到OULdBl文件中

30

31FILEefp;

32inti;

33fp?fopen(Rout.dat**,Hww);

34fprlntf(fp,wid\n",ent);

35for(i?0;i<ent;i++)

n

36fprintf(fpr%d\n"rb[1])

37fclose(fp);

38

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

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

位數(shù)的個(gè)位數(shù)位置上的值減去千位數(shù)位置上的值再減去百位數(shù)位置上

的值最后減去十位數(shù)位置上的值,如果得出的值大于等于零且原四位數(shù)

是偶數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)ent,并把這些四位數(shù)按從小到大

的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b

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

注意:樹分潮腳序存在E.C文件中.

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

請勿改動(dòng)數(shù)據(jù)文件indu中的任何數(shù)據(jù)、主論IRmainO、讀函數(shù)nadDttO和寫屏敷writeDat()的內(nèi)容?

1!?include<stdio.h>

2JIdeflneMAX200

3inta[MAX]tb(MAXI/ent

4voidwriteDat();

voidjsVal()

6

7

8

9voidreadDat()

10(

11inti;

12FILE*fp;

fp?fopen(win.datH?wr"

14for(i-0;i<MAX;i++)

15!fscanf(fp,"*d".Ii]);

16?fclose(fp);

17-}

18voidmain(>

19

20int1;

21readDat0;

22jsVal();

23prlntf(”滿足條件的敢2d\n".

24for(i-0;i<ent;

25printfrQd”,bli)):

26printf(w\nw);

writeDat0;

26

29voidwriteDat

30

31FILE*fp;

32inti;

33fp?fopen("out.datw,;

34fprintf(fp,"Qd\n*cnt>;

35for(1-0;i<ent;

36fprintf(fpr7d\rT,b|il);

37fclose(fp);

38

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

把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)isVai,其功能是:把千位數(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)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b中

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

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

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

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

1!finclude<stdio.h>

2!!defineMAX200

3?intalMAX],b(MAX],ent-0;

4;voidwriteDat();

5;voidjsVal()

6;1

*7;

8;)

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

10;(

11;int£;

12!FILE*fp;

13jfp-fopen(Hin.datw,wr**);

14-ford-0;i<MAX;ii)

15!fscanf(fpr4a(1]);

16;fclose(fp);

17j}

18jvoidmain()

19;(?

20!inti;

21ireadDat();

22;jsValO;〃調(diào)用南數(shù)”v.iu?實(shí)現(xiàn)?II要求的功能

23ipr£ntfL涓足條件的敏7d\n”,ent):

24;for(i-0;i<ent;i—)

25\printf<w%db[i]);

26;printf;

27?writeDat();

28!|

29;voidwriteDat()〃品計(jì)年陋果由以及數(shù)機(jī)b中符合條件的四位數(shù)?出到omdat文件中

30I(

31FILEwfp;

32inti;

33fp?fopen("out.dat*,Www);

34fprintf(fp,ent);

35for(i-0;i<ent;

36fprlntf(fprFd\n”,

37fclose(fp);

38

36.已知在in.dat中存有若干個(gè)(個(gè)數(shù)<200)1四位十進(jìn)制數(shù)字組成的正

整數(shù),函數(shù)ReadDat讀取這若干個(gè)正整數(shù)并存入數(shù)組XX中。請編制函

數(shù)CalValueO,其功能要求:

1,求出該文件中共有多少個(gè)正整數(shù)totNum;

2.求這些正整數(shù)右移1位二進(jìn)制位后,產(chǎn)生的新數(shù)是偶數(shù)的數(shù)的個(gè)數(shù)

totCnt,以及滿足此條件的這些正整數(shù)(右移前的值)的算術(shù)平均值totPjzo

最后main函數(shù)調(diào)用函數(shù)WriteDat把所求的結(jié)果輸出至“out.dat文件

中。

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

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

和輸出函數(shù)WriteDat。的內(nèi)容。

?include<stdio.h>

2IdefineMAXNUM200

3intxxfMAXNUM];

4inttotNum*0;〃文件in.dot中共H多少個(gè)正整數(shù)

5inttotCnt,0;〃將合條件的的個(gè)數(shù)

6doubletotPjz-0?0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmainO

14(

15int1;

16ford-0;1<MAXNUM;

17xx[i)-0;

18If(ReadDat())

19(

20pMlncfrt(據(jù)文件ln.dat不能打開!\007\n");

21return;

22I

23CalValue();

24printf("文件in.dat中共有正整數(shù)7d個(gè)\rT,totNum);

25printf("符合條件的正整數(shù)的個(gè)敢個(gè)、E”,totCnt);

26printf("平均值=、.21f\n”,totPjz);

27;WriteDat();

28

;/?讀取道I?干個(gè)正整數(shù)并存入IMHu中〃

29iintReadDat(void)

?

3。!?

31:FILE-fp;

32?inti-0;

33!if((fp-fopen(-in.dat->-r"))-NULL)

34;return1;//Mm.datXftWifi?1

\/?wbll??1(執(zhí)行.■■文件5.dat的姑題退出?/

35?whiledfeof(fp))

36;I

37;fscanf<fp,"d,”?〃從文件存入xx(外仇

38iI

39;fclose(fp>;

40:return0;〃1E文件an.st若干個(gè)壬”?取井正?棕人“tttu中總為0

41;)

;/??!計(jì)算的整存入攵件out.ut中?/

42?voidWriteDat(void)

43j(

44;FILE-fp;

w

45[fp-fopen("out.dAt-r*w);

w

46-tprlntf(fpr*%<i\n%d\nt.2Il\n,totNum,totCnt,totPjx);

47:fclose(fp);

48;)

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

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

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

再求出所有滿足此條件的四位數(shù)平均值pjzl,以及所有不滿足此條件的

四位數(shù)平均值pjz2o最后main函數(shù)調(diào)用寫函數(shù)writeDat把結(jié)果ent,

pjzl,pjz2輸出到out.dat文件。

例如:7153.7+1-S+3,則該數(shù)淌足條件計(jì)■平均值討zL且個(gè)數(shù)

8129.8+1!-2-^.則談數(shù)不橘足條件計(jì)算平均值pjz2.

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

程序中已定義數(shù)俎??(300].已定義交量rent.Rjzl.pjz2

請勿改動(dòng)數(shù)據(jù)文件ndM中的任何敢據(jù).主喻就maEO、點(diǎn)嚼數(shù)readDUG和。南數(shù)writeDW)的內(nèi)容.

1■finclude<stdlo.h>

inta[300}tcnt-0;

3doublepoxl-0.0,pjz2?0.0;

4voidreadDatO;

5voidwriteDat();

6voidjsVAluo()

7

B

9

10voidmain()

12readD&t();

13jsValueO;

14writeDat();

15printf("cnf%d\n滿足條件的平均值p2jl-17.21f\n不脩足條件的平均值pzj2-i7.21f\n",

cnt,pjxl,pjz2);

16

17voidreadDat()

18

19FILE*fp;

20inti;

21fp-fopen(Rin.datM,RrM);

22for(i*0;i<300;i*+)

23fscanf(fp,7d/,(a[i]);

24fclose(fp);

25

26voidwriteDat()

27

28FILE,fp;

29fp-fopen(**out.dat",Mww);

30n

fprintf(fp,,,%d\n%7,21f\n%7.21f\n,ent.pjzltpjz2);

31!fclose(fp);

38.在文件in.dat中存有若干個(gè)(個(gè)數(shù)<200)四位數(shù)字的正整數(shù),函數(shù)

ReadDat讀取這若干個(gè)正整數(shù)并存入數(shù)組XX中。請編制函數(shù)CalValue,

其功能要求:1.求出該文件中共有多少個(gè)正整數(shù)totNum;2.求出這些

正整數(shù)中的各位數(shù)字之和是偶數(shù)的數(shù)的個(gè)數(shù)totCnt,以及滿足此條件的

這些正整數(shù)的算術(shù)平均值totPjzo最后main函數(shù)調(diào)用函數(shù)WriteDat把

所求的結(jié)果輸出到Out.dat文件中。

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

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

和輸出函數(shù)WriteDat的內(nèi)容。

linclude<stdlo?h>

?defineMAXNUM200

3intxx[MAXNUM];

4inttotNum-0;〃文仆2n.st中共有多少個(gè)正整數(shù)

5inttotCnt-0;〃部條件的正事數(shù)的個(gè)數(shù)

6doubletotPjz-0.0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain0

14(

15inti;

16ford-0;i<MAXNUM;f)

17xx(i)?0;

18if(ReadDatO)

19

20據(jù)文件in.dat不能打開!\007\nw);

21return;

22

23CalValue();

24printf("文件in.dat中共有正整數(shù)個(gè)\n**.totNum);

25prictf("符合條件的正核數(shù)的個(gè)數(shù)7d個(gè)\n”.totCnt);

26printfL平均(8?*.21f\n",totPjz);

27WriteDat();

28?

“讀取這若干個(gè)正鱉數(shù)并存入數(shù)fli*x中”

29intReadDat(void)

30(

31FILE*fp;

32inti?0;

HwwM

33if((fp-fopen("in.datrr))NULL)

34return1;

35while(!feof(fp))

36(

37fscanf(fp#

381

39fclose<fp);

40return0;

41}

/?忙計(jì)算蠟里存入文件。仇?&匕中?/

42voidWrlteDat(void)

43!{

44FILE*fp;

4Sfp-fopen("out.dat",

46fprlntf(fp/"%d\nid\nt.21f\n*rtotNumrtotCnt/totPjz);

47fclose(fp);

48

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

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

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

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

替代關(guān)系:)=p*17moe1256,mod為取余運(yùn)算,p是數(shù)組)xx中某一個(gè)字

符的ASCII值,f(p)是計(jì)算后的無符號整型值C主意:中間變量定義成整

型變量),如果計(jì)算后f(p)值小于等于32或f(p)是奇數(shù)時(shí),則該字符不

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

注意,部分源程序存放在teste文件中,原始數(shù)據(jù)文件#放的格式笫,每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)杼號卿?

格.井也按此替代關(guān)系進(jìn)行處理.

請勿改動(dòng)主函數(shù)mainO、讀函數(shù)ReMDttON?出的敷WmeDstO的內(nèi)亂

1!!include<9tdlo.h>

2?tinclude<strlng.h>

3J?include<ctype.h>.

4?unsignedcMrxx(50)(80);

5;intmaxUne-0;/?文拿的總打鼓?/

6!intRcadDat(void)i

7ivoidWriteDat(void);

8;voidencryptChar()

9!I

10;unsignedIntval;

11

12

13voidmam()

14(

15if(ReadDatO)

16(

17printf(“jft據(jù)文件in.dat不能打開!\n\007");

18return;

19?

20encryptChar();

21WriteDat();

)

22,?從文件H&t中依取一■英文文拿,存入到無符號?料申融如M中?/

23intReadDat(void)

24?

25FILE*fp;

26int1?0;

27unsignedcharwp;

w

28if((fp-fopen(-in.dafr-r))—NULL)

29return1;

30while(fgets(xx[i]<80,fp)!■NULL)

31(

32p-strchr(xx(i),1\n*);

33if(p)ap■0;

34

35)

36maxline-1;

37fclose(fp);

38return0;

)

39/?把站果xx?出到文件outdat中?/

40voidWriteDat(void)

41(

42FILEwfp;

43int1;

44fp■fopen("out.dat"r"D;

45for(i-0;1<maxline;

46

47princf(7s\n**.xx[i]);

48fprintf(fp,**mxx(i]);

49)

50fclose(fp);

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

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

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

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

制函數(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)賦值語句進(jìn)行解

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

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

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

Iinclude<stdio.h>

?include〈string.h>

3?include<stdlib.h>

44defineMAX100

5typedefstruct

6

7chardm(S];/?產(chǎn)叢代碼?/

8charme[11];/?產(chǎn)品名*?/

9incdj;/??價(jià)?/

10intsi;/??/

11longje;/?金??/

12)PRO;

13PROsell[MAX];

14voidReadDat();

15voidWriteDat();

16voidSortDat()

17

18

19

20voidiMln()

21(

22megsWL。,slzeof(sell));

23ReadDat();

24SortDat():

25WritoDatO;

26j

“域取運(yùn)100個(gè)仍偽記采并存人然符數(shù)州tdl中”

27voidReadDat()

28(

29FILE?fpj

30charstr(80]9ch(11);

31intLi

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

33for(i?0;1<100;I1)

34(

35fgets(atr,80,tp);

36memcpy(sellfl|.dwrstr*4”

n>erocpy<sellfl].mc9str?4.10);

38memcpy(ch,3tr*14,4);ch(4]-0;

39sell[1j.dj,Atoi(ch);

40memcpy(ch,3tr??18,5);ch[5]?0:

41sellfl]?sl■atol(ch);

42sellti).je-(long)sell(1).dj?sell[1].31;

43

44£close(fp);

45

/?措德■■出f(文件ouUat中?/

46voidWriteDat(>

47(

48FILE,fp;

49int1;

50fp■fopen(*out.dat",*wH);

51ford?0;1<100;144)

52(

53fprintf(fp,"%s%sMd%5d%101d\n*sellH).dm,

raell(i|.me.seillll.djfsell[11.si.

sell|ij?jo):

54I

55fcloao(fp);

56

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

41.設(shè)在采用SQLServer2008數(shù)據(jù)庫的圖書館應(yīng)用系統(tǒng)中有三個(gè)基本表,

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

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

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

借書日期12011106T0010012012.01,0212012113

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

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

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

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

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

42.已知某教務(wù)管理系統(tǒng)的設(shè)計(jì)人員在需求分析階段收集到下列原始數(shù)

據(jù)表格:

教師

上級領(lǐng)導(dǎo)教師

教師號教師名職稱工資

9868王文華教授8000null

9983李一斌副教授60009868

9985T-講師刪9868

0783王潤澤講師刪9868

0899歐陽丹妮講師刪9868

課程

課程號課程名學(xué)分教材號教材名出版社名任課教師號

計(jì)算機(jī)原清華大學(xué)出

C2006311計(jì)算機(jī)原理9868

理版社

計(jì)算機(jī)原計(jì)算機(jī)原理與高等教育出

C20063129868

理應(yīng)用版社

清華大學(xué)出

C2004數(shù)據(jù)結(jié)構(gòu)313數(shù)據(jù)結(jié)構(gòu)9868

版社

數(shù)據(jù)庫原清華大學(xué)出

C2010314數(shù)據(jù)庫原理9868

理版社

數(shù)據(jù)庫原數(shù)據(jù)庫原理與高等教育出

C20103159868

理技術(shù)版社

清華大學(xué)出

S3001音樂欣賞216音樂欣賞9983

版社

已知該業(yè)務(wù)系統(tǒng)存在如下規(guī)則:

I.每個(gè)教師有唯一的教師號,每個(gè)教師號對應(yīng)唯一的一名教師;

II.每門課程有唯一的課程號,每個(gè)課程號對應(yīng)唯一的一門課程;

III.每本教材有唯一的教材號,每個(gè)教材號對應(yīng)唯一的一本教材;

IV.每個(gè)教師最多只有一個(gè)上級領(lǐng)導(dǎo),也可以沒有上級領(lǐng)導(dǎo);

V.一門課程僅由一名教師講授;

VI.一本教材僅用于一門課程。(12分)

(1)請根據(jù)原始數(shù)據(jù)表及業(yè)務(wù)規(guī)則,給出該系統(tǒng)的關(guān)系模式,保證每個(gè)

關(guān)系模式滿足3NF,并說明每個(gè)關(guān)系模式的主碼和外碼。

(2)畫出該系統(tǒng)的ER圖,ER圖中需給出每個(gè)實(shí)體集的屬性,主碼屬性

用下劃線標(biāo)識(shí)。

六、單選題[1分](2題)

43.在數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)中,如果在事務(wù)中存在和用戶的長時(shí)問交互,

它會(huì)帶來哪些壞處()。I.降低系統(tǒng)的并發(fā)度n.增加死鎖的數(shù)量

III.破壞數(shù)據(jù)的一致性IV.影響檢查點(diǎn)的效果

A.僅I、n和niB.僅I、n和wc.僅I、in和wD.僅n、in和w

44.DBAS需求分析階段的性能分析是分析DBAS應(yīng)具有的性能指標(biāo)。

下列不屬于DBAS性能指標(biāo)的是()。

A.數(shù)據(jù)庫空間占用情況B.數(shù)據(jù)查詢響應(yīng)時(shí)間C.單位時(shí)間內(nèi)可以完成

的查詢數(shù)量D.單位時(shí)間內(nèi)可以完成的事務(wù)數(shù)量

參考答案

1.D解析:在多道批處理系統(tǒng)中,運(yùn)行的程序應(yīng)具備計(jì)算型與I/O型均

衡這一條件,才能充分利用各種資源。

2.B解析在數(shù)據(jù)庫應(yīng)用中,一般一個(gè)SQL語句可產(chǎn)生或處理一組記錄,

而數(shù)據(jù)庫主語言語句一般一次只能處理一個(gè)記錄,其協(xié)調(diào)可通過游標(biāo)技

術(shù)來實(shí)現(xiàn)。

3.C解析:故障有如下類型:事務(wù)故障、系統(tǒng)故障和磁盤故障,其中磁

盤故障是指數(shù)據(jù)在傳送過程中,因磁頭損壞或故障造成磁盤塊上的內(nèi)容

丟失。

4.B解析:關(guān)系代數(shù)是用關(guān)系的運(yùn)算來表達(dá)查詢要求的方式。關(guān)系演算

是用謂詞來表達(dá)查詢要求的方式。掌握關(guān)系代數(shù)和關(guān)系演算之間的聯(lián)系

與區(qū)別。

5.D解析:在多道程序系統(tǒng)中,每組進(jìn)程中的每一個(gè)進(jìn)程均無限期地等

待被該組進(jìn)程中的另一個(gè)進(jìn)程所占有且永遠(yuǎn)不會(huì)釋放的資源,這種現(xiàn)象

稱為系統(tǒng)處于死鎖狀態(tài)。掌握如何解除死鎖,以及睡眠、等待、獨(dú)占的

概念。

6.D解析:關(guān)系數(shù)據(jù)庫系統(tǒng)支持三級模式結(jié)構(gòu),其模式、外模式和內(nèi)模

式中的基本對象有表、視圖和索引,因此,SQL語言的數(shù)據(jù)定義功能包

括定義表、定義視圖和定義索引。

7.C

8C解析:共享是指多用戶、多種應(yīng)用、多種語言互相覆蓋地共享數(shù)據(jù)

集合,所有用戶可同時(shí)存取數(shù)據(jù)庫中的數(shù)據(jù)。數(shù)據(jù)庫是面向整個(gè)系統(tǒng)的,

以最優(yōu)的方式服務(wù)于一個(gè)或多個(gè)應(yīng)用程序(用戶),實(shí)現(xiàn)數(shù)據(jù)共享。

9.B解析:唯一標(biāo)識(shí)實(shí)體的屬性集稱為碼。

10.C解析:如果兩個(gè)實(shí)體之間的聯(lián)系是M:N,則實(shí)現(xiàn)1:M聯(lián)系的方法,

將“1”端實(shí)體轉(zhuǎn)換的關(guān)系的主碼,放入“M”端實(shí)體轉(zhuǎn)換的關(guān)系中。

11.屬性沖突當(dāng)將局部E-R圖集成為全局E-R圖時(shí),可能存在3種沖突:

屬性沖突,結(jié)構(gòu)沖突,命名沖突。屬性沖突包括類型,取值范圍和取值

單位的沖突

12.結(jié)點(diǎn)數(shù)據(jù)域數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)中的表示(又稱映像)稱為數(shù)據(jù)的物理結(jié)

構(gòu),又稱存儲(chǔ)結(jié)構(gòu)。所以數(shù)據(jù)元素在計(jì)算機(jī)中的表示時(shí)結(jié)點(diǎn),數(shù)據(jù)項(xiàng)在

計(jì)算機(jī)中的表示時(shí)數(shù)據(jù)域。

13.誤碼率【解析】描述通信系統(tǒng)的基本技術(shù)參數(shù)是數(shù)據(jù)傳輸速率和誤

碼率。

14.基本表或表通過視圖修改數(shù)據(jù)包括插入,刪除和修改三類操作,由于

視圖是虛表,因此對視圖的更新,最終要轉(zhuǎn)換為對基本表的更新。

15.逆向工程逆向工程解析:PowerDesignerDataArchitect用于兩層的即

概念層和物理層數(shù)據(jù)庫設(shè)計(jì)和數(shù)據(jù)庫構(gòu)造。DataArchitect提供概念數(shù)據(jù)

模型設(shè)計(jì),自動(dòng)的物理數(shù)據(jù)模型生成,針對多種數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)庫

生成,開發(fā)工具的支持和高質(zhì)量的文檔特性。使用其逆向工程能力,設(shè)

計(jì)人員可以得到一個(gè)數(shù)據(jù)庫結(jié)構(gòu)的“藍(lán)圖”可用于文檔和維護(hù)數(shù)據(jù)或移

植到一個(gè)不同的DBMSO

16.表線性表的元素都是結(jié)構(gòu)上不可分的單元素,廣義表中元素既可以是

原子類型,也可以是列表

17.數(shù)據(jù)傳送類計(jì)算機(jī)指令系統(tǒng)分為傳輸類,算術(shù)邏輯類,控制類三種指

18.SQLSQL解析:數(shù)據(jù)庫功能可以分為兩部分:前端和后端。前端與后

端之間通過SQL或應(yīng)用程序來接口。

19.域內(nèi)【解析】組播協(xié)議分為主機(jī)和路由器之間的協(xié)議,即組播組管

理協(xié)議以及路由器和路由器之間的協(xié)議。目前,組管理協(xié)議包括hxtemet

組管理協(xié)議IGMP和CiscO專用的組管理協(xié)議CGMP,組播路由協(xié)議又

分為域內(nèi)組播路由協(xié)議和域間組播路由協(xié)議兩類。

20.

ODBC

JDBC

開放數(shù)據(jù)庫互連(ODBC)是MICROSOFT提出的數(shù)據(jù)庫訪問接口標(biāo)準(zhǔn)。

開放數(shù)據(jù)庫互連定義了訪問數(shù)據(jù)庫的API一個(gè)規(guī)范,這些API獨(dú)立于

不同廠商的DBMS,也獨(dú)立于具體的編程語言。JDBC(JavaDataBase

Connectivityjava數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的JavaAPI,

可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類

和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)

此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純JavaAPI

編寫數(shù)據(jù)庫應(yīng)用程序

21.B

【答案】B

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

訪問的只讀模塊。

22.D

23.C

24.A

25.B解析:當(dāng)YX時(shí),稱X-Y為平凡的函數(shù)依賴。

26.A

27.A

28.B

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

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

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

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

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

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

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

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

于本題來說,A中i可以取1,B中i可以取2,C中i可以取3,D中i

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

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

此條件的四位數(shù)依次存入數(shù)組,然后對數(shù)組

溫馨提示

  • 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)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論