2021年陜西省銅川市全國計算機等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第1頁
2021年陜西省銅川市全國計算機等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第2頁
2021年陜西省銅川市全國計算機等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第3頁
2021年陜西省銅川市全國計算機等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第4頁
2021年陜西省銅川市全國計算機等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021年陜西省銅川市全國計算機等級考試

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

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

一、1.選擇題(10題)

1.下列關(guān)于碼的敘述中,正確的是

A.在一個關(guān)系中,不可能存在兩個不同的元組在碼屬性上取值相同

B.屬性是一個元組區(qū)別于其他元組的依據(jù)

C.在一個關(guān)系中,可能存在碼或碼的一部分為空值的元組

D.碼不是一個元組賴以存在的條件

2.如果有多個中斷同時發(fā)生,系統(tǒng)將根據(jù)中斷優(yōu)先級響應(yīng)優(yōu)先級最高的

中斷請求。若要調(diào)整中斷事件的響應(yīng)次序,可以利用下列哪一項?

A.中斷嵌套B.中斷響應(yīng)C.中斷向量D.中斷屏蔽

3.下面有關(guān)客戶機/服務(wù)器模式的說法不正確的是

A.客戶和服務(wù)器之間是一對多的關(guān)系,Client/Server軟件應(yīng)向客戶提供

服務(wù)器位置透明性服務(wù)。

B.客戶機/服務(wù)器數(shù)據(jù)庫系統(tǒng)又可分為集中式的服務(wù)器結(jié)構(gòu)和分布式的

服務(wù)器結(jié)構(gòu)

C.這種結(jié)構(gòu)中系統(tǒng)數(shù)據(jù)的安全性能增強

D.客戶和服務(wù)器之間所交換的數(shù)據(jù)信息包括:SQL語句、查詢結(jié)果集合

以及錯誤消息

4.下列關(guān)于進程間通信的敘述中,不正確的是()。

A.進程互斥是指每次只允許一個進程使用臨界資源

B.進程控制是通過原語實現(xiàn)的

C.P、V操作是一種進程同步機制

D.管道不是一種進程高級通信機制

5.如果有多個中斷同時發(fā)生,系統(tǒng)將根據(jù)中斷優(yōu)先級響應(yīng)優(yōu)先級最高的

中斷請求。若要調(diào)整中斷事件的響應(yīng)次序,可以利用

A.中斷向量B.中斷嵌套C.中斷響應(yīng)D.中斷屏蔽

6.在關(guān)系代數(shù)中,自然連接的運算符號為o

A.nB.xC.oD.oo

7.在下列解決死鎖的方法中,屬于死鎖預(yù)防策略的是

A.資源有序分配法B.資源分配圖化簡法C.死鎖檢測算法D.銀行家算

8.下列敘述正確的是

A.運行狀態(tài)是指進程已獲得CPU,并且在CPU上執(zhí)行的狀態(tài)

B.等待狀態(tài)是指一個進程已經(jīng)具備運行條件,但沒有獲得CPU不能運

行所處的狀態(tài)

C.就緒狀態(tài)也稱作阻塞狀態(tài)是指進程因某種原因暫時不能運行的狀態(tài)

D.處于等待狀態(tài)的進程一旦獲得CPU,該進程就可以運行

9.下述哪一個數(shù)據(jù)庫系統(tǒng)屬于第一代數(shù)據(jù)庫系統(tǒng)?

A.SybaseB.IngressC.IMSD.ObjectStore

10.在所有的關(guān)系數(shù)據(jù)庫上的操作是核心,是其他操作的前提。

A.插AB.刪除C.修改D.查詢

二、填空題(10題)

1L在口數(shù)據(jù)報分片后,通常用負(fù)責(zé)數(shù)據(jù)報的重組。

12.Blowfish算法由兩部分組成:密鑰擴展和。

13.設(shè)根結(jié)點的層次為0,則高度為k的完全二叉樹的最小結(jié)點數(shù)為

14.電子郵件程序向郵件服務(wù)器發(fā)送郵件時,使用的協(xié)議是

15.關(guān)系的數(shù)據(jù)操縱語言按照表達式查詢方式可分為兩大類_口_和[]

16.在數(shù)據(jù)庫設(shè)計的各階段中,每個階段都有自己的設(shè)計內(nèi)容,“為哪些

