2023年山東省萊蕪市全國計算機等級考試數據庫技術真題(含答案)_第1頁
2023年山東省萊蕪市全國計算機等級考試數據庫技術真題(含答案)_第2頁
2023年山東省萊蕪市全國計算機等級考試數據庫技術真題(含答案)_第3頁
2023年山東省萊蕪市全國計算機等級考試數據庫技術真題(含答案)_第4頁
2023年山東省萊蕪市全國計算機等級考試數據庫技術真題(含答案)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

(2023年)山東省萊蕪市全國計算機等級

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

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

一、1.選擇題(10題)

i.在關系數據庫基本操作中,從表中選擇滿足某種條件的記錄的操作稱

為O

A.選擇B.投影C.連接D.掃描

2.下列哪一個是輸入設備?

A.繪圖儀B.打印機C.光筆D.數/模轉換器

3.在下面列出的數據模型中,哪一個模型是概念數據模型?

A.關系模型B.層次模型C.網狀模型D.實體-聯系模型

4.如果兩個實體之間的聯系是1M,則實現1M聯系的方法是____。

A.將兩個實體轉換成一個關系

B.將兩個實體轉換的關系中,分別加入另一個關系的主碼

C.將“1”端實體轉換的關系的主碼,放入“M”端實體轉換的關系中

D.將“M”端實體轉換的關系的主碼,放入“1”端實體轉換的關系中

5.某作業(yè)到達系統(tǒng)時間為12:00,估計運行時間為2小時,若14:00

該作業(yè)獲得處理機開始執(zhí)行,則其響應比是()。

A.lB.2C.3D.4

6.在關系數據庫設計理論中,如果一個關系R滿足1NF,但R的某個

非碼屬性傳遞函數依賴于碼,則關系R至多屬于

A.1NFB.2NFC.3NFD.BCNF

7.實現數據庫的特性能夠避免對未提交更新的依賴(“臟數據”

的讀出)。

A.完整性B.并發(fā)性C.安全性D.可移植性

8.在中斷處理中,輸入輸出中斷是指

A.設備出錯B.數據傳輸結束C.設備出錯和數據傳輸結束D.都不是

9.下列進程狀態(tài)的轉換中,哪一個是不正確的?

A.就緒T運行B.運行T就緒C.就緒T等待D.等待T就緒

10.數據庫管理系統(tǒng)(DBMS)是()。

A.一個功能齊全的數據庫應用系統(tǒng)B.操作系統(tǒng)的擴充C一組軟件的

集合,屬于系統(tǒng)軟件D.硬件與軟件的集合

二、填空題(10題)

11.廣義表是線性表的推廣,是由零個或多個單元素或所組成的

有限序列。

12.在關系模式R<U,F>中,如果X-Y且存在X的一個真子集X',

有X,一Y,則稱Y對X的依賴為_____函數依賴。

13.在關系模型中,若屬性A是關系R的主碼,則在R的任何元組中,

屬性A的取值都不允許為空,這種約束稱為規(guī)則。

14.用二維表的形式來表示實體之間聯系的數據模型叫做o

15.設有兩個散列函數Hl(k)=kmodl3和H2(k)=kmod111,散

列表T[0…12],用雙重散列解決沖突。函數H1用來計算散列地址,當

發(fā)生沖突時,H2作為計算下一個探測地址的增量,假定在某一時刻表

T的狀態(tài)為:

012345678910II12

\\\\1111111\

T:|||67|72|||||34|||||

I_______I_I_____I____L__1___I____I___L__L_____I____I_L__I

下一個被插入的關鍵碼是41,其插入的位置是o

16.傳輸層的主要任務是向用戶提供可靠的服務,透明地傳

送報文。

17.先寫日志原則是為了發(fā)生故障后保持數據庫的原子性和所必

須遵循的原則。

18.一個功能完備的網絡系統(tǒng)應該提供一些基本的安全服務功能,這些

功能包括保密性數據完整性、防抵賴和訪問控制。

