2021年甘肅省慶陽市全國計算機等級考試數據庫技術真題(含答案)_第1頁
2021年甘肅省慶陽市全國計算機等級考試數據庫技術真題(含答案)_第2頁
2021年甘肅省慶陽市全國計算機等級考試數據庫技術真題(含答案)_第3頁
2021年甘肅省慶陽市全國計算機等級考試數據庫技術真題(含答案)_第4頁
2021年甘肅省慶陽市全國計算機等級考試數據庫技術真題(含答案)_第5頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2021年甘肅省慶陽市全國計算機等級考試

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

學校:班級:姓名:考號:

一、1.選擇題(10題)

1.邏輯文件存放在存儲介質上時,采用的組織形式是與什么有關?

A.邏輯文件結構B.存儲介質特性C.主存儲器管理方式D.分配外設方

2.評價一個算法性能的主要標準是

A.算法易于調試B.算法易于理解C.算法的穩定性和正確性D.算法的

時間復雜度

3.關于數據庫系統三級模式結構,下列論述中正確的是

A.三級模式結構是數據庫惟一的一種分級模式結構

B.外模式/概念模式映像為數據的物理獨立性提供支持

C內模式與物理數據庫等價,概念模式與邏輯數據庫等價

D.外模式是概念模式的一個邏輯子集,且外模式的某些描述可以與概念

模式不同

4.在一棵二叉樹的先序遍歷、中序遍歷、后序遍歷所產生的序列中,所

有葉結點的先后順序

A.都不相同B.完全相同,C.先序和中序相同,而與后序不同D.中序和

后序相同,而與先序不同

5.消息的序號和時間性的認證主要是阻止消息的o

A.對抗攻擊B.非對抗攻擊C.重放攻擊D.非重放攻擊

6.在PowerDesigner的組成模塊中,用于物理數據庫的設計和應用對象

及數據組件的生成工具是

A.PowerDesignerProcessAnalyst

B.PowerDesignerAppModeler

C.PowerDesignerMetalWorks

D.PowerDesignerWarehouseArchitect

7.以下關于鏈式存儲結構的敘述中哪一條是不正確的?()

A.結點除自身信息外還包括指針域,因此存儲密度小于順序存儲結構

B.邏輯上相鄰的結點物理上不必鄰接

C插入、刪除運算操作方便,不必移動結點

D.可以通過計算直接確定第i個結點的存儲地址

8.

,下列關于二叉樹周游的敘述中,正確的是().

A)若一個結點是某二叉樹對稱序的最后一個結點,則它必是該二叉樹前序的最后一個結點

B)若一個結點是某二叉樹前序的最后一個結點,則它必是該二叉樹對稱序的最后一個結點

0若一個樹葉是某二叉樹前序的最后一個結點,則它必是該二叉樹對稱序的最后一個結點

D)若一個樹葉是某二叉樹對稱序的最后一個結點,則它必是該二叉樹前序的最后一個結點

9.下面關于函數依賴的敘述中,不正確的是

I.若X—Y,X—Z,貝IJX—YZ

II.若XY-Z,貝IJX-Z,Y—Z

in.若X-Y,WY—Z,則xw-z

IV.若X-Y,則XZ->YZ

A.IB.IIC.II和niD.全部

10.下面有關模式分解的敘述中,不正確的是______O

A.若一個模式分解保持函數依賴,則該分解一定具有無損連接性

B.若要求分解保持函數依賴,那么模式分解可以達到3NF,但不一定能

達到BCNF

C.若要求分解既具有無損連接性,又保持函數依賴,則模式分解可以達

到3NF,但不一定能達到BCNF

D.若要求分解具有無損連接性,那么模式分解一定可以達到BCNF

二、填空題(10題)

11.網絡攻擊者設法涂改一個網站的主頁,使得該網站的WWW服務不

能正常工作,這種網絡攻擊稱為【】。

12.無線局域網的英文縮寫為o

13.計算機網絡利用通信線路將不同地理位置的多臺獨立的——的計算

機系統連接起來,以實現資源共享。

14.一個DBMS的用戶界面應具有可靠性、易用性、【】、多樣性。

15.在定義基本表的SQL語句CREATETABLE中,如果要定義某個屬