表,在哪些屬性上建立什么樣的索弓『這一設(shè)計內(nèi)容應(yīng)該屬于[】階段。

17.數(shù)據(jù)管理經(jīng)過了人工管理、文件系統(tǒng)和【】3個發(fā)展階段。

18.一個路由器的兩個IP地址為和,其路由表如下所示。

當(dāng)收到源IP地址為40.0.0.8,目的IP地址為的數(shù)據(jù)報時,它將

把此數(shù)據(jù)報投遞到(要求寫出具體的IP地址)

-------------------------------

要到達的網(wǎng)絡(luò),下一路由器

20.0.0.0直接投遞

30.0.0.0ft接投遞

20.0.0.5

40.0.0.030.0.0.7

19.從被管理設(shè)備中收集數(shù)據(jù)有兩種方法:輪詢法和基于中斷法,將兩者

結(jié)合起來的(Trap—directedPolling)是執(zhí)行網(wǎng)絡(luò)管理最有效

的方法。

20.在實際應(yīng)用中,分組交換技術(shù)可以分為兩類:數(shù)據(jù)報與

三、單選題(10題)

21.邏輯文件存放在存儲介質(zhì)上時,采用的組織形式是與什么有關(guān)?

A.邏輯文件結(jié)構(gòu)B.存儲介質(zhì)特性C.主存儲器管理方式D.分配外設(shè)方

22.SQL語言的GRANT和REVOKE語句主要用來維護數(shù)據(jù)庫的

()。

A.安全性B.完整性C.可靠性D.一致性

23.在數(shù)據(jù)庫設(shè)計的()階段,產(chǎn)生DBMS可以接受的源代碼。

A.概念設(shè)計B.邏輯設(shè)計C.物理設(shè)計D.實現(xiàn)

24.在對全局E-R模型進行優(yōu)化時,通常利用規(guī)范化理論中的()概念消

除冗余關(guān)系。

A.無損聯(lián)接B.函數(shù)依賴C.范式D.邏輯蘊涵

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

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

模式

26.下列關(guān)于數(shù)據(jù)的邏輯結(jié)構(gòu)的敘述中,哪一個是正確的?()。

A.數(shù)據(jù)的邏輯結(jié)構(gòu)是數(shù)據(jù)間關(guān)系的描述

B.數(shù)據(jù)的邏輯結(jié)構(gòu)反映了數(shù)據(jù)在計算機中的存儲方式

C.數(shù)據(jù)的邏輯結(jié)構(gòu)分為順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu)

D.數(shù)據(jù)的邏輯結(jié)構(gòu)分為靜態(tài)結(jié)構(gòu)和動態(tài)結(jié)構(gòu)

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

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

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

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

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

不同的表。

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

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

29.有兩個實體集,并且它們之間存在著一個M:N聯(lián)系,根據(jù)概念ER

模型轉(zhuǎn)換成關(guān)系數(shù)據(jù)庫的規(guī)則,這個ER結(jié)構(gòu)轉(zhuǎn)換成表的個數(shù)為()

A.lB.2C.3D.4

30.下列不是TCP/IP參考模型中的應(yīng)用層協(xié)議()。

A.A.電子郵件協(xié)議SMTPB.網(wǎng)絡(luò)文件系統(tǒng)NFSC.簡單網(wǎng)絡(luò)管理協(xié)議

SNMPD.文件傳輸協(xié)議FTP

四、C語言程序設(shè)計題(10題)

31.設(shè)有n個人圍坐一圈并按順時針方向從1到n編號,從第s個人開

始進行1到m的報數(shù),報數(shù)到第m個人,此人出圈,再從他的下一個

人重新開始1到m的報數(shù),如此進行下去直到所有的人都出圈為止?,F(xiàn)

要求按出圈次序,每10人一組,給出這n個人的順序表。請考生編寫

函數(shù)Josegh(void)實現(xiàn)此功能,并調(diào)用函數(shù)writeDat,把結(jié)果P輸出到文

件out.dat中0

設(shè)n=100,s=l,m=10o

①將1到n個人的序號存入一維數(shù)組P中;

②若第i個人報數(shù)后出圈,則將p1]置于數(shù)組的倒數(shù)第i個位置上,而原

來第i+1個至倒數(shù)第i個元素依次向前移動一個位置;

