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

下載本文檔

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

文檔簡介

2021年四川省達州市全國計算機等級考試

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

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

一、1.選擇題(10題)

1.關系R(A,B)和S(B,C)中分別有10個和15個元組,屬性B是R的

主碼,則RXS中元組數目的范圍是

A.(0,15)B.(10,15)C.(10,25)D.(0,150)

2.在一棵具有5層的完全二叉樹中,結點總數最少為()個。

A.15B.16C.5D.31

3.按行優先順序存下三角矩陣的非零元素,則計算非元素aij(l<j<i<n)

的地址的公式為

一a”0…0"

aa??,0

A/n=2l22

?????????■??

a?ia?,…a?,

A.LOC(aij)=LOC(all)+ix(i+l)/2+j

B.LOC(aij)=LOC(all)+ix(i+l)/2+(j-l)

C.LOC(aij)=LOC(all)+ix(i-l)/2+j

D.LOC(aij)=LOC(all)+ix(i-l)/2+(j-l)

4.SQL語言集數據查詢、數據操作、數據定義和數據控制功能于一體,

語句INSERT、DELETE、UPDATE實現哪類功能?。

A.數據查詢B.數據操縱C.數據定義D.數據控制

5.下列敘述正確的是

A.SQL是高度過程化語言

B.SQL語言包括模式數據定義語言、外模式數據定義語言等

C.SQL采用面向集合的操作力式

D.SQL是自含式語言不是嵌入式語言

6.在計算機硬件系統的基本組成中,完成解釋指令、執行指令的功能部

件是

A.運算器B.控制器C.存儲器D.輸入輸出設備

7.用謂詞來表達查詢要求的方式是

A.關系演算B.關系代數C.關系邏輯D.關系查詢

8.一個關系數據庫文件中的各條記錄

A.前后順序不能任意顛倒,一定要按照輸入順序排列

B.前后順序可以任意顛倒,不影響數據庫中的數據關系

C.前后順序可以任意顛倒,但排列順序不同,統計處理的結果就可能不

D.前后順序不能任意顛倒,一定要按照關鍵字段值的順序排列

9.數據庫系統的并發控制主要方法是采用哪種機制?

A.拒絕B.可串行化C.封鎖D.不加任何控制

10.棧S最多能容納4個元素。現有6個元素按A、B、C、D、E、F的

順序進棧,下列哪一個序列不是可能的出棧序列?O

A.A、D、E、C、B、FB.A、F、E、D、C、BC.C、B、E、D、A、FD.C、

D、B、F、E、A

二、填空題(10題)

n.在因特網中,屏蔽各個物理網絡細節和差異的是___________o

12.在SQL語言中,為了修改基本表的結構,可以使用的語句是____o

13.數據庫技術的研究領域概括地講可以包括數據庫管理系統軟件的研

制、數據庫理論和【】。

14.虛擬頁式存儲管理,當內存已經被占滿而又要調入新頁時,必須進

行頁面淘汰。頁面淘汰算法包括:最佳淘汰算法(OPT)最近最

少使用淘汰算法(LRU)和最不經常使用淘汰算法(LFU)。

15.數據包過濾技術是在_________對數據包進行選擇。通過檢查數據

流中每個數據包的源地址、目的地址、所用的端口號、協議狀態等因素,

或它們的組合來確定是否允許該數據包通過,它通常安裝在路由器上。

16.IPTV包括視頻點播、直播電視和3個基本業務。

17.頂級域的劃分模式為組織模式和o

18.SQL中的GRANT和REVOKE語句主要用來維護數據的。

19.在關系數據庫的規范化設計中,對模式分解的等價性進行評價的主要

標題是具有無損連接性和[]O

20.一個程序在一個數據集合上的一次執行過程稱為它是系統

進行資源分配的獨立單位。

三、單選題(10題)

21.對于數據庫設計來說()是進行詳細的數據收集和數據分析所獲得的

主要成果。

A.數據流圖B.數據字典C.E-R圖D.關系模式

22.若實體間的聯系是M:N,則將聯系類型()

A.的屬性加入任一個關系模式中

B.的屬性加入N端實體類型相對應的關系模式中

C.的屬性加入M端實體類型相對應的關系模式中

D.也轉換為關系模型

23.已經獲得除CPU以外的所有所需資源的進程處于()狀態。