性不能取空值,應在該屬性后面使用的約束條件短語是_____O

16.在口數據報分片后,通常用負責數據報的重組。

17.在數據庫設計的各階段中,每個階段都有自己的設計內容,“為哪些

表,在哪些屬性上建立什么樣的索弓「'這一設計內容應該屬于[】階段。

18.因為網狀型拓撲結構復雜,必須采用路由選擇算法和方

法。

19.計算機可以直接執行用語言編寫的程序。

20.DB2數據庫管理系統為了提高性能,當連接所涉及的事實表達到三

個或三個以上的時候,DB2可自動地判斷是否使用星型連接技術(star

Join)和索引進行優化。

三、單選題(10題)

21.在SQLServer系統數據庫中,存放用戶數據庫公共信息的是

A.masterB.modelC.msdbD.tempdb

22.在關系代數的連接操作中,連接操作需要取消重復列的是()。

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

23.某單道批處理系統中有四個作業JOB1、JOB2、JOB3和JOB4,它

們到達“輸入井”的時刻和需要的運行時間如下表所示:

作業進入系統時間估計運行時間(分鐘)

J0B18:3080

J0B28:5020

J0B39:2040

J0B49:3035

假設9:30開始進行作業調度,按照最高響應比作業優先算法,首先被調

度的作業是

A.J0B1B.J0B2C.J0B3D.J0B4

24.鏈棧與順序棧相比,有一個比較明顯的優點是()

A.插入操作更加方便B.通常不會出現棧滿的情況C.不會出現棧空的

情況D.刪除操作更加方便

25.消息認證是指接收者能夠檢驗收到消息真實性的方法,下列不屬于

消息認證的檢驗內容?

A.A.證實消息的源和宿B.消息的內容是否保持其完整性C.消息

的序號和時間性D.消息是否被竊取

26.下列計算機表示的信息中,不能稱為“數據”的是()

A.人的姓名B.圖形符號C.計算機程序D.文件名

27.在建立表結構時定義關系完整性規則()

A.使DBS能夠自動維護數據完整性約束條件B.還需要編程實現數據完

整性約束條件C.沒有必要定義D.將使系統操作復雜

28.SQLServer數據庫是由文件組成的。下列關于數據庫所包含的文件的

說法中,正確的是__________O

A.一個數據庫可包含多個主要數據文件和多個日志文件

B.一個數據庫只能包含一個主要數據文件和一個日志文件

C一個數據庫可包含多個次要數據文件,但只能包含一個日志文件

D.一個數據庫可包含多個次要數據文件和多個日志文件

29.下列哪一條不屬于數據庫設計的任務?

A.進行需求分析B.設計數據庫管理系統C.設計數據庫邏輯結構D.設

計數據庫物理結構

30.概念結構設計的目標是產生數據庫概念結構(即概念模式),這結構主

要反映()

A.DBA的管理信息需求B.應用程序員的編程需求C.企業組織的信息

需求D.數據庫的維護需求

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

31.編寫一^函數findStr(char*str,char*substr),該函數統計一^長度為

2的子字符串substr在另一個字符串str中出現的次數,該次數作為函數

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

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

函數ReadWrite實現從文件in.dat中讀取兩個字符串,并調用函數findStr,

最后把結果輸出到文件out.dat中。

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

數中的任何內容,僅在函數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郎果博出到文件即如中,/

voidReadWrite()

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

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

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

36substr[len]?0;

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

37n-findStr(str,substr);

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

39〃謂環堂量士加】

40I

41fclose(rf);

42fclose(wf);

43

32.函數ReadDat實現從文件in.dat中讀取一篇英文文章,存入到字符

串數組XX中;請編制函數eneryptChar,按給定的替代關系對數組XX

中的所有字符進行替代,仍存入數組XX對應的位置上,最后調用函數

WriteDat把結果xX輸出到文件out.dat中。

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

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

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

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

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

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

進行處理。

請勿改動主函數main、讀函數ReadDat和輸出函數WriteDat的內容。

finclude<stdio.h>

Iinclude<string.h>

3?finclude<ctype.h>

4unsignedcharxx[50][80];

5;intmaxline-0;/?文章的總行數?/

6;intReadDat(void);