③重復(fù)第②步直至圈中只剩下p[l]為止。

注意:部分源程序已經(jīng)給出。

請勿改動主函數(shù)main和輸出數(shù)據(jù)函數(shù)writeDAT的內(nèi)容。

1!Iinclude<stdio.h>

2-IdefineN100

3j*defineS1

4;*defineM10

5!intp[100]9nrs.m;

6ivoidWriteDat(void);

7!voidJosegh(void)

6;J

9;

10j)

11;voidmain()

12J(

13;m?M;

14!n-N;

ISismS;

161Josegh();

17iWriteDat();

18-}

!/?把姑塞p?出到文件ouuto中?/

19;voidWriteDat(void)

211int1;

22jFILE*fp;

23>fp?fopen("out.dat*,Rw");

;八以史修的方式,以1。個觸媒為一閭把IHfip【川■出到屏幕相文件outdai中?/

24?for;i>?0;i-T

25;(

26!printf("%4d",p(i});

27;fprintf(fp,"Md”,p(i]);

if(i%10-0)〃如果i?被10■除.剜■出一個回車換行符

29?(

30;printf("\nM);

31!fprintf(fp>"\n");

32;}

33!

)

34\

fclose(fp);

35}

32.

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

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

字符串中的所有小寫字母改寫成該字母的上一個字母,如果是字母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個字符,含標(biāo)點符號和空格。

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

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

2}tinclude<string.h>

4?Intmaxline-0;/?文聿的總行敷?/

5?intReadDat(void);

6;voidWriteDat(void);

!,?以后為?位忙字符串中的析科小耳學(xué)用改寫成力學(xué)陽的上一個字用,如量能?用M修改寫A字艱加M他字符?!凡豢?/

7?voidConvertCharD(void)

8

9

10

11;voidmain()

12\I

13?if(ReadDatO)