19.層次數據庫模型的結構是一棵_口_,樹的結點是記錄類型。

20.設有關系R(A,B,C)和S(A,D,E,F),若將關系代數表達式:

「?一”、…舊小用SQL語言的查詢語句表示,則有:SELECTR.A,B,D,

FFROMR,SWHERE。

三、單選題(10題)

21.收縮整個數據庫的大小,可以采用下列語句:()

A.DBCCSHRINKDATABASE

B.DBCCSHRINKFILE

C.ALTERDATABASE

D.CREATESCHEMA

22.在登錄日志文件時,應該

A.將更新數據庫與登錄文件兩個操作同時完成

B.將更新數據庫與登錄文件兩個操作按隨機的順序完成

C.先寫數據庫的更新,后登錄日志文件

D.先登錄日志文件,后寫數據庫的更新

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

部件是

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

24.數據庫是在計算機系統(tǒng)中按照一定的數據模型組織、存儲和應用的()

A.文件的集合B.數據的集合C.命令的集合D.程序的集合

25.E-R圖是數據庫設計的工具之一,它適用于建立數據的()

A.中繼器B.橋接器C.路由器D.網關

26.下列存儲管理方案中,()允許動態(tài)擴充內存容量。

A.固定分區(qū)B.可變分區(qū)C.頁式D.虛擬頁式

27.采用SPOOLing技術的主要目的是()。

A.提供內存和磁盤的接口B.減輕用戶編程負擔C.提高CPU和設備交

換信息的速度D.提高獨占設備的利用率

28.設計與試運行之后投入運行,開始維護工作,過程中監(jiān)控、評價、調

整與修改以保證數據庫系統(tǒng)正常和高效地運行。以下關于數據庫運行維

護工作說法不正確的是()

A.數據庫轉儲與恢復

B.數據庫安全性、完整性控制

C.檢測并改善數據庫性能

D.數據庫的重組修改數據庫原有設計的邏輯結構和物理結構

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

A.插入操作更加方便B.通常不會出現棧滿的情況C.不會出現??盏?/p>

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

30.下列關于SQLServer數據庫用戶權限的說法中,錯誤的是________

A.數據庫用戶自動具有該數據庫中全部用戶數據的查詢權

B.通常情況下,數據庫用戶都來源于服務器的登錄賬戶

C一個登錄賬戶可以對應多個數據庫中的用戶

D.數據庫用戶都自動具有該數據庫中public角色的權限

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

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

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

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

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

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

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

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

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

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

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

進行處理。

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

??include

;tinclude

3finclude<ctype.h>

Aunsignedcharxx(50](80);

5intmaxline■0;/?文第的總行數?/

6intReadDat(void);

7voidWritoDat(void);

8voidencryptChar()

9

10

11

請勿改動主函敷mainO、讀函數ReadDaH)和泊出的數WritelM)的內容,

IInclude<stdlo.h>

?include<string.h>

3?include<ctype.h>

4unsignedcharxx(50)(801;

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9

10

12voidmainO

13

14if(ReadDat())

15

16print,(“數據文件in.dat不能打開!\n\007”);

17return;

18

19encryptChar();

20WriteDat();

21

八從文件m.4bt中請取一■英文文章,存入到字料*收機XX中?/

22intReadDat(void)

23

24;FILE?fp;

25jinti-0;

26;unsignedchar*p;

27!www

if((fp-fopen(in.datrr*))-NULL)

281return1;

29;while(fgets(xx(i]r80,fp)!,NULL)

30

31p-strchr(xx[i]r*\n*);

32if(p)*p-0;

33

34J

35maxline?1;

36fclose(fp);

37return0;

38)

八把她JRu-出現文件ouLdM中?/

voidWrileDat(void)