A.運行狀態B.就緒狀態C.自由狀態D.阻塞狀態

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

說法中,正確的是__________O

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

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

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

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

25.用數組存放循環隊列的元素值,若其頭尾指針分別為front

和rear,則循環隊列中當前元素的個數為()

A.(rear-frontm)modm

B.(rear-front1)modm

C.(rear-front-1m)modm

D.(rear-front)modm

26.密鑰管理包括密鑰的生產、存儲、裝入、分配、保護、銷毀以及保密

等內容,其中最關鍵和最困難的問題是()。

A.密鑰的分配和存儲B.密鑰的產生和裝入C.密鑰的保護和保密D.密

鑰的銷毀

27.ODBC是()

A.客戶機與服務器之間的接口標準B.數據庫查詢語言標準C.數據庫

應用開發工具標準D.數據安全性標準

28.整個軟件生存期中時間最長蹬是()

A.需求分析B.設計C.程序編制D.運行維護

29.關于計算機的操作系統,下面敘述不正確的是

A.操作系統是從管理程序(管理軟件和硬件的程序)發展而來的

B.操作系統既是系統軟件又是應用軟件

C.操作系統是計算機用戶與計算機的接口

D.用戶一般是通過操作系統使用計算機

30.磁盤的讀寫單位是()

A.塊B.扇區C.簇D.字節

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

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

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

組a中取出一個四位數,如果該四位數小于該四位數以后的連續五個數

且該數是偶數(該四位數以后不滿五個數,則不統計),則統計出滿足此

條件的個數ent,并把這些四位數存入數組b中,而后對數組b進行升

序排序,最后調用寫函數writeDat把結果ent以及數組b中符合條件的

四位數輸出到Out.dat文件中。

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

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

請勿改動數據文件in.dat中的任何數據、主函數main、讀函數readDat

和寫函數writeDat的內容。

tinclude<stdio.h>

2?defineMAX200〃定義宏支■KAX其值界于20。

3inta[MAX)rbJMAXl,ent?0;〃,11初始值為0.定義全整舉aIMAXJ,b(>ux!?<?cne

voidwriteDat();//xrlOE《>#敏的說明語句

voidjsVal()

6

B

/?eadgtj)從數據文仲n&i中讀取200個網位數存入數由?中?/

9voidreadDat()