14I(

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

16return;

17|I

[8?ConvertCharD(>;

19\WriteDatO;

20!J

;“從文件m&t中it以?英文文拿存入期字符mxx中。/

21!intReadDat(void)

I

22?(

23!FILE-fp;

24iint1-0;

25char*p;

ZE?if((fp-fopen("ln.dat*r*r**))-NULL)

27return1;

28?while(fget3(xx[1],80?fp)!?NULL)

29j(

30p?strcbr(xx(1],*\n?I;

31if(p)*p?0;

32!?*;

33

34;tnaxline■i;

35!fclose(fp);

36jreturn0;

37

;/結(jié)果H■巾*文件am中?/

3B\voidWriteDat(void)

39)(

40FILEefp;

41*inti;

42fp-topen(wout.dat*,"w**);

43for(1-0;1<moxllno;)

44i(

45printfxx(1|;

46fprintf(fpr"IsXn",xx(i));

47

48?fcloae(fp);

49

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

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

字符按ASCII碼從大到小的順序進行排序,排序后的結(jié)果仍按行重新存

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

出到文件out.dat中。

例:原文:dAe,BfC.

CCbbAA結(jié)果:fedCBAbbCCAA原始數(shù)據(jù)文件存放的格式是:每行

的寬度均小于80個字符,含標(biāo)點符號和空格。

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

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

的內(nèi)容。

1jlinclude<stdio?h>

?

2itinclude<string.h>

3;charxx[50)(80];

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

5;intReadDat(void);

6!voidWriteDat(void);

7jvoidSortCharD(void)

B;(

10f>

11;voidmain()

12!(

13?if(ReadDat())

14;(

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

16?return;

17;1

18!SortCharD();

19;WriteDat();

20;)

?/?從文件m.<bt中族取一篇英文文拿存入a字符串敷01xx中?/

21;intReadDat(void)

22?(

23?FILE?£>

24;inti?0;

25!char*p;

26jif((fpmfopenC^in.dat","r">)?"NULL)

27;return1;〃加泉文件in,d小內(nèi)容為匕則返回1

!,?當(dāng)從文件ln.dat中讀取79個字符存入xxlil設(shè)育1?設(shè)發(fā)生時.執(zhí)行微環(huán)體中的語句〃

28;while(fgets(xx[i]#80efp)!■NULL)

29;1

30?p-strchr(xx(i),tXn');〃在字符率xx[£)中秀找回車換打符事一個西配的位置

31;if(p)*p-0;〃如果p的值不為零.劃元其值設(shè)置為0

32;i++;〃行爻量加】

33:}

34?maxline?1;//IE文章的總行敬M蛤攵■naxllne

35[(close(fp);

36|return0;

37;|

i/?1E怙果XX?出刎文科ouLdat中?/

38;voidWriteDat(void)

39;(

40!FILE*fp;

41junsignedinti;

Mw

42;fp?fop^n(out?dat*'t**w);

43!for(i-0;i<maxline;

44i(

H

45;printf(*%s\nrxx[1]);

46!fprintf(fp,7s\n3xxfi]);

47i}

48?fclose(fp);

49!}

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

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

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

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

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

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

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

注意?JK分源程序存在teste文件中.

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

請勿改動數(shù)據(jù)文件!ndtt中的任何數(shù)據(jù)、主函數(shù)main().讀函數(shù)nadM)和寫的微writeDatO的內(nèi)容.

1?Imcludo<5tdio.h>

2;IdefineMAX200

3inta[MAX],b[MAXJ.

4voidwriteDat();

5voidjsVal()

6

7

8

9voidreadDat()

10

13?fp?fopen("in.dat**.

14;ford-0;i<MAX;1++

15!fscanf(fp,**%d**r[i

16?fclose(fp);

17

18voidmain()

19

20

21readDat();

22jsVal();

23prin"「滿足條件的數(shù)7d\M,cn

24for(1-0;i<ent;

M

25print—”,drbit]);

26printf(w\nw);

27writeDat();

26

29voidwriteDat()

30(

31FILE#fp;

32inti;

33fp-fopen("out.daf*,;

nn

34fprintf(fp#%d\nrcnt);

35for(1-0;i<ent;ix)

36fprintf(fpr7d\nR,bl:]);

37fclose(fp);

38

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

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

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

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

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

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

制如,7153.7+1-5+3.劃讀數(shù)滿足條件存入數(shù)綱b中.且個敷cnvott+l.

8129,8+11=2+9,則該數(shù)不滿足條件忽略.

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

程序中已定義故組;af300].b[300].巳定義變Kbent

請勿改動數(shù)據(jù)文竹in.dat中的任何數(shù)據(jù).I函數(shù)main。.該函數(shù)rcadDat。和力的收wnteDatO的內(nèi)容.

1jtinclude<stdio.h>

2!inta[300]b[300)cnt-0;

itt

3;voidreadDat();

4-voidwriteDat();

5?jsValue()

6;(

7t1

Qm*?*a

9?main()

10;(

11iint1;

12;readDat();

13?jsValue();

14t,writeDat();

tw

15'printf(?cnt=%d\n/ent);

16?for(i,■0;i<ent;

17;printf(Rb[ld]?td\nM,i,b(i));

18t*)

19;voidreadDat()

20;?

21!FILEwfp;

22int1;

23fp-fopen("in.daL,"r");

24for(i-0;i<300;"?)

25fscanfffp,Fd.".&a(i]);

26fclose(fp);

27

28voidwriteDatO

29

30FILE*fp;

31inti;

32fp-fopen("out.dat"w");

33fprintf(fp,0%d\nw/ent);

34for(i-0;i<ent;[??)

35fprintf(fp,*%d\n"/b(i));

36fclose(fp);

37

36.編寫一^函數(shù)findStr(char*str,char*substr),該函數(shù)統(tǒng)計一^長度為

2的子字符串substr在另一個字符串str中出現(xiàn)的次數(shù),該次數(shù)作為函數(shù)

值返回。例如,假定輸入的字符串為"asdasasdfgasdaszx67asdmklo”,

子字符串為“as",函數(shù)返回值是6。

函數(shù)ReadWrite實現(xiàn)從文件indat中讀取兩個字符串,并調(diào)用函數(shù)findStr,

最后把結(jié)果輸出到文件out.dat中。

注意:部分源程序存在test.c文件中。請勿改動主函數(shù)main和其他函

數(shù)中的任何內(nèi)容,僅在函數(shù)findStr的花括號中

填入你編寫的若干語句。

^include<stdio.h>

*include<string.h>

voidReadWrlte();

a

intfindStr(char3trtchar?substr)

main0

charstr(81|,substr(3];

intn;

printf("輸入原字符申:w);

gets(str);

pdntf("■入子字符串:”);

gets(substr);

puts(str>;

puts(aubstr);

nwfindStr(str,substr);

"n

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

ReadWrite();

I

,?從文件in.dii中It取兩個字符中,蚌■用炳欣findSoO,■后1E郎果博出到文件即如中,/

22voidReadWrite()

24charstr[81)rsubstr(3],ch;

25intn,lenri00;

e

26FILEerfrwf;

27rf=fopen(*£n.dat**,wrH);

wwHM

28wf-fopen(out.datrw>;

29while(i<5)

30|

31fgets(str,80,rf);〃從文件mdai中域取長度為R的字符中存入到字符中

32(gets(subset<10,rf);〃從文件mdit中讀取長度為Q的子字符中存入到字符率substr

33len■strlen(substr)?1;〃mf字符南gubstr的長度K1的

ch-substr(lenI;〃把子字符州的量后T字箝的但"字符ch

人如臬子字符申的量后個字椅是同架按行符或是文鐘帖販料,明紀(jì)子字符串的?后f字符的值設(shè)置X。?/

35if(ch??'\n'11ch~Oxla)

36substr[len]?0;

flndStr(4tr?■ubstr)返Z1子字符串subst.r在字符率Atr中出現(xiàn)的次數(shù)*/

37n-findStr(str,substr);

38fprintf(wf/Fd\n".n);//IC計H納暨n寫入到文件out.dau中

39〃謂環(huán)堂量士加】

40I

41fclose(rf);

42fclose(wf);

43

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

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

中的所有字符進行替代,仍存入數(shù)組XX對應(yīng)的位置上,最后調(diào)用函數(shù)

WriteDat把結(jié)果xX輸出到文件out.dat中。

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

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

成整型變量),如果計算后f(p)值小于等于32或f(p)對應(yīng)的字符是大寫

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

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

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

進行處理。

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

finclude<stdio.h>

Iinclude<string.h>

3?finclude<ctype.h>

4unsignedcharxx[50][80];

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

6;intReadDat(void);

7?voidWriteDat(void);

8;voidencryptCharO

9J(

10;

unsignedintval;

11;

12;

13;voidmam()

14;(

15!if(ReadDatO)

16i(

:;iprintf("數(shù)據(jù)文件m.dat不能打開!\n\007");

return;

19;

20jencryptChar();

21;WriteDat();

22jI

/?從文件tiLdm中諭取一篇英文文IL存人勃字符中數(shù)批1*中?/

23;intReadDat(void)

24!I

25JFILE*fp;

26\inti-0;

27!unsignedchar*p;

28\

if((fp-fopenLin.daL,)-NULL)

29-return1;

1

30?while(fgets(xx(i)#80,fp)?NULL)

31((

32j

p-strchr(xx[ih*\n*);

33iif(p),P-0;

34\if

35:

36;maxiine?i;

37;fclose(fp);

38!return0;

39;?

/?£結(jié)果MX■出到文件outdai中?/

40-voidWriteDat(void)

41

42FILE*fp;

43inti;

44fp-fopen(?,out.dat**,、");

45for(i?0;i<maxline;1??)

46(

H

47printf("ls\nrxx[i]);

48fprintf(fp,Fs\n”,xx[ij);

49)

50fclose(fp);

51

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

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

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

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

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

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

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

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

題。

例如:sell[i]=temp;

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

請勿改動主函數(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

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

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

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

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

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

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

字),如果新組成的兩個數(shù)ab-cd>=0且ab.cd<=10且兩個數(shù)均是奇數(shù),

同時兩個新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到

小的順序存入數(shù)組b中,并要計算滿足上述條件的四位數(shù)的個數(shù)ent。

最后main函數(shù)調(diào)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b中符合條件

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

注意?部分圖程序存在te?x文件中.

程序中已定義數(shù)fth4200].b{200],已定義變量tent

請勿改動數(shù)據(jù)文件itL&M中的任何數(shù)據(jù)?主函數(shù)main().讀函數(shù)neadIXtO和寫函數(shù)writeDatQ的內(nèi)容.

1?Iinclude<stdio.h>

2\tdefineMAX200〃定義宏支量MAX.其值的于zoo

3\inta【MAX),b(MAXJ,ent-0;〃定義全局整VTt敷煙alMAX].bIMAX)和支?ent.苒匐值等于0

4IvoidwriteDat();

5;voidjsVal()

6ii

1?

8j1

9!voidreadDatO〃從2n.st文件中it取zoo個四位flt存入數(shù)ifl■中

10i{

111inti;

12!FILEefp;

13;fp-foponwr*);

14!for(1?0;i<MAX;

ISifscanf(fp,(a[1]);

16?fclose(fp);

1711

j

18ivoidmain。

19i(

20int1;

21readDat();

22jsvaio;〃?用”vno的總實現(xiàn)融目要求的動俺

23printf「滿足條件的n".ent);

24for(i*0;i<ent;i++)

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

26printf;

27writeDat();

28j)

29voidwriteDatO〃化itir姑累cm以及數(shù)餌b中符合條件的四位數(shù)■出到OULdM文件中

30

31FILE#fp;

32int1;

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

34fprintf(fp,fd\n",ent);

35for(i?0;1<ent;

36fprintf(fpr-%d\n"rb(il);

37fclose(fp);

38

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

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

位數(shù)的千位數(shù)位置上的值減去百位數(shù)位置上的值再減去十位數(shù)位置上

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

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

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

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

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

程序中已定義效蝸:a[200J.b(200],已定義變■,ent

請勿改動數(shù)圖文件而.市?中的任何畋據(jù)、主函ISmainO、懊南1tMiDa")和寫序數(shù)*tcDat。的內(nèi)容.

1?linclude<stdio.h>

2\IdefineMAX200

3;intalMAXhb[MAX)rent-0;

4jvoidwriteDat();

5;voidjsVal()

9!voidreadDat()

10;|

11;int1;

12jFILE*fp;

13;fp-fopen("in.dat,,,"r

141for(1?0;1<MAX;ii

15jfscant(fp,"Qd**.&a[i

16?fclose(fp);

17!)

18?voidmain()

19■I

21;readDat();

prlntf("滿足條件的數(shù)?2\口*\ent);

for(1?0;1<ent;ii)

printf(0%d”,b[l]>;

prlntfC;

voidwriteDat<)

int1;

fp■fopen(*out.dat*,**w*);

fprlntf(fp*"%d\n"rent);

for(i■■0;i<ent;ii)

fprintf(fpr*%d\n*rb(i));

fclose(fp)f

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

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

據(jù)表格:

教師

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

教師號教師名職稱工資

9868王文華教授8000null

9983李一斌副教授60009868

9985丁一講師刪9868

0783王潤澤講師刪9868

0899歐陽丹妮講師刪9868

課程

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

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

C2006311計算機原理9868

理版社

計算機原計算機原理與高等教育出

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.每個教師有唯一的教師號,每個教師號對應(yīng)唯一的一名教師;

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

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

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

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

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

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

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

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

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

42.設(shè)有某商業(yè)單位需要建立商務(wù)數(shù)據(jù)庫用以處理銷售記賬,它記錄的數(shù)

據(jù)包括:顧客姓名,所在單位及電話號碼;商品名稱,型號,產(chǎn)地及單

價;某顧客購買某商品的數(shù)量及日期。假定無同名顧客,無同型號商品,

由話公用靦客可存不同日期買同一商品。(1)請畫出該單位的商務(wù)ER

圖模型并優(yōu)化。(6分)(2)將ER模型換成關(guān)系模型并規(guī)范化到3NF。

(4分)

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

43.在SQLServer2008中,設(shè)在某數(shù)據(jù)庫中建有如下所示的存儲過程:

CREATEPROCPl@aint=20,@bchar(4)AS設(shè)有下列調(diào)用該存儲

過程的語句:I.EXECP1100,'a01'II.EXECP1'aOlzIII.EXEC

Pl?b='a0/W.EXECPl@a=default,@b='aOl’上述語句中,能夠

正確調(diào)用該存儲過程的是()。

A.僅I和IIB.僅I、II和nic.僅I、m和ivD.全部

44.數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)從數(shù)據(jù)庫系統(tǒng)管理角度考慮數(shù)據(jù)的組織

與存儲。下列不屬于數(shù)據(jù)庫三級模式結(jié)構(gòu)的是()o

A.邏輯模式B.物理模式C.外模式D.應(yīng)用模式

參考答案

1.A解析:碼是一個元組區(qū)別于其他元組的依據(jù),同時也是一個元組賴

以存在的條件。在一個關(guān)系中,不可能存在兩個不同的元組在碼屬性上

取值相同,也不可能存在碼或碼的一部分為空值的元組。注意:在一個

關(guān)系中,不可能存在兩個不同的元組在碼屬性上取值相同,故A)選項正

確;屬性不是一個元組區(qū)別于其它元組的依據(jù),故B)選項不正確;在一

個關(guān)系中,不可能存在碼或碼的一部分為空值的元組,故C)選項不正確;

碼是一個元組賴以存在的條件,故D)選項不正確。掌握主屬性,外碼概

念的理解。

2.D解析:中斷屏蔽是指在提出中斷請求之后,CPU不予響應(yīng)的狀態(tài)。

它常常用來在處理某一中斷時防止同級中斷的干擾或在處理一段不可

分割、必須連續(xù)執(zhí)行的程序時防止任何中斷事件的干擾。本題正確答案

為選項D。

3.A客戶機/服務(wù)器系統(tǒng)Client/serversystem簡稱C/S系統(tǒng)。是一類按新

的應(yīng)用模式運行的分布式計算機系統(tǒng)。在這個應(yīng)用模式中,用戶只關(guān)心

完整地解決自己的應(yīng)用問題,而不關(guān)心這些應(yīng)用問題由系統(tǒng)中哪臺或哪

幾臺計算機來完成。在C/S系統(tǒng)中,能為應(yīng)用提供服務(wù)(如文件服務(wù),

打印服務(wù),拷貝服務(wù),圖象服務(wù),通信管理服務(wù)等)的計算機或處理器,

當(dāng)其被請求服務(wù)時就成為服務(wù)器。一臺計算機可能提供多種服務(wù),一個

服務(wù)也可能要由多臺計算機組合完成。與服務(wù)器相對,提出服務(wù)請求的

計算機或處理器在當(dāng)時就是客戶機。從客戶應(yīng)用角度看,這個應(yīng)用的一

部分工作在客戶機上完成,其他部分的工作則在(一個或多個)服務(wù)器

上完成。答案A應(yīng)該是多對多的關(guān)系。

4.D

5.D解析:如果有多個中斷同時發(fā)生,要調(diào)整中斷事件的響應(yīng)次序,可

以利用中斷屏蔽的方式。

6.D解析:在關(guān)系代數(shù)中,s表示連接;x表示廣義笛卡爾積;II表示投

影;o表示選擇。

7.A解析本題考查死鎖的預(yù)防策略。預(yù)防死鎖可以采取三種預(yù)防措施:

采用資源的靜態(tài)預(yù)分配策略;允許進程剝奪使用其他進程占有的資源;

采用資源有序分配法。四個選項中只有A是死鎖預(yù)防策略,因此本題的

答案為A。

8.A解析:就緒狀態(tài)是指一個進程已經(jīng)具備運行條件,但沒有獲得CPU

不能運行所處的狀態(tài)。處于就緒狀態(tài)的進程一旦獲得CPU,該進程就可

以運行。等待狀態(tài)也稱作阻塞狀態(tài)是指進程因某種原因暫時不能運行的

狀態(tài)。

9.C解析:第一代數(shù)據(jù)庫系統(tǒng)指層次模型數(shù)據(jù)庫系統(tǒng)。層次模型數(shù)據(jù)庫

的代表是IBM公司于1969年研制出的信息管理系統(tǒng)(IMS),IMS是最

早和使用最廣的幾個數(shù)據(jù)庫之一。

10.D解析:關(guān)系數(shù)據(jù)庫上的操作包括:查詢、統(tǒng)計和匯總、插入、刪除、

修改等,其中查詢是核心,所以關(guān)系DML語言,又稱為查詢語言。

H.目的主機【解析】在接收到所有分片的基礎(chǔ)上,主機對分片進行重

新組裝的過程稱為IP數(shù)據(jù)報重組。IP協(xié)議規(guī)定,只有最終的目的主機

才可以對分片進行重組。

12.數(shù)據(jù)加密【解析】Blowfish算法由兩部分組成:密鑰擴展和數(shù)據(jù)加

mo

13.2k2k解析:如果一棵二叉樹最多只有最下面的兩層結(jié)點,度數(shù)可以

小于2,且最下面一層的結(jié)點都集中在該層最左邊的若干位置,稱此二

叉樹為完全二叉樹。可知,若要二叉樹結(jié)點最少,則最后一層上只有1

個結(jié)點,其余層是滿二叉樹,所以,最少有2k個結(jié)點。

14.簡單郵件傳輸協(xié)議或SMTP簡單郵件傳輸協(xié)議或SMTP解析:在電

子郵件程序向郵件服務(wù)器發(fā)送郵件時,使用的是簡單郵件傳輸協(xié)議

(SMTP);而在電子郵件程序從郵件服務(wù)器讀取郵件時,可以使用郵局協(xié)

議(POP3)或交互式郵件存取協(xié)議(IMAP),它取決于郵件服務(wù)器支持的協(xié)

議類型。

15.關(guān)系代數(shù)關(guān)系演算關(guān)系的數(shù)據(jù)操縱語言按照表達式查詢方式可分為

關(guān)系代數(shù)和關(guān)系演算

16.數(shù)據(jù)庫物理設(shè)計數(shù)據(jù)庫物理設(shè)計解析:數(shù)據(jù)庫的物理設(shè)計是對已確

定的邏輯數(shù)據(jù)庫結(jié)構(gòu),利用DBMS所提供的方法、技術(shù),以較優(yōu)的存儲

結(jié)構(gòu),數(shù)據(jù)存儲路徑,合理的數(shù)據(jù)存放位置以及存儲分配,設(shè)計出一個

高效的,可實現(xiàn)的物理數(shù)據(jù)庫結(jié)構(gòu)。

17.數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)解析:數(shù)據(jù)管理技術(shù)的發(fā)展,與硬件、軟件

和計算機應(yīng)用的范圍有密切關(guān)系。數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)過了3個階段:

人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫階段。

18.20001【解析】一個路由表通常包含許多(N,R)對序偶,其中N指目

的網(wǎng)絡(luò)的1P地址,R是網(wǎng)絡(luò)N路徑上的“下一個”路由器的IP地址。本

題中,目的IP地址為,屬于A類網(wǎng)絡(luò)地址,其網(wǎng)絡(luò)地址為,

因此路由器收到該IP數(shù)據(jù)包按照路由表的第一個(N,R)對序偶下一路

由選擇為“直接投遞”,即直接投遞給接收主機,因此投遞的IP地址為:

20.0.0.lo

19.陷入制輪詢法【解析】從被管理設(shè)備中收集數(shù)據(jù)有兩種方法:一種

是輪詢方法,另一種是基于中斷的方法。將以上兩種方法結(jié)合的陷入制

導(dǎo)輪詢方法可能是執(zhí)行網(wǎng)絡(luò)管理最有效的方法。

20.虛電路【解析】在實際應(yīng)用中,分組交換技術(shù)可以分為兩類:數(shù)據(jù)

報與虛電路。

2LB解析:用戶的邏輯文件要存放到存儲介質(zhì)上時,文件系統(tǒng)要根據(jù)存

儲設(shè)備的類型,用戶采用的存取方式?jīng)Q定文件在存儲介質(zhì)上的組織方式。

22.A

SQL語言中用GRANT、REVOKE語句實現(xiàn)數(shù)據(jù)控制功能,數(shù)據(jù)庫中

權(quán)限的授予可以使用GRANT....ON....TO....語句,要求指明授予哪個用

戶(組)對哪個對象有什么權(quán)限,而REVOKE語句實現(xiàn)數(shù)據(jù)庫權(quán)限的回

收,需要指明從哪個用戶(組)回收對于哪個對象的什么權(quán)限。

23.D

24.B

25.A

26.A解析:按照邏輯結(jié)構(gòu)的定義數(shù)據(jù)的邏輯結(jié)構(gòu)是數(shù)據(jù)間關(guān)系的描述,

只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,不管其存儲方式。順序結(jié)構(gòu)、

鏈?zhǔn)浇Y(jié)構(gòu)、靜態(tài)結(jié)構(gòu)和動態(tài)結(jié)構(gòu)都是指存儲結(jié)構(gòu)。因此A是正確的。

27.B

28.A

29.C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論