40(

.jFILE*fp;

42;int1;

43jfp■fopen(wout.dat",Hww);

44;for(i*0;i<maxline;,ix)

45:(

46iprintfxx[i]);

47j

fprintf(fp,"%s\nw,xx(i]);

48!)

49;fclose(fp);

voidmain()

13

14if(ReadDat())

15(

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

17return;

18)

19encryptChar();

20WriteDat();

21)

/?從文件adM中it取一?英文文我.存入弘學料冷敷超xx中?/

22intReadDat(void)

23[

24FILE?£p;

25int1-0;

26unsignedchar*p;

Mww

27if((fp-fopen(in.dat*rr))-NULL)

28return1;

29while(fgets(xx[i]#80rfp)!-NULL)

30(

31p■strchr(xx(l)9?\n*);

32if(p)*p?0;

33i+儲

34)

35maxline*1;

36fclose(fp);

37return0;

38I

/?杷州-出N文件outdat中?/

39voidWriteDat(void)

40(

41FILE*fp;

42inti;

43fp-fopen(*out.dat**,wwM);

44for(i?0;i<maxline;£??)

45(

Mw

46printf(%s\ntxx[i]);

47fprintf(fpr*%s\n*rxx[1]);

48)

49fclose(fp);

50

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

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

程序中巳定義數級:a(200].b(200],巳定義變■:ent

請勿改動數據文付m.dat中的任何數據、主函數讀函數rcadDatO和。滴效writeDatO的內容.

i

1;?include<?tdio.h>

2i?defineMAX200

3!inta(MAX)#b[MAXJ,ent-0;

4;voidjsValO

8?voidreadDatO〃從in.dat:文件中讀原20。個四位故存入故州久中

9i(

10-int1;

11iFILE,fp;

Rw

12;fp-fopen(*ln.datrr");

13!for(i■0;i<MAX;i++)

w

14jfscanf(fpr"%dr6a(1));

15;fclose(fp);

161i

17;writeDatO〃把計算站果cm以及敏機b中行令條杵的網口數?出到guto文件中

18[(

19iFILE?fo;

20int1;

21fp■fopen(wout.dat**,Ww*);

w

22fprintf(fp,*%d\nrent);

23for(i-0;i<ent;

w

24fprintf(fp#td\n*,b[l]);

25fclose(fp);

26

27voidmain()

28

29Int1;

30ceadDat();

31jsVal();〃調用油熱仆實現0Hls求的功施

32priruf("滿足條件的數mRd\n”,nt);

33for(1-0;i<ent;11??)

34printf(??Id”,bli));

35printf(*'\nw);

36writeDat();

37

33.程序test.c的功能是:將大于整數m且緊靠m的k個素數存入數組

XXo請考生編寫函數num(intm,intk,intxx[])實現程序的要求,最后調

用函數readwriteDATO把結果輸出到Out.dat文件中。

例如,若輸入17,5,則應輸出:19,23,29,31,37。

注意:苒分源程序存在te$LC文件中.

清”改動數據文件n&it中的任何數據以及1函數main()和輸出函數readwriteDATO的內容.

1?Iinclude<stdio.h>〃mcludc調句說明魯程序中包公中的標準■人■出嘩前數sugh

2!voidreadwriteDATO;,/南效reidunxeDATOift明語句

3intisP(intm)〃熊故曰川新面是否為素敬,如累是K數則返回1,否則說向0

4|

5Int1;〃定義交量&

6for(i-2;i<m;1??)〃殳■1從2依次&堀到施

7if(m%1-0)return0;〃如果m儉被i?除.返回o

8return1;〃否財城回1

9)

10voidnum(intm,intk,intxx(])

11

12

13

14roain()

15(

16intm,n,xxflOOO);〃定義丈量m,r)和畋趾

17printf(w\nPleaseentertwointegers:w);

H

18scanfCtdr%dr&n);//從讀入兩個我M紛受侵m,n

19num(m,n,xx);〃調用嫉數nurEintE,tmk.mtu[D筌鹿將大于Utm且索森m的k個虐效存入數創(chuàng)xx

20for(m-0;m<n;mi)〃變量d從0依次逢增?nT

21prmtf("Id..xx(m]);〃?曲象蛆兀虞

22prlntf("\nw);〃■出一個包車換行將

23readwriteDAT<H//m用的畋ZwnsDATor錯累■出刊由修文仲中

24)

25voidreadwriteDATO〃咱數rgdwrtteMTC的定義講句

26<

27inte,n.xx(1000)/i;〃定義整型變■Q.C,*卬敏嫻xx[100。]

28FILETfr*wf;〃定義文件指桿套wf

29rf-fopen(win.daf,HrM);〃以只接的方式的〃開文件上n.daj并用r指向這個文件

HHM

30wf-fopenCout.datrw);〃以只寫的方式的打開文件。叱,daj并用wf指向這個文件

31for(i?0;i<10;〃修百變量1從0依次展用到9

32(

w

33fscanf(rft%dacT,Gm,&n);〃從文件in.&tM入兩個數{ft*給m.n

34DUffi(mrn.xx);〃調用,收洪Ctnum(tn?k?u[]■現將大十整數mtn的k個腐敏存入敏tflxx

35for(m-0;ra<n;rn*+)〃俯環(huán)土■■從。依次遢增川n-l

36fprintf(wfrfd-,xx[m]);〃把數他元Itxx[m]耳入到文科out.dat中

H

37fprintf(wfr*\n);〃妃因*挨打籽寫人到文件ouc.dat中

38}

39fclose(rf);〃關閉?入文件in.dat

40fclose(wf);〃關閉■出文件out.ch匕

41

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

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

以行為單位對字符串變量的下標為奇數的位置上的字符按其ASCII值

從小到大的順序進行排序,下標為偶數的位置上的字符仍按原來位置存

放,排序后的結果仍按行重新存入字符串數組)XX中,最后調用函數

WrriteDat把結果xx輸出到out.dat文件中。

例如:位置01234567

源字符串hgfedcba

則處理后字符串hafcdcbR

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

請勿改動數據文件in.dat中的任何數據、主的敷mainO.I(的數re&dDat()和耳函效writuDat。的內容.

1!?Iinclude<stdio.h>

2I?include<string.h>

3?voidreadDat();

4!voidwriteDat();

5;charxx(20)(801:

6!voidjsSort()

7!(

eJ

9!}

101voidmain()

12!readDat();

13;jsSort();

14jwriteDat();

15i)

;。從文件1中讀取20行數據存放到字符串長電XX中”

16!voidreadDat()

17;(

18■FILE-in;

19jint1-0;

20;char*p;

21;in?/open("in.ddL.,,r");

22jwhile(1<20“fgets(xx[1]t80.in)NULL)

23;(

241p-strchr(xx[i]9?\n*);

25;if(p)*p■0;

26?

27j}

28;fciose(in);

29!)

/?把姑果XXa出到OUt&!文件中?/

30;voidwriteDat()

32.FILE*out;

33;int1;

wwR

34?out■fopen(out.datew");

35;for(1-0;i<20;I**)

36?(

37?printf(w%s\nH,xx(i]);

38;fprintf(out,"%s\nw,xx[1]);

39;)

40jCclose(out);

41J)

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

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

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

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

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

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

例如,6712,6+2?7+1.則該敝滿足條件存入數組b中.且個數cnLcnt-l.

8)29.8丹!-1+2,則該數不海足條件忽略.

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

程序中已定義效Sh可300],b{3001.已定義變量?ent

請勿改動數據文件irtart中的任何數據、主函數main()、讀語數readDmO和寫曲敗writcDaU)的內容.

Iinclude<stdio.h>

2inta[300)/b[300J,cnt-0;

3voidwriteDat();

4voidreadDat();

5voidjsValuo()

6

7

8

9?main()

10;(

IX!int1;

12readDat();

13jsValueO;

14writeDat();

15printf("cnt,*d\n”,ent);

16for(i?0;i<ent;

M

17printf(b(td]-%d\n-r1,b(i]);

18

19*voidreadDat()

20;(

21JFILEefp;

22?inti;

w

23ifp-fopen("in.dat",r*);

24;for(i-0;i<300;1>?)

25,fscanf(fp,w%d,",6a(i]);

26;fclose(fp);

27!)

28ivoidwriteDat()

2”

30:FILE?fp;

31;int1;

321fp?fopen(°out.datw,wwH);

33;

fprmtf(fp#7d\n",ent);

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

w

35?fprintf(fpr-%d\nrb[l));

36:fclose(fp);

36.已知在文件in.dat中存有100個產品銷售記錄,每個產品銷售記錄

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

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

量。函數ReadDat讀取這100個銷售記錄并存入結構數組sell中。請編

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

則按產品代碼從小到大進行排列,最終排列結果仍存入結構數組sell中。

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

提示:若中間變量為PROtemp,則可以直接使用結構賦值語句進行解

題。

例如:sell[i]=temp;

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

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

;Iinclude<stdio.h>

2!Iinclude<9trinq.h>

3;IIncludeOtdlib.h>

4:tdeflnoMAX100

5jtypudofstruct

6!(

7chardm(5);/?代碼?/

8charme(1111/,產品名”?/

9intdj;?餅?/

10Intsi;/?B1?/

11longje;/?金??/

12;jPRO;

13!PROselllMAX);

14;voidReadDat();

15JvoidWrlteDat();

16;voidSortDat()

17

18

19

20?voidmain。

21pt

22momoot(sellt0/sizeot(sell)):

23ReadDat()j

24SortDatO;

25WriteDatO;

26I

21voidReadQat()

28(

29FILE?fp;

30charatr(80)tch(ll);

31int1;

w

32fp-fopen(*in.d4t"f"r);

33ford-0;1<100;

34(

35fgetslstir80,fp);

36memepy(sell(1).dmrstrr4);

37memcpy(sell|ij.me,str?4.10);

38meracpy(ch,str*14,4):chf4j-0;

39sell(i].dj?atoi(ch);

4memcpy(ch/Str*18r5):ch(5]-0;

41sell(l).si-atoi(cb);

42sell(i].je-(long>sellll).dj?sell(i)?sl;

43>

44fclose(fp);

45)

46voidWrlteDatO

47(

48FILE*fp;

49int1;

50fp?fopen("out*w*);

51tor(1?0;i<100;"?)

52(

5?fprlntf(fp?"ists%4d%5dt101d\n*rsellfl).dm/sell(l].mc?sell|i).djrscll(l].91,

sellli).je)t

54;

55!fclose(fp);

56i1

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

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

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

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

出到文件out.dat中。

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

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

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

例如?位置012345678

源字符率dcbahgfe

432198765

則處理后字符申hgfcsbcd

876591234

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

請勿改動數據文件ndai中的任何數據、主的數main。.讀編數rcadDttO和寫函數疝館。皿)的內容.

*include<stdio.h>

*include<strlng.h>

3voidreadDat();

4voidwriteDat();

5Charxx(20][80);

6voidjsSort()

7

8

9

10voidmain()

11(

12readDat0;

13jsSort();

writeDat();

)

/?從文件申金取20打數依存放*字/即故tau中?/

16voidreadDat()

17(

18FILEein;

19int1-0;

20charep;

21in■fopen(win.datw,"rw);

22whiled<20“fgets(xx[l),80,in)!-NULL)

23(

24p-strchr(xx(ilt?\n,);

25if(p)-0;

26

27

28fclose(in);

29)

/?紀皓果XX■出到文件outat中?/

30voidwriteDat0

31(

32FILE?out;

33int1;

34out-fopen(*out.datw,*wn);

35for(l-0;i<20;

36(

37prlntfxx(l]);

38fprintf(out/xx[1));

39

40fclose(out);

41

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

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

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

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

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

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

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

中。

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

程序中已定義效tJha(200].b(200],已定義支ent

請勿改動數據文件in.&t中的任何數據、主函數main。、讀函數readDat。和寫函數wrheDatf)的內容.

Iinclude<stdio.h>

2?defineMAX200〃定義室受■MAX,箕僮等于20。

3inta(MAX),b(MAX)#ent?0;〃定義■甲敷蛆a【MAX),和更■ent,并*cnt的初值為q

4voidwriteDatO;

5voidjsVal()

6,

7

8

9voidreadDat

10

int1;

12iFILETp;

13jfp-fopen("in.dat",*rw);

14iford-0;1<MAX;

IS;fscanf(fp,"W",(a[i|>;

16!fclose(fp);

17?

18\voidmain()

19i

20;inti;

211readDat();

221jsVal():〃?用jsval()鼎敗實現Mfl要求的功能

23*printf("滿足條件的融ent);

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

25\printf(R%d

26;printf("\nw);

27jwriteDat();

28;

29;voidwriteDat()

30?

31;FILE-fp;

32!int1;

33\fp-fopen("out.daL.Hw">

34;fprintf(fpr"Sd\n".ent);

35!for(1-0;i<ent;

36;fprintf(fp,7d\n”.b(lj

37;fclose(fp);

38?

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

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

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

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

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

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

字),如果新組成的兩個位數ab〉cd,ab必須是偶數且能被5整除,cd必

須是奇數,同時兩個新數的十位數字均不為零,則將滿足此條件的四位

數按從大到小的順序存入數組b中,并要計算滿足上述條件的四位數的

個數ent。最后main函數調用寫函數writeDat把結果ent以及數組b中

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

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

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

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

!linclude<stdio.h>

j?defineMAX200

3jinta(MAX],b(MAX],ent-0;

4!voidwrlteDat();

5!voidjsVal()

6

7

8

9voidreadDat()〃從m.dat文件中it取200個四位數存入數超a中

10j(

11-int1;

12?FILE*fp;

13;fp-fopen(Hin.datw,-r*1);

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

15!fscant(tp.wtd",;

16;fclose(fp);

17;}

18;voidmain()

19;(.

20!inti;

21ireadDat("

22jjsValO;〃調用南敏”vc(>,去觀的動能

23ipr£ntf「海足條件的敏Td\n”,ent);

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

251printf(w%d-,b[iD;

26?prlntf("\nw);

27writeDat();

28?

29voidwriteDat()〃把計算的果cm以及敷蛆b中希臺條忖的四位依■出jMouidm文件中

30(

31FILE,£p;

32inti;

33fp?fopenLout.dat".Rww);

w

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

35for(i-0;i<ent;£??)

36fprintf(fprb[l]);

37fclose(fp);

38

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

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

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

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

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

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

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

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

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

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

和寫函數writeDat的內容。

1-tinclude<stdio.h>

2?tdefineMAX200〃定義宏安?KAXK值等于23

?

3;inta(MAX)rb(MAX],ent-0;初始G力0?定義仝胃幫”敏伯MMAX:.b(MWC|?<lcn

41voidwriteDat();咕數的說明語句

5jvoidj?Val()

?/?從依據文件見3中設取200個網位數存入敷用?中?/

?voidreadDat()

101(

int1;

12iFILE*fp;

H

13;fp?fopen(in.dat*r

14for(ia0;i<MAX;

15fscanf(fpr"d",&a[i]);

16fclose(fp);

17>

18voidmamO

19

20inti;

21readDat();

22jsValO;〃惻網鼎也實Kim要求的功能

23printf("滿足條件的數7d\n,:nt);

24for(1-0;i<ent;

25print1(**%d8,b(11);

26printf;

27writeDat();

28)

i/?W數wntcDiMHC姑果E以及效組b中將C條件的四位數■出到0ut.(ht文件中?/

29:voidwriteDat()

30

31FILE*fp;

32inti;

w

33fpnfopen("out.datr"w");

34fprintf(fprRQd\n",ent);

35for(i■0;1<ent;

36fprintf(fp,"%d\n"rb(i));

37fclose(fp);

38

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

41.設某連鎖商店數據庫中有關系模式R:R(商店編號,商品編號,庫

存數量,部門編號,負責人)如果規(guī)定:每個商店的每種商品只在一個

部門銷售,每個商店的每個部門只有一個負責人,每個商店的每種商品

只有一個庫存數量。(10分)(1)請根據上述規(guī)定,寫出關系模式R的

函數依賴集;(2)請給出關系模式R的候選碼;(3)請說明關系模式R

屬于第幾范式,并給出理由;(4)請將R分解成滿足3NF的關系模式。

42.在SQLServer2008中,設某數據庫中有商品表(商品號,商品名,

進貨價格),商品號為主碼;銷售表(商品號,銷售時間,銷售數量,銷

售價格,本次利潤),商品號和銷售時間為主碼,銷售價格為本次銷售商

品的單價?,F要求每當在銷售表中插入前4列數據時(假設一次只插入

一行數據),系統(tǒng)自動計算本次銷售產生的利潤,并將該利潤賦給銷售

表的第5歹IJ“本次利潤”。請編寫實現上述功能的后觸發(fā)型觸發(fā)器代碼。

(10分)

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

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

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

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

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

44.設在數據庫應用系統(tǒng)設計與實現過程中有下列活動:I.數據庫邏輯

結構設計II.數據庫事務概要設計山.應用程序概要設計IV.系統(tǒng)總體

框架設計上述任務中屬于數據庫應用系統(tǒng)邏輯設計階段工作內容的是

()o

A.僅I、II和HIB.僅I、II和IVC.僅H、HI和IVD.以上全部

參考答案

1A解析:選擇(selection)是關系R中選擇滿足給定條件的諸元組,選擇

運算實際上是從關系R中選取邏輯表達式F為真的元組。這是從行的

角度進行的運算。因此從表中選擇滿足某種條件的記錄的操作稱為選擇。

2.C解析:輸入設備有:鍵盤、鼠標、光筆、紙袋輸入機、模/數轉換器、

聲音識別輸入等。輸出設備有:打印機、顯示器、繪圖儀、數/模轉換器。

注意:A),B),D)選項的內容屬于計算機的輸出設備,故C)選項正確。

掌握計算機的系統(tǒng)組成和計算機軟件的相關知識。

3.D解析:概念模型是按用戶的觀點對數據和信息建模,也稱為信息模

型。概念模型語義表達能力強,不涉及信息在計算機中的表示,如實體

-聯系模型,語義網絡模型等。

4.C

5.B解析:作業(yè)的響應比為作業(yè)響應時間與作業(yè)實際要求服務時間的比

值,其中響應時間等于作業(yè)等待時間與作業(yè)要求服務時間的和。在此題

中,響應時間為4小時,要求服務時間為2小時。

6.B第二范式(2NF)要求實體的屬性完全依賴于主關鍵字。所謂完全依

賴是指不能存在僅依賴主關鍵字一部分的屬性,如果存在,那么這個屬

性和主關鍵字的這一部分應該分離出來形成一個新的實體,新實體與原

實體之間是一對多的關系。為實現區(qū)分通常需要為表加上一個列,以存

儲各個實例的惟一標識。簡而言之,第二范式就是非主屬性非部分依賴

于主關鍵字。所以其最多為2NF。

7.B解析:數據庫的并發(fā)性是指當多個用戶的并發(fā)進程同時存取、修改

數據庫時,可能會發(fā)生相互干擾而得到錯誤的結果,并使數據庫完整性

遭到破壞,并能夠避免對未提交更新的依賴(“臟數據”的讀出)。

8.C輸入輸出中斷:它是當外部設備或通道操作正常結束或發(fā)生錯誤時

所發(fā)生的中斷。例如:打印機打印完成、缺紙,讀磁盤時相應驅動器中

沒有磁盤等。

9.C解析:在上述4種轉換中,就緒一等待這種轉換不存在,所以是不

正確的。

10.C解析:數據庫管理系統(tǒng)是指數據庫系統(tǒng)中管理數據的軟件系統(tǒng),

DBMS是數據庫系統(tǒng)的核心組成部分。

]]?子表子表

12.部分部分

13.實體完整性實體完整性

14.關系數據模型關系數據模型解析:根據關系數據模型的定義,實體

與實體之間的聯系用二維表來表示的數據模型稱為關系數據模型。

15.根據H1,41的插入位置應該是41mod13,即2,但位置2有沖

突,用H2探測地址增量:41mod11+1=9,所以其插入位置應該是2

+9=11,所以其插入位置為11。

16.端到端(或End.tO.End)【解析】傳輸層的主要任務是向用戶提供可靠

的端到端服務,透明地傳送報文。它向高層屏蔽了下層數據通信的細節(jié),

因而是計算機通信體系結構中最關鍵的一層。

17.持久性持久性解析:為保證對故障恢復的支持,登記日志記錄時必

須遵循以下原則:登記的順序嚴格按照事務的并發(fā)執(zhí)行中各操作發(fā)生的

實際順序;必須先把日志記錄寫到外存的日志文件中,再把相應的數據

庫修改寫到外存的數據庫中。這稱作先寫日志的原則,是為了發(fā)生故障

后保持數據庫的原子性和持久性所必須遵循的原則。

18.認證認證

19.有向樹用樹形結構表示實體類型及實體間聯系是層次模式最主要的

特征,層次結構是一棵有向樹,樹的節(jié)點是記錄。根節(jié)點只有一個

2O.R.A=S.A或S.A=R.A【解析】自然連接是一種特殊的等值連接,它

要求兩個關系中進行比較的分量必須是相同的屬性組,并且要在結果中

把重復的屬性去掉。本題是自然連接,所以本題答案為R.A=S.A或S.A

—R.A。

21.A

22.D解析:為保證數據庫是可恢復的,登記日志文件時必須遵循以下兩

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

日志文件,后寫數據庫。

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

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

備。運算器是計算機中執(zhí)行各種算術運算和邏輯運算的部件,也叫算術

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

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

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

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

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

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

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

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

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

處理的信息形式。

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

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

24.B解析:根據數據庫的定義可知,數據庫是長期儲存在計算機內的、

有組織的、可共享的數據集合。數據庫中的數據按一定的數據模型組織、

描述和存儲,具有較小的冗余度、較高的數據獨立性、和易擴展性,并

可為各種用戶所共享。

25.A

26.D虛擬頁式存儲管理又稱為請求頁式存儲管理,請求頁式的基本思想

是,在進程開始執(zhí)行之前,不是裝入全部頁面,而是只是裝入一個(甚至

。個)頁面,然后根據進程執(zhí)行的需要,動態(tài)地裝入其他頁面。

27.D解析:在一類設備上模擬另一類設備的技術稱為虛設備技術。通常

使用高速設備來模擬低速設備,以此把原來慢速的獨占設備改造成為若

干進程共享的快速共事設備。就好像把一臺設備變成了多臺虛擬設備,

從而提高了設備的利用率.我們稱被模擬的設備為虛設備。SPOOLing

技術是一類典型的虛設備技術。

28.D

29.B

30.A

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

的ASCII碼是偶數不變,否則替換。

\n【解題思路】

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

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

\n【參考答案】

\n

\n

32.\n【審題關鍵句】個位+千位與百位+十位,偶數,整除,從大到小排

序。

\n【解題思路】

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

件有所不同,體現在兩個方面:①分解后重新組合成兩位數的方式不同,

參考答案的第8、9條語句重新指定兩位數的組合方式:②新組合的兩

位數的偶數的判斷及整除判斷,參考答案的第10條語句。注意,兩個

整除關系表達式要用或運算符(II)連接,且用括號括起來先進行整除運算

(因為或運算級別比與運算級別低,因此要括起來),再與奇偶性判斷表

達式進行與()運算。

\n【參考答案】

\n

\n

\n

33.【審題關鍵句】將大于整數m且緊靠m的k個素數存入數組。

\n【解題思路】

\n①首先定義一個計數變量ent并賦初值為0o

\n②利用while循環(huán)統(tǒng)計大于整數m且緊靠m的k個素數,當計數變量

ent

溫馨提示

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

最新文檔

評論

0/150

提交評論