7?voidWriteDat(void);

8;voidencryptCharO

9J(

10;

unsignedintval;

11;

12;

13;voidmam()

14;(

15!if(ReadDatO)

16i(

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

return;

19;

20jencryptChar();

21;WriteDat();

22jI

/?從文件tiLdm中諭取一篇英文文IL存人勃字符中數批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;?

/?£結果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

33.函數ReadDat實現從文件in.dat中讀取一篇英文文章,存入到無符

號字符串數組XX中;請編制函數encryptChar,按給定的替代關系對數

組XX中的所有字符進行替代,其替代值仍存入數組XX所對應的位置

上,最后調用函數WriteDat把結果XX輸出到文件out.dat中。

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

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

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

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

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

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

進行處理。

請勿改動主函數main、讀數據函數ReadDat和輸出數據函數WriteDat

的內容。

1!tinclude<stdio.h>

?include<string.h>

3tinclude<ctype.h>

4unsignedcharxx[50][80];

5intmaxline-0;/?文章的總行數?/

6intReadDat(void);

7voidWriteDat(void);

avoidencryptChar()

9

10

11

12!voidmain()

13;I

14;if(ReadDatO)

15!(

16pen"L數據文件in.dat不能打開!\n\007-);

17return;

18?)

19iencryptChar();

20!WriteDat();

21i)

|廠從文科Hdm中工取一?英文文章,存入義無符號字符*般銀=中”

22!intReadDat(void)

23;(

24:FILE#fp;

25!inti?0;

26;unsignedchar#p;

21jif((fp-fopen("in.datw,wr"))—NULL)

28return1;

29;while(fgets(xx[l]r80,fp)!-NULL)

30I(

31P-strehr(xx(i]r'n');

32if(p)*p-0;

33

34I>、

35maxline?1;

;fclose(fp);

37;return0;

38P

i八把結果u一出到文件OUL&I中?/

39ivoidWriteDat(void)

40?I

41!FILE*fp;

42iinti;

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

44?for(i*0;i<maxline;

45;(

w

46:printf(%s\n"#xx[i1);

47ifprintf(fp#7s\n".xx[1]);

48-)

49!fclose(fp);

50;1

34.函數ReadDat實現從文件in.dat中讀取一篇英文文章存入到字符

串數組XX中,請編制函數ConvertCharA,其函數的功能是:以行為單

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

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

仍按行重新存入字符串數組XX中。最后main函數凋用函數WriteDat

把結果XX輸出到文件Out.dat中。

例1版文1Adb.Bcdza

abck.LLhj

結果xAcc.Bdcab

hrdlfTik

原始數據文件存放的格式是:銀行的窗度均小于80個字符,含標點符號和空格.

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

請勿改動主函數main。、讀函數ReadDaM)和■出函數WritcDmO的內容.

1、tinclude<stdio.n>

2!!include《string.h>

3?charxx[50][80];

4;intmaxline■0;/*文*的總打數?/

5jintReadDat(void);

6;voidWriteDat(void);

7?voidConvertCharA(void)

8

9

10

11?voidmainO

12!l

13jif(ReadDat())

14(

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

16return;

17j}

18ConvertCharA();

19jWrlteDatO;

2。?I

!,?從文件m&t中it取一■英文文章存入到字符率數盥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

/?紀結果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

35.已知數據文件in.dat中存有200個四位數,并已調用讀函數readDat

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

位數的千位數位置上的值小于等于百位數位置上的值,百位數位置上的

值小于等于十位數位置上的值,以及十位數位置上的值小于等于個位數

位置上的值,并且原四位數是偶數,則統計出滿足此條件的個數ent并

把這些四位數按從小到大的順序存入數組b中,最后調用寫函數

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

中。

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

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

請勿改動數據文件in.dat中的任何數據、主函數main。、讀的數reMDat。和寫的敷writeDatO的內容?

1?*include<stdio.h>

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

【】

3?inta[MAX],b(MAX),ent?0;〃定義務不數循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()水數實現及"要求的功能

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

24for(1

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

printf("Xn**);

27writeDat();

28

29voidwriteDat()

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?)

36.已知數據文件in.dat中存有200個四位數,并已調用讀函數readDat

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

字和個位數字重新組成一個新的含有兩位數字的數(新數的十位數字是

原四位數的千位數字,新數的個位數字是原四位數的個位數字),以及把

百位數字和十位數字組成另一個新的含有兩位數字的數(新數的十位數

字是原四位數的百位數字,新數的個位數字是原四位數的十位數字),如

果兩個新組成的數均是奇數并且至少有一個數能被5整除,同時兩個新

數的十位數字均不為零,則將滿足此條件的四位數按從大到小的順序存

入數組b中,并要計算滿足上述條件的四位數的個數ent。最后main函

數調用寫函數writeDat把結果ent以及數組b中符合條件的四位數輸出

到Out.dat文件中。

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

程序中已定義數組:b(200),已定義變量,ent

請勾改動數據文件in.dat中的任何數據、|函數mAin(k讀函數readDatO和寫函做wrileDatO的內容.

1;?include<stdlo.h>

2|?defineMAX200

3<intalMAX],bfMAXJ,ent-0;

4;voidwriteDat();

5!voidjsVal()

9voidreadDat()〃從In.dat文件中儲取20。個四位數存入收穌a中

10

11int1;

12FILE*fp;

RrR

13fp■fopen(in.datrr*);

14for(i*0;i<MAX;

15fscanf(fp,

16fclose(fp);

17?

18voidma1nO

19(

20int1;

readDat();

isVai();〃,用曲數WValC,家現?H■氽的功健

23printf("滿足條件的數?Qd\n**/ent);

24for(i?0;1<ent;

25printf(**%db(i]);

26printf(H\nw);

27writeDat();

28

29voidwriteDatO〃把計算站果ox以及1?制b中符合條件的四位數?出到wutai文件中

30

31FILEwfp;

32inti;

33fp-fopen("out.datM,7");

wH

34fprintf(fp/%d\n#ent);

35for(i-0;1<ent;

36fprintf(fp,”d\n”.b(i]);

37fclose(fp);

38

37.程序test.c的功能是:計算出自然數SIX和NINE滿足條件

SIX+SIX+SIX=NINE+NINE的個數ent,以及滿足此條件的所有SIX與

NINE的和SUM。請編寫函數countValue實現程序的要求,最后main

函數調用函數writeDAT把結果ent和sum,輸出到文件Out.dat中。

其中的S,I,X,N,E各代表一個十進制數字,允許代表的數字相同,

但s和N不能為0。例如:944+944+944=1416+1416注意:部分源程序

存放在test.c文件中。

請勿改動主函數main和輸出數據函數writeDAT的內容。

1!#include<stdio.h>

2;intent,sum;

3!voidwriteDAT();

4;voidcountvalue0

5

6

7

8ivoidmain()

9

10ent-sum-0;

11jcountvalue();

printf「滿足條件的個數ent);

printf("滿足條件所有的SIX與NINE的和Td\n”,sum);

writeDATO;

t/?把姑果cm和wan■出JR文件outdii中?/

16!voidwriteDAT()

17;(

18;FILE#fp;

19?fp-fopen("out.dat,",www);〃以只寫的方式打開文件out.dau

20;fprintf(fp,**d\nQd\n",cnt#sum);〃把結果6t和wm0出髡文件omxht中

21?fclose(fp);〃關Hl文件ornai

aP

38.函數ReadDat實現從文件in.dat中讀取一篇英文文章存入到字符

串數組XX中,請編制函數StrCharJR,其函數的功能是t以該文章中的

行為單位把字符串中的所有字符的二進制ASCII值右移4位,高位補

0,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的

值仍存入原字符串對應的位置上,之后把已處理的結果仍按行重新存入

數組XX中。最后main函數調用函數WriteOat把結果XX輸出到文件

out.dat中。

例如:

"z”對應的ASCII值為7AH,二進制值為01111010,右移4位后為

00000111,加上原來"2"的ASCII值01111010得至【J10000001結果。

原始數據文件存放的格式是:每行的寬度均小于80個字符,含標點符

號和空格,并也按字符處理。

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

請勿改動主函數main、讀函數ReadDat和輸出函數WriteDat的內容。

:j?include<stdio.h>

!iinclude<string.h>

3\charxx[501(80];

4!intmaxline=0;/?文聿的總行數,/

5?intReadDat(void);

6;voidWriteDat(void);

7jvoidStrCharJR(void)

8

9

10

111voidmain0

12;I

13!if(ReadDatO)

14f1

15printf("效據文件in.dat不能打開!\n\007">;

16return;

17j?

18?StrCharJRO;

19;WriteDat();

20

;八從文"中讀取iJI英文文章存入到字符串斂fiiXi中?/

21jintReadDat(void)

22!I

23JFILE?fp;

24!inti-0;?

25;char.p;

26if((fp-fopen(?*in.dat",,????))-NULL)

27return1;

28!whlle(fgets(xx(i|,80rfp)!-NULL)

29

,:p=strchr(xx[i)f,Xn,);

31if(p)*p-0;

32if

33!)

34maxiine-i;

35!fclose(fp);

36ireturn0;

37P

J/?把結果”■出到文仰OUL&1中?/

38?voidWriteDat(void)

39p

40FILEwfp;

41!inti;

42fp?fopen("out.datM,www);

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

44(

R

45printf(is\n"rxx(i});

wM

46fprintf(fp,%s\nfxx[1i);

47

48fcloseIfp);

49

39.已知數據文件in.dat中存有200個四位數,并已調用讀函數readDat

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

中依次取出一個四位數,對每一個四位數作如下處理:把個位數字和千

位數字重新組成一個新的含有兩位數字的數(新數的十位數字是原四位

數的個位數字,新數的個位數字是原四位數的千位數字),以及把百位數

字和十位數字組成另一個新的含有兩位數字的數(新數的十位數字是原

四位數的百位數字,新數的個位數字是原四位數的十位數字),如果兩個

新組成數:一個是奇數,另一個為偶數,并且至少有一個數能被17整

除,同時兩個新數的十位數字均不為零,則將滿足此條件的四位數存入

數組b中,并計算滿足上述條件的四位數的個數ent,而后對數組b進

行降序排序。最后main函數調用寫函數writeDat把結果ent以及數組b

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

例如:一個四位數為4512,依題意組成的第一個新數為24,第二個新

數為51,其中51能被17整除,這兩個新數的十位數字不為零,則4512

這個四位數滿足題意所規定條件。

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

程序中已定義敢flhN200].b[200].已定義變*:ent

請勿改動I!(據文件in.dai中的任何數據,主兇數nuin()<淀南數readDaM)和寫函數writeDat。的內容

1!linclude<stdio.h>

2ttdefineMAX200

3-inta[MAX]#b[MAX]/ent-0;

4!voidwriVeDat();

5ivoidjsVal()

8

9voidreadDat().dat文件中需取200個網位依存入敷ma中

mt1;

FILE*fp;

fp-fopen("in.dat**,*r

0;i<MAX;…

tscanf(fp

fclose(fp);

voidmain

jsVal();〃,用晚效jsVal0,文現JBH要求的功畿

printf("淌足條件的數7d\n",ent);

R

printf(",%<!tb(i

prlntf(

writeDa

29!voidwriteDat()〃把計算結果cm11及數fitb中符合條件的四位數?出到g&i文件中

p-fopenfout.dat

printf(fpr"id\n".

0;i<

fprintf(fp

close(fp);

40.函數readDat是從文件in.dat中讀取20行數據存放到字符串數組

XX中(每行字符串長度均小于80)0請編制函數jsSort,其函數的功能

是:以行為單位對字符串按下面給定的條件進行排序,排序后的結果仍

按行重新存入字符串數組XX中,最后調用函數writeDat把結果XX輸

出到文件out.dat中。

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

右邊部分不變,左邊經排序后再與右邊部分進行交換。如果原字符串長

度為奇數,則最中間的字符不參加處理,字符仍放在原位置上。

例如?位置012345678

源字符申dcbahgfe

432198765

則處理后字符中hgfcabcd

876591234

注意,B6分源程序存在u?tc文件中?

請勿改動數據文件in.dit中的任何8(據、主函數main()、讀函數rc?dD?O和寫函數writeDatO的內容.

1;*include<stdio?h>

2-Iinclude〈string.h>

3!voidreadDatO;

4;voidwriteDat();

5?charxx[20][80);

6;voidjsSort()

7

6

101voidmainO

11;(

12?readDat();

13;jsSort();

14!writeDat();

15;)

!,?從文科m.dai申父取20行數福存放到字料事般WMX中?

16IvoidreadDat()

17;(

18?FILEein;

19;int1-0;

20}char*p;

21jin-fopen(win.datwf**rw);

22!while(1<2066fgets(xx[1)980,in)NULL)

23\(

24-p-strchr(xx(i)9?\n*);

25\if(p)ep■0;

26-1*?;

27?)

28;fclose(in);

2911

j/?紀貼果u■出到文件out&ta?/

30?voidwriteDatO

31;(

32?FILSeout;

33jint1;

34'out-fopen(*out.dat*,*w**);

35Ifor(i-0;i<20;[?+)

36\(

R

37Iprintf(,,%s\n>xx(1]);

38jfprintf(out,xx[1]);

39j)

40;fclose(out);

41i)

五、設計與應用題(2題)

41.現有論文和作者兩個實體,論文實體的屬性包括題目、期刊名稱、年

份、期刊號;作者實體的屬性包括姓名、單位、地址;一篇論文可以有

多個作者,且每一位作者寫過多篇論文,在每一篇論文中有作者的順序

號。請完成以下操作:(10分)(1)畫出E-R圖。(2)將E-R圖轉換成

關系模式,并指出每個關系模式的主鍵(加下劃線)和外鍵(加波浪線)O

42.設有高校選課系統,需要對學校的系信息、教師信息、課程信息、

學生信息、學生選課信息進行管理。已知系(DEPT)信息包括系編號

(DeptNO)、系名稱(DeptName);教師(Teacher)信息包括教師

號(TNO)、教師名(Tname);課程(Course)信息包括課程號

(CNO)、課程名(CName)、課程學分(Credit);學生(Student)

信息包括學號(SNO)、學生姓名(Sname)、學生性別(Sex)。選

課系統的管理規則如下:I,一個系可聘用多名教師,一個教師只受

聘于一個系;II.一個系可有多名學生,一個學生只屬于一個系;

III.一名教師可講授多門課程,一門課程可由多名教師講授;IV.一

名學生可選修多門課程,一門課程可被多名學生選修;V.學生選修完

課程后,可獲得相應課程的成績。針對以上描述,完成下列設計內

容:(1)構建選修課系統的ER圖。(要求圖中的實體集名用試卷中

給出的英文名,聯系所關聯的實體集名的首字母,字母問用“一”或

連接,大小寫不限)。(6分)(2)根據所構建的ER圖,設計滿足

3NF的關系模式,并標出每個關系模式的主碼和外碼。(要求關系模

式名同實體集名或聯系名,屬性名用試卷中給出的英文名,大小寫不

限)(4分)

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

43.在數據庫應用系統設計中,如果在事務中存在和用戶的長時問交互,

它會帶來哪些壞處()oI.降低系統的并發度II.增加死鎖的數量

III.破壞數據的一致性IV.影響檢查點的效果

A.僅I、II和mB.僅I、II和ivc.僅I、m和WD.僅II、m和w

44.在SQLServer2008中,設ul用戶在某數據庫中是db;_datawriter角

色中的成員,則用戶U1從該角色中可以獲得的數據操作權限是()。

I.查詢II.插入ni.更改w.刪除

A.僅IB.僅I和IIc.僅n、m和wD.全部

參考答案

1.B解析:用戶的邏輯文件要存放到存儲介質上時,文件系統要根據存

儲設備的類型,用戶采用的存取方式決定文件在存儲介質上的組織方式。

2.D解析:評價一個算法性能的主要標準是算法的時間復雜度和空間復

雜度,即算法效率的度量,主要是看算法的執行時間和它所占用的存儲

空間。

3.D解析:三級模式結構并不是數據庫惟一的一種分級模式,所以A不

正確;內模式/概念模式映像為數據的物理獨立性提供支持,外模式/概

念模式映像為數據的邏輯獨立性提供支持,所以B不正確;外模式是用

戶觀念下的數據結構的邏輯描述,在數據庫中某個用戶一般只會剛到概

念模式中的一部分記錄集,因此,外模式是概念模式的一個邏輯子集,

外模式允許某些描述與概念模式不同,所以D正確。

4.B解析:根據“根-左-右”,“左-根-右”,“左-右-根”的先序、中序、后序

遍歷原則,可以知道,在3種遍歷所產生的序列中,所有葉結點的先后

順序是完全相同的。

5.C解析:消息的序號和時間性的認證主要是阻止消息的重放攻擊。常

用方法是可使用消息的流水作業號、鏈接認證符、隨機數認證法和時間

戳等。

6.B解析:PowerDesigner是一個CASE工具,它包括6個緊密集成的模

塊。其中,PowerDesignerAppModeler是用于物理數據庫的設計和應用

對象及數據組件的生成的工具。通過提供完整的物理建模能力和利用那

些模型進行開發的能力,AppModeler允許開發人員針對領先的開發環

境,包括PowerDesigner,VisualBasic,Delphi和Power++,快速地生

成對象和組件。此外,AppModeler還可以生成用于創建數據驅動的Web

站點的組件,使開發人員和設計人員同樣可從一個DBMS發布“動態”

的數據。

7.C

8.D解析:前序法:訪問根,按前序周游左子樹,按前序周游右子樹。

對稱序法:按對稱序周游左子樹,訪問根,按對稱序周游右子樹。

9.B解析若X-Y,X-Z,則X-YZ屬函數依賴的合并規則若X->Y,

WY-Z,則WX-Z,屬函數依賴的偽傳遞規則,若X-Y,則XZ-YZ,

屬函數的增廣律。但若XY-Z,則X-Z,Y-Z則不成立,因為是Z函

數依賴于X和Y,X和Y中的任意二個都不能函數決定Y。所以本題

正確答案為選項B。

10.A解析第三范式是指關系模式R中不存在非主屬性傳遞依賴于碼。

BCNF范式是指關系模式屬于第一范式,且每一個決定因素(非平凡的函

數依賴)都包含候選碼。有以下3個標準:分解具有“無損連接性”;分解

具有“保持函數依賴”;分解既“保持函數依賴”又具有“無損連接性”。根

據以上的原則,若要求分解保持函數依賴,那么模式分解總能達到3NF,

但不能達到BCNF。若要求分解保持函數依賴,又具有無損連接性,那

么模式分解能達到3NF,但不一定能達到BCNFO

11.服務攻擊服務攻擊

12.WLAN【解析】無線局域網(WirelessLAN,WLAN)是以微波、激光

與紅外線等無線電波作為傳輸介質,部分或全部代替傳統局域網中的同

軸電纜、雙絞線和光纖,實現網絡中移動結點的物理層與數據鏈路層功

能。

13.自治【解析】計算機網絡利用通信線路將不同地理位置的多個自治

的計算機系統連接起來,以實現資源共享。

14.立即反饋立即反饋解析:一個DBMS的用戶界面應具有可靠性、易

用性、立即反饋、多樣性。掌握數據庫系統的基本概念。

15.NOTNULL

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

新組裝的過程稱為IP數據報重組。IP協議規定,只有最終的目的主機

才可以對分片進行重組。

17.數據庫物理設計數據庫物理設計解析:數據庫的物理設計是對已確

定的邏輯數據庫結構,利用DBMS所提供的方法、技術,以較優的存儲

結構,數據存儲路徑,合理的數據存放位置以及存儲分配,設計出一個

高效的,可實現的物理數據庫結構。

18.流量控制【解析】網狀型拓撲的主要優點是系統可靠性高。但是,

網狀型拓撲的結構復雜,必須采用路由選擇算法與流量控制方法。

19.機器機器解析現有的程序設計語言一般可以分為三類機器語言、

匯編語言和高級語言,機器語言和匯編語言又稱為低級語言。機器語言

是最初級且依賴于硬件的語言,全部用二進制代碼形式表示,不易被人

識別,但可被計算機直接執行。匯編語言用有助于記憶的符號和地址符

號來表示指令,有直觀和易理解的優點,但程序設計語言需經過匯編程

序翻譯后才被計算機識別。高級語言是一種面向問題的程序設計語言,

獨立于計算機的硬件,需經編譯后才能執行。

20.動態位圖動態位圖解析:DB2優化器能夠使用動態位圖索引,即根

據需要在相應字段上自動地動態生成位圖索弓I,從維表中挑選出符合條

件的記錄,再和事實表連接,提高了訪問多維數據的性能。當連接所涉

及的表達到三個或三個以上時,DB2可自動判斷是否使用星型連接技術

和動態位圖索引進行優化。

21.B

22.A解析:自然連接是一種特殊的等值連接,它要求兩個關系中進行比

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

般的連接操作是從行的角度進行運算,但自然連接還需要取消重復列,

所以是同時從行和列的角度進行運算。

23.B解析:響應比定義為系統對作業的響應時間與作業運行時間的比值。

最高響應比作業優先算法優先選擇響應比最高的作業。對JOB1,JOB2、

J0B3和J0B4的響應比分別為60/80=0.75.40/20=2,10/40=0.25和0/35=0,

因此首先被調度的作業是JOB2,正確答案為選項B。

24.B

25.D

消息認證是指接收者能夠檢驗收到消息真實性的方法,檢驗的內容包

括:

①證實消息的源和宿

②消息的內容是否保持其完整性、即未篡改

③消息的序號和時間性

26.C

27.A

28.D

29.B解析:數據庫設計過程通常分為以下4個階段:需求分析、概念結

構設計、邏輯結構設計和物理結構設計。

30.A

31.\n[審題關鍵句】統計一個長度為2的子字符串在另一個字符串中出

現的次數。

\n【解題思路】

\n①定義字符指針p,q,并且q指向字符串str。定義計數整型變量ent,

設置其值等于0。

\n②在while循環中調用C語言的字符串庫函數strstr,返回子字符串

substr在字符串q第一次出現的位置,賦給變量P。用if語句判斷,如

果P的值為空,則說明在字符串str沒有找到子字符串,退出循環。否

則,變量ent加1,再把P的值加2(因為子字符串substr的長度為2)賦

給變量q,執行下一次循環。直到字符串中不存在子字符串時,退出循

環結束。

\n③最后,返回子字符串substr在字符串str中出現的次數。

\n【參考答案】

\n

32.\n[審題關鍵句】字符替代f(p)=p*Umod256,小于等于32或對應大

寫字母不變,否則替換。

\n【解題思路】

\n本題類似第65套試題,通過審題可以發現主要是排序條件的設置要

求有所不同,參考答案的第6行,修改if條件語句的設置即可。另外,

在源程序中已經定義了一個無符號變量val,因此,在編寫答案程序時,

不需要再重新定義。

\n【參考答案】

\n

\n

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

對應數字。?9不變,否則替換。

\n【解題思路】

\n本題類似第67套試題,通過審題可以發現主要是排序條件的設置要

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

得一提的是在設置判斷條件的時候,一定要注意兩題要求中的兩個細微

的差別,第67套要求的是新字符所對應的數字是。?9的不變,是對數

值型數據進行判斷;而本套要求的是原字符所對應的字符是0-9的保持

不變,是對字符型數據進行判斷,在條件表達式的寫法上需要大家注意

區分。

\n【參考答案】

\n

\n

34.\n【審題關鍵句】以行為單位把字符串中的所有小寫字母改寫成該字

母的下一個字母,大小寫不變,其他字符不變。

\n【解題思路】

\n①定義整型循環變量i、i。

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

maxline,實現對文章每行的處理。第二層for循環中,循環變量j從。

開始,依次遞增直到其值等于strlen(xx[i]),在循環體中,利用if條件語

句首先判斷)xx[i][j]的值是否在小寫字符字符W?勿之間,然后,再判斷

在此范圍之內的小寫字母,如果是z,則該字符轉換為a,如果字符不是

z,則將其改寫成它的下一個字母。

\n【參考答案】

\n

\n

\n

35.\n[審題關鍵句】四位數的千位<=百位<=十位<=個位,且四位數是偶

數,統計出滿足此條件的個數,按從小大的順序存入數組。

\n【解題思路】

\n①首先,本題要定義多個變量,包括兩個循環變量循環i、i,一個用

于數據交換的整型變量ab,以及分別用來存放四位數分解之后各位數的

變量qw(千位)、b

溫馨提示

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

評論

0/150

提交評論