10(

11int1;

12FILEefp;

wM

13fp?fopen(**in.datr°r);

14?for(ia0;1<MAX;1++)

15!fscanf(fp^"&de.&a[i]);

?

16;fclose(fp);

17?卜

18?voidmamO

19;(

20!inti;

21jreadDat();

22\jsVal(>;〃,用【win滴般,實照BIH要求的功能

23?prin“(”滿足條件的數7d\M,:nt);

24ifor(i-0;i<ent;“?)

25?print1(0%d",b[1|);

26?printf;

27;writeDat(I;

28j)

j/?晅數wntcDMHC怙果m以及散帽b中櫛介條件的四位敷?出到uut.dn文件中?/

29:voidwriteDat()

30!(

?

31;FILEafp:

32jint1;

33?fp-fopen(**out.dat**r"W

34jfprintf(fp,7d\n■/ent);

351?ford■0;i<ent;"?)

361fprintf(fpr7d\n*\b(i

37;felose(fp);

38;}

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

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

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

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

替代關系:)=p*17mod256,mod為取余運算,p是數組)xx中某一個字

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

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

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

注意,部分源程序存放在文件中,原始數據文件存放的格式般,悠行的寬度均小于80個字符.含標點符號和空

格,井也按此律代關系進行處理?

請勿改動主函畋miinO、讀曲數RsdDit。胤■出函散WmeDmO的內容.

1!tinclude<3tdlo.h>

2itinclude<strin9.h>

3??include<ctype.h>

4?unsignedchatxx[50][80];

5\intmaxline,0j/?文余的總行敏?/

6!mtReadDat(void);

7;voidHritoDat(void);

6jvoidencryptChar()

jMlqnedIntval:

11

12

13voidmam()

14(

15if(ReadDat())

16(

17printfLift據文件in,dat不能打開!\n\007w);

18return;

19

20encryptChar();

21WriteDatO;

I

22八從文件ilLdBi中博取一?英文文章.存入到無符號?押申數粗?中?/

23intReadDat(void)

24(

25FILEwfp;

26inti00;

27unsignedchar*p;

28if((fp-fopen「mdaL,F))-NULL)

29return1;

30while(fgets(xx[1],80/fp)!-NULL)

31(

32p?strchr(xx[1],*\n*);

33if(p)*p-0;

34

35)

36maxline-1;

37fclose(fp);

38return0;

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

40voidWriteDat(void)

41(

42FILE*fp;

43int1;

44fp■fopen("out.datH,;

45for(1-0;i<maxline;

46(

w,

47printf(%s\n'/xx[1]);

48fprintf(fp,xx(i]);

49J

50fclose(fp);

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

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

數各位上的數字均是奇數,則統計出滿足此條件的個數ent并把這些四

位數按從大到小的順序存入數組b中。最后main函數調用寫函數

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

件中。

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

秩序中已定義數組:a(200].b(200].巳定義變量;ent

請勿改動數據文件iiuht中的任何數據、主的IkmainO、波函!!(readDatQ和寫函數writeDatO的內容.

1-finclude<stdio.h>

2!IdefineMAX200

3;intaIMAX),b(MAX],ent-0;

4JvoidwriteDat();

5?voidjsVal()

6;(

7i

8<}

9;voidreadDat()〃從An.dat文件中博取200個四位數存入數皿a中

12?FILE?fp;

HwM

13ifp-fopen(in.dat<*r);

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

15jfscanf(fp,7d-,

16?fclos?(fp);

17j)

18!voidmain()

21}readDat();

22ijsVal();〃呻H*電“vn”,實現■HQ求的功能

23?printf「滿足條件的數ent);

24jfor(i?0;i<ent;£??)

25\printf{"%d”?b[i));

26!printf:

27jwriteDat();

28:)

29ivoidwriteDatO〃把il枕斯Kcm以及數出lb中桁杵桑小的四位依■出到。3.施文件中

30;(

31-FILE*fp;*

32?inti;

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

w

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

35ifor(i-0;i<ent;1■升?)

36;fprintf(fp,"Qd\nLb(i]);

37!fclose(fp);

38;)

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

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

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

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

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

位數字是原四位數的個位數字,新數的個位數字是原四位數的百位數

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

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

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

最后main函數調用寫函數writeDat把結果ent以及數組b中符合條件

的四位數輸出到文件Out.dat中。

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

程序中已定義數Sha(200].b[200].已定義變ent

請勿改動敷據文件irtdai中的任何數據,main()?讀函數nead!>?0和”函數writeDatO的內容.

1jIinclude<stdio.h>

2iIdefineMAX200〃定義宏堂/MAX,其值等于z。。

3\inta【MAX)?b(MAXhent-0;〃定義全局整整Tt敷煙aIMAX).btWAX?宓支?st,磐初值等于0

4jvoidwriteDatO;

5;voidjsVal()

6!(

1:

8

9voidreadDatO〃從文件中請取20。個四付俵存入敷皿.中

?fp;

fopen("in.dat*,"r*)

14?0;i<MAX;if*)

ISfscanf(fprfca[i]);

16fclose(fp);

17

voidmain()

int

21readDat();

22jsvaio;〃?用”vno的總實現融目要求的動俺

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

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

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

26printf;

27writeDat();

28j)

29voidwriteDatO〃化itir姑累cm以及數餌b中符合條件的四位數■出到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

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

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

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

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

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

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

例1原文fAdb.Bcdzi

abck.LLhj

結果{Acc.Bdcab

hrdlIIik

原始數據文件存放的格式是:銀行的窗度均小于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

36.程序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!Iinclude<stdio.h>

2;intcntrsum;

3!voidwriteDAT();

4;voidcountvalue()

5;(

6;

7!}

8?voidmain()

9|(

10?ent.sum-0;

11:countvalue();

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

13jprintf("滿足條件所有的SIX與NINE的和Td\nw■sum);

14JwriteDATO;

15;)

?/?把姑果cm和cum■出》文件gt&t中?/

16!voidwriteDAT()

17?(

1Q!FTTV?fn?

19jfp-fopen("out.dat.","ww);//以只寫的方式打開文件out.dat

20-fprintf(fp,"虹i\nQd\n",ent,sum);〃把結果cm和wm?出文件gLcht中

21Jfclose(fp);〃關用文件out&t

37.程序test.C的功能是:把s字符串中的所有字符左移一個位置,串

中的第一個字符移到最后。請考生編寫函數chg(char*s)實現程序要求,

最后調用函數readwriteDAT把結果輸出到Out.dat文件中。

儕如S2字符串中醺有內容為;MnJ23xyZ.則■用諛的數后,結果為trtl23xyZM.

拄麻r部分源程序存在U?t.C文件中.

清初改動數據文件in.dat中的任何效據.在函數mainO和愉出函數readwntcDATO的內容.

1[*include<atdio4h>

2[llncludevxricg.hA

3?fdefineN81〃定義堡交■外寓侑存于“

4;voidreadwriteDAT();

5!voidchg(char??)

6?(

8

12!printf(HEnterastring:**);gets(a);

13]printt!"Theoriginalstringis:puts(a);

14'chg(a);

15iprintf("Thestringaftermodified:");

16-puts(a);

17ireadwriteDAT();

18:1

?,?從食件!中&入字樣本?除字籽由今皆??01用金數的口》對字符*掖照■目的要ma」處理,并紀處理處餐”入射文件

;out.dat3?/

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

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

位數的個位數位置上的值減去千位數位置上的值再減去百位數位置上

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

是偶數,則統計出滿足此條件的個數ent,并把這些四位數按從小到大

的順序存入數組b中,最后調用寫函數writeDat把結果ent以及數組b

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

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

程序中已定義數組:4200],耳200].已定義變量tart

請勿改動數據文件indat中的任何數據、主函UtmainO、讀函數readDatO和寫函敷writeDat()的內容?

1j?include<stdio.h>

2\IdefineMAX200

3inta[MAX],b[MAXJ.ent

4voidwriteDat();

5voidjsVal()

6

7

8

9voidreadDdt()

10(

11

12FILE*fp;

13fp*fopen("in.dat",wr");

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

15fscanf(fp,"Rd",6a(1';

16fclose(fp);

17}

18voidmain()

19

20

21readDat();

22jsVal();

23printf「滿足條件的數=?d'n",ent)

24■0si<entji..j

25printf(wtd”,bit]);

26printf(M\nw);

27writeDat();

28

voidwriteDat()

30(

31FILEefp;

33fp-fopen("out.datw,nw,f);

n

34fprintf(fp#**%d\necnt);

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

36fprintf(fpr"*d\n3bl;]);

37fclose(fp);

38

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

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

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

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

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

個字符的ASCII值,玳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

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

把這些數存入數組a中,請編制一函數jsValue,其功能是:求出于位數

上的數加個位數上的數等于百位數上的數加十位數上的數的個數ent,

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

數按從小到大的順序進行排序。最后main函數調用寫函數writeDat把

數組b中的數輸出到文件out.dat中。

例如?6712.6+2=7+1.則該數滿足條件存入數91b中,且個數cnt=cntT.

8129,8+9!-1*2.則該數不清足條件忽略.

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

程序中已定義效姐;U300],b(300].已定義變量:art

請勿改動數據文件in.dat中的任何數據、主函數main()、該的數readDatO和寫的數writcDaU)的內容.

1jIinclude<stdio.h>

2:int&[300),b[300],cnt-0;

3!voidwriteDat();

4ivoidreadDat();

5;voidjsValue()

6;(

7;

8:1

9?main()

10;(

11!int1;

12;readDat();

13\

jsValue<);

14:writeDat();

H

15;printf(cnt-%d\n"rent);

16!for(i?0;i<ent;

I

17jprintf(Hb[%d]-%d\nM1,b

ir

18:

19!voidreadDat()

20;I

FILE*fp;

int1;

w,

fp■fopen(in.dat"/*r*);

ford■0;i<300;[?+)

fscanf(fpt*%dr",[1]);

26;fclose(fp);

271)

28ivoidwrite£>at()

29\I

30?FILEefp;

31?int1;

32.fp-fopen(wout.dat**,Ww");

33jfprintf(fp,"d'n”,cnt>;

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

35?fprintf(fp,Fd\n”,bll]);

36ifclose(fp);

37h

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

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

學生信息、學生選課信息進行管理。已知系(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分)

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

f),R4(a,e,g),其中標下劃線的屬性是主碼。請將上述關系模

式用適當的ER圖表示出來,并用下劃線標注出作為實體主碼的屬

性。(10分)

六、單選題口分K2題)

43.數據庫應用系統日常維護的目標是保證系統能夠正常運行以滿足系

統預期的功能和性能要求。下列關于數據庫應用系統日常維護工作的說

法,錯誤的是()o

A.數據庫管理員應根據不同的應用要求制定不同的備份計劃,在備份計

劃中應包含備份的時間、周期、備份方式和備份內容等

B.數據庫管理員應監控數據庫中各種鎖的使用情況,在數據庫出現鎖不

能及時解除時可能需要手工解鎖

C很多情況下,數據庫管理員需要定期檢查CPU、內存使用情況和操作

系統相關日志,防止數據庫運行環境故障導致數據庫出現問題

D.為了保證系統可靠運行,運行要求級別較高的數據庫一般采用人工監

控方法,很少采用自動監控手段

44.在某信息管理系統中需管理職工的照片信息,由于照片數據量較大,

照片信息是否存儲在數據庫中成為討論的焦點問題。下列關于照片存儲

與使用的說法,錯誤的是()o

A.將照片存儲在數據庫中可能會導致備份時間較長,備份空間占用較多

B.將照片存儲在文件系統中,在數據庫中只存儲照片文件的路徑信息,

可以大幅度降低數據庫的數據量

C將照片存儲在數據庫中雖然會導致數據庫的數據量較大,但可以方便

地實現多臺機器共享照片數據,也可以大幅度提高用戶訪問照片數據的

速度

D.與將照片存儲在文件系統中相比,將照片存儲在數據庫中更容易實現

人員信息和照片數據的一致性

參考答案

LA解析:關系R(A,B)和S(D,C)由公共屬性B,所以RS屬于關

系的自然連接運算,連接條件為R.D=S.B,如果S中的元組在R中沒

有對應的元組,則RS中元組數目為0,如果S中的每一個元組在R

中都有對應的元組,則RS中元組數目為15。

2.B

3.D解析:通過運算可以得出結論D正確。

4.B解析:SQL語言數據查詢的語句是SELECT,數據操作語句有

INSERT,DELETE和UPDATE,數據定義語句有CREATE、DROP和

ALTER,數據控制語句是GRANT和REVOKE。

5.C解析:SQL是高度非過程化語言,故A)錯。SQL語言集數據查詢、

數據操縱、數據定義、數據控制功能于一體;非關系模型的數據語言包

括模式數據定義語言、外模式數據定義語言等。故B)錯。SQL是自含式

語言也是嵌入式語言,故D)錯。

6.B解析:馮?諾依曼提出的存儲程序工作原理決定了計算機硬件系統的

5個基本組成部分,即運算器、控制器、存儲器、輸入設備和輸出設備。

運算器是計算機中執行各種算術運算和邏輯運算的部件,也叫算術邏輯

單元。存儲器是計算機中具有記憶能力的部件,它能根據地址接收和保

存指令或數據,并能根據命令提供有關地址的指令或數據。

控制器的主要作用是使整個計算機能夠自動地執行程序,并控制計算機

各功能部件協調一致地動作。執行程序時,控制器先從主存中按順序取

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

然后向其他功能部件發出執行該指令所需的各種時序控制信號。然后再

從主存中取出下一條指令執行,如此循環,直到程序完成。計算機自動

工作的過程就是逐條執行程序中指令的過程。

輸入設備的主要功能是將數據、程序等用戶信息變換為計算機能識別和

處理的信息形式。

輸出設備的主要功能是將計算機中的二進制信息變換為計算機用戶所

需要并能識別的信息形式。

7.A解析:本題主要考查了關系代數和關系演算的概念。關系代數是通

過對關系的運算來表達查詢要求的方式。關系演算是用謂詞來表達查詢

要求的方式。

8.B解析:在一個關系數據庫文件中,各條記錄的次序無關緊要。也就

是說,任意交換兩行的位置并不影響數據的實際含義。日常生活中常見

的“排名不分先后”正是反映了這種意義。

9.C解析數據庫中的數據是寶貴的共享資源,用戶可以并發使用數據,

這樣,必須有一定的控制手段來保障資源免于破壞。數據庫管理系統對

事務的并發執行進行控制,以保證數據庫一致性,最常用的方法是封鎖

的方法,即當一個事務訪問某個數據項時,以一定的方式鎖住該數據項,

從而限制其事務對該數據項的防問。

10.B解析:棧是限定僅在表的一端進行插入和刪除運算的線性表,這一

端稱為棧頂(top),另一端稱為找底(bottom),具有后進先出(LIFO)的操作

原則。按照這一原則和題目中的條件棧S最多能容納4個元素可知,選

項B(A、F、E、D、C、B)不可能是出棧序列。注意本題題目中的條件

“找S最多能容納4個元素”,如果沒有這一條件,4個選項均是可能的

出棧序列。

1LIP【解析】IP作為一種互聯協議,運行于互聯層,屏蔽各個物理網絡

細節和差異。

12.ALTERTABLEALTERTABLE解析:修改表可能的操作包括:增力口

或修改一個列的定義;增加或刪除表的完整性約束等。SQL語言用

ALTERTABLE語句修改基本表,其一般格式為:

ALTERTABLE〈表名〉

[ADD<新列名><數據類型>[完整性約束]]

[DROP<完整性約束名>]

[MODIFY<列名><數據類型>]

其中,(表名>為指定需要修改的基本表名,ADD子句用于增加新列

和新的完整性約束,DROP子句用于刪除指定的完接性約束,MODIFY

子句用于修改原有的列定義。

13.數據庫設計數據庫技術的研究領域包括數據庫管理系統軟件的研制,

數據庫設計和數據庫的理論。

14.先進先出淘汰算法(FIFO)先進先出淘汰算法(FIFO)解析:虛擬頁式

存儲管理中頁面淘汰的算法常見的有:最佳淘汰算法(OPT),先進先出

淘汰算法(FIFO),最近最少使用淘汰算法(LRU),最不經常使用淘汰算

法(LFU)。

15.網絡【解析】數據包過濾技術是在網絡層對數據包進行選擇。通過

檢查數據流中每個數據包的源地址、目的地址、所用的端口號、協議狀

態等因素,或它們的組合來確定是否允許該數據包通過,它通常安裝在

路由器上。

16.時移電視【解析】IPTV是一種利用寬帶網絡為用戶提供交互式多媒

體服務的業務,具體來說,電視類服務是指與電視服務相關的服務,如

視頻點播、直播電視和時移電視等。

17.地理模式【解析】頂級域的劃分采用了兩種模式,即組織模式和地

理模式。

18.安全性安全性解析:SQL的安全控制功能由GRANT和REVOKE

語句實現。數據庫管理系統保證數據安全的主要措施是進行訪問控制,

即規定不同的用戶對于不同數據對象所允許執行的操作,并控制各用戶

只能訪問他有權訪問的數據。不同的用戶對不同的數據應具有不同的操

作權限。

19.保持函數依賴規范化過程中,將一個關系模式分解為為幾個關系模式,

應保證分解后的模式與原模式等價,常用的等價標準是具有無損連接和

保持函數依賴。

20.進程進程解析:進程是具有一定獨立功能的程序關于某個數據集合

上的一次運行活動,進程是系統進行資源分配和調度的一個獨立單位。

進程可分為系統進程和用戶進程兩類。

21.B

22.D

23.B

24.D

25.A

26.A

27.A

28.D

29.B解析:操作系統是直接運行在裸機上的最基本的系統軟件,其他軟

件都必須在操作系統的支持下才能運行。操作系統是一種資源管理程序,

其主要功能是管理計算機軟硬件資源,組織計算機的工作流程,方便用

戶的使用,并能為其他軟件的開發與使用提供必要的支持。

30.B

31.【審題關鍵句】小于后連續5個數,偶數,從小到大排序。

\n【解題思路】

\n①首先定義兩個循環整型變量i、j和一個用于數據交換的整型變量

abo

\n②然后在for循環語句中,先指定循環變量i從0開始,依次遞增到

MAX-5(到MAX.5的原因是因為從倒數第5個數開始,其后面的數都

不滿5個數,與題目要求不符,因此可以省略最后5個數),接著對每個

數組元素a用判斷其是否為偶數且小于其后面連續的5個數,然后把滿

足此條件的數組元素a[i]賦給數組元素b[cnt],同時數組的下標變量ent

加1。③最后,用雙重for循環語句對數組b中的數組元素兩兩比較大

小,如果前一個數組元素大于后一個數組元素,則兩者進行互換,實現

對數組b進行升序或降序的排列。

\n【參考答案】

\n

\n

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

碼是奇數不變,否則替換。

\n【解題思路】

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

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

\n【參考答案】

\n

\n

33.\n[審題關鍵句】各位都是奇數,從大到小排序。

\n【解題思路】

\n本題類似第32套試題,通過審題可以發現主要是對四位數的篩選條

件有所不同,即判斷四位數的每一位數都為奇數,參考答案的第8條語

句,只需將每位數的判斷條件改為奇數判斷即可。

\n【參考答案】

\n

\n

34.【審題關鍵句】千位+十位組合與個位+百位組合,都是奇數,兩數相

減結果大于等于0小于等于10,從大到小排序。

\n【解題思路】

\n①首先,本題要定義多個變量,包括兩侖循環變量循環isj;用來存

放四位數分解之后各位數的變量qw(千位)、bw(百位)、SW(十位)和gw(個

位);兩個用來存放重新組合數字的變量newVl和newV2。

\n②通過for循環依次對數組中的每個四位數進行分解,每分解一個四

位數,根據題目要求,對其各位數進行重新組合,形成兩個新的十位數,

組合條件分別是原四位數的千位和十位組成一個十位數,個位和百位組

成一個十位數,并將兩個新的十位數分別賦給變量newVI和newV2o

\n③數字重組完畢之后,再根據題目要求篩選滿足條件的四位數,本題

需要考慮多個篩選條件:一是新組合的十位數中,其十位數不能為0,

即原四位數的千位和個位數字不能為0;二是兩個新組合的十位數之差

必須大于等于。小于等于10;三是兩個新組合的數字均為奇數。

\n④將同時滿足以上3個條件的四位數賦給數組b[cnt],同時數組下標

值加1,當for循環執行完畢后,則將所有滿足條件的四位數全部存放

到數組b[cnt]qbo

\n⑤最后通過兩個for循環,對數組b[cnt]中的元素按從大到小的順序排

序,排序過程中,可用newVl或newV2作為數據交換的中間變量。

\n【參考答案】

\n

\n

35.\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

36.【審題關鍵句】計算滿足條件的sIX+sIX+sIx-NINE+NINE的SIX和

NINE的個數以及滿足此條件所有的SIX與NINE的和,S,I,X,N,

E各代表一個十進制數字。

\n【解題思路】

\n①定義整型變量S,i,X,n,e,six,nineo

\n②在第一層for循環中,因為S的值不能為0,所以循環變量s從1開

始,依次遞增直到其值等于10,退出循環。在第二層for循環中,循環

變量i從0開始,依次遞增直到其值等于10,退出循環。在第三層for

循環中,循環變量X從0開始,依次遞增直到其值等于10,退出循環。

在第四層for循環中,因為n的值不能為0,所以循環變量n從1開始,

依次遞增直到其值等于10,退出循環。在第五層for循環中,循環變量

e從0開始,依次遞增直到其值等于10o

\n③設置完所有for循環條件后,在循環體中,由變量S的值乘以100,

變量i的值乘以10,以及變量X組成一個三位數賦給變量six,由變量

n的值乘以1000,變量i的值乘以100,變量n的值乘以10,以及變量

e組成一個四位數賦給變量nine,再用if條件語句判斷,如果三倍的six

等于兩倍的nine,則計數變量ent加1,把six與nine的和累加到變量

sum,同時在屏幕上,輸出six與nine的值。

\n【參考答案】

\n

\n

\n

37.【審題關鍵句】所有字符左移一個位置,串中的第一個字符移到最后。

\n【解題思路】

\n定義循環變量i,字符變量first和字符指針變量P,并使P指向字符

串So

\n②把字符串S的第一個字符賦給first變量保存起來。

\n③在for循環語句中,循環變量i從0開始,依次遞增直到其值等于或

大于(int)strlen(s)—1,把*(p+i+l)的值賦給+(p+i),實現把字符串S中的

所有字符左移一個位置,循環結束后,把first的值賦給p[strlen(s).1],

即把字符串的首字符移動到字符串的最后位置上。

\n【

溫馨提示

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

評論

0/150

提交評論