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

下載本文檔

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

文檔簡介

2022年山東省威海市全國計算機等級考試

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

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

一、1.選擇題(10題)

1.下述數據庫系統中,屬于第一代數據庫系統的是____.0

A.SybaseB.IngresC.IMSD.ObjectStore

2.以下哪一個不是隊列的基本運算?

A.從隊尾插入一個新元素B.從隊列中刪除第i個元素C.判斷一個隊列

是否為空D.讀取隊頭元素的值

3.下列敘述正確的是

A.同一關系內部屬性之間不能存在引用關系

B.外碼一定要與相應的主碼同名

C同一個關系中不允許出現完全相同的元組

D.同一個關系中主碼的值可以相同

4.系統進行資源分配和調度的獨立單位是

A.進程B.線程C.中斷程序D.用戶程序

5.下列說法中正確的是

A.死鎖是操作系統中的問題,數據庫系統中不存在

B.只有在執行并發操作時才有可能出現死鎖

C.在數據庫操作中防止死鎖的方法是禁止兩個用戶同時操作數據庫

D.當多個用戶競爭訪問相同的資源時不會發生死鎖

6.下列關于分布式數據庫系統的敘述中,不正確的是()。

A.分布式數據庫系統中的結點是緊耦合的,它們形成單一的數據庫系統

B.分布式數據庫系統中的結點是松耦合的,每一個結點都是一個獨立的

數據庫系統

C.分布式數據庫系統用戶的操作與非分布式數據庫系統的操作是完全

相同的

D.分布式數據庫系統的所有問題應當是內部的、實現級別的問題

7.下列哪一項是數據庫系統的核心和基礎?

A.數據模型B.數據庫管理系統C.數據庫技術D.關系理論

8.SQL語言的REVOKE語句實現下列哪一種數據控制功能

A.可靠性控制B.并發性控制C.安全性控制D.完整性控制

9.對線性表進行二分法查找,其前提條件是_____。

A.線性表以順序方式存儲,并已按關鍵碼值排好序

B.線性表以順序方式存儲,并已按關鍵碼值的查找頻率排好序

C.線性表以鏈接方式存儲,并已按關鍵碼值排好序

D.線性表以鏈接方式存儲,并已按關鍵碼值的查找頻率排好序

10.線性表是一個具有n個什么項目的有限序列?

A.表元素B.字符C.數據元素D.數據項

二、填空題(10題)

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

12.OS1參考模型中,網絡層的主要功能有:擁塞控制和

網絡互聯等。

13.設待排序關鍵碼序列為(25,18,9,33,67,82,53,95,12,70),

要按關鍵碼值遞增的順序進行排序,采取以第一個關鍵碼為分界元素的

快速排序法,第一趟完成后關鍵碼33被放到了第個位置。

14.搜索引擎在外觀、功能等方面都不相同,但其構成一般包括搜索器、

索引器、和用戶接口4個部分。

15.計算機應用技術領域包括科學計算、事務處理、過程控制、輔助工程、

網絡應用和多媒體的應用等七大領域。

16.數據庫管理系統中事務的隔離性主要由____部件來保證。

17.是用戶接入Internet的入口點,一方面它為用戶提供Internet

接入服務,另一方面,它也為用戶提供各類信息服務。

18.UNIX內核部分包括文件子系統和控制子系統。

19.數據庫系統的三級組織結構中,DBA視圖是【】。

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

表達式兀RARB.SD.SF(RS)用SQL的查詢語句表示,則有:SELECT

R.A,R.B,S,D,S.FFROMR,SWHERE[]

三、單選題(10題)

21.病毒的主要特性表現在如下哪幾個方面?()

I.傳染性

II.靈活性

III.破壞性

IV.隱蔽性

V.常駐內存

A.I、II和mB.I、n和wc.II、m和wD.全都是

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

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

計數據庫物理結構

23.ODBC是()

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

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

24.在數據庫概念設計階段,進行局部E-R模式的設計時,為實體和聯

系確定屬性的原則除了()外都是。

A.屬性應該是不可再分解的語義單位

B.先確定公共實體類型的屬性

C.實體與屬性之間的關系只能是1:N的

D.不同實體類型的屬性之間應為直接關聯關系

25.關于AdHoe網絡的描述中,錯誤的是()

A.A.是一種對等式的無線移動網絡

B.在WLAN的基礎上發展起來

C.采用無基站的通信模式

D.在軍事領域應用廣泛

26.下述哪個成立時,稱X-Y為平凡的函數依賴?

A.XYB.YXC.XPY=D.XPY#

27.以下有關數據結構的敘述,正確的是()

A.線性表的線性存儲結構優于鏈式存儲結構

B.二叉樹的第i層上有2i-l個結點,深度為k的二叉樹上有2k-1個結

C二維數組是其數據元素為線性表的線性表

D.棧的操作方式是先進先出

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

語句UPDATE實現()功能。

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

29.在SQL語言中,()子句能夠實現關系參照性規則。

A.PRIMARYKEY

B.NOTNULL

C.FOREIGNKEY

D.FOREIGNKEY...REFERENCES...

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

A.固定分區B.可變分區C.頁式D.虛擬頁式

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

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

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

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

入字符串數組XX中。最后main函數調用函數WriteDat把結果XX輸

出到文件out.dat中。

例:原文:dAe,BfC.

CCbbAA結果:fedCBAbbCCAA原始數據文件存放的格式是:每行

的寬度均小于80個字符,含標點符號和空格。

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

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

的內容。

linclude<stdio?h>

?include<string.h>

3charxx[50)(80);

*1unsignedintmaxline0;八文章的總行數?1

5intReadDat(void);

6voidWriteDat(void);

7voidSortCharD(void)

8

9

10

11voidmain()

12

13if(ReadDat())

14(

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

16return;

17

18SortCharD0;

19WriteDat();

20

/?從文件rndst中讀取一篇英文文拿并人胃字符申敷tflXX中?/

21intReadDat(void)

22

23?FILE

24;inti,0;

25!char*p;

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

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

!,?當從文件ln.dat中讀取79個字符存入xxlil設育1?設發生時.執行微環體中的語句〃

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

29;1

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

31;if(p)*p-0;〃如果p的值不為零.劃元其值設置為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!}

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

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

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

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

函數ReadWrite實現從文件indat中讀取兩個字符串,并調用函數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郎果博出到文件即如中,/

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

人如臬子字符申的量后個字椅是同架按行符或是文鐘帖販料,明紀子字符串的?后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

33.

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

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

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

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

入字符串數組XX中。最后main函數調用函數WriteDat把結果xx輸出

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

abck.LLhj結果:Aca.Bbcyzzabj.LLgi原始數據文件存放的格式是:

每行的寬度均小于80個字符,含標點符號和空格。

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

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

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

5?intReadDat(void);

6;voidWriteDat(void);

!,?以后為?位忙字符串中的析科小耳學用改寫成力學陽的上一個字用,如量能?用M修改寫A字艱加M他字符保》不克?/

7?voidConvertCharD(void)

8

9

10

11;voidmain()

12\I

13?if(ReadDatO)

14I(

15printf("數據文件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

;/結果H■巾*文件am中?/

3B\voidWriteDat(void)

39)(

40FILEefp;

41*inti;

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

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

44i(

45printfxx(1|;

46fprintf(fpr"Qs\n**.xx(i));

47

48?fcloae(fp);

49

34.程序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?/

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

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

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

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

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

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

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

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

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

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

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

注意I部分圖程序存在工C文件中.

程序中已定義數fth4200].b[200],已定義變='ent

請勿改動敷據文件iruiai中的任何數據.主函讀函數rradDatO和寫函數writeDaM)的內容.

1?Iinclude<stdio.h>

2jIdefineMAX200〃定義宏堂UMAX.H值等干z。。

3?inta[MAX)tb[MAXJ,ent-0;〃定義全局魯型Tft敷煙alMAX).b[WAX?和受■ent,汽葡(ft等于。

4;voidwriteDat();

5;voidjsVal()

6i1(

7i

8\1

9;voidreadDatO〃從幺文件中it取200個四付族存入敷IS.中

10;(

11!int1;

12jFILEefp;

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

14?!ford-0;i<MAX;

15ifscanf(fpr(a(1])?

16;fclose(fp);

17iI

i

18(voidmain()

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

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

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

人重新開始1到m的報數,如此進行下去直到所有的人都出圈為止。現

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

函數Josegh(void)實現此功能,并調用函數writeDat,把結果P輸出到文

件out.dat中。

設n=100,s=l,m=10o

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

②若第i個人報數后出圈,則將p[i]置于數組的倒數第i個位置上,而原

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

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

注意:部分源程序已經給出。

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

1?linclude<stdio.h>

2;IdefineN100

3j?defineS1

4;*defineM10

5!intp(100]9nrsrm;

6;voidWriteDat(void);

voidJoscgh(void)

8

9

10

11voidmain()

12

13m?M;

14nN;

15S;

16Josegh();

17WriteDat();

18

/*忙姑里p?出到文件gutat中?/

voidWriteDat(void)

int1;

FILEefp;

fp?fopen("out.dat*rRww);

,?以地?的方式,以個獨界為-?祖把也由川口■出利解幕匍文件。ut.dm中?/

24for(i-N-1;1>?0;i-)

25

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

27ifprintf(fp,"Md",pfl]);

28if(i%10-0)〃如果1■被10整除.射■出一個回東換行檢

29(

30printf("\nM);

31fprintf(fp/"\n*);

32}

33)

34fclose(fp);

35

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

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

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

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

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

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

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

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

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

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

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

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

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

請勿改動數據文件in.dat中的任何數據、主函數main。、讀法敷readDatO和寫函數writeDaU)的內容.

1ilinclude<stdio.h>

2IIdefineMAX200

3■inta[MAX],b(MAX]9ent■0;

4!voidwriteDat();

5;voidjsVal()

6?J

7i

8;}

9\voidreadDat()〃從in.dat文件中it取200個四位數存入敷殂a中

10\(

11;int£;

12!FILEefp;

131fp?fopen

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

15!fscanf(fp#Fd。;

16;fclose(fp);

17!1

18?voidmain()

19;(?

20!inti;

21treadDat();

22;jsValO;〃?用南敏”hl。,實現Ihi要求的功能

23jprintf滿足條件的融**d\n”,ent);

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

25!printf(M%d,b[i]);

26?printf("\nw);

27writeDat();

28I

29voidwriteDat(>〃紀計年齡果ent以及敷蛆b中的合條件的四位Ik?出到oui.dm文件中

30(

31FILE*fp;

32inti;

33fp■fopen(wout.datw,Rww);

34fprintf(fp,7d\nLent);

35for(1■0;i<ent;

36fprintf(fp,"tdXn**/b[i));

37fclose(fp);

38

38.程序test.c的功能是:計算100以內滿足以下條件的所有整數i的

個數ent以及這些i之和sum。條件:i,i+4,i+10都是素數,同時i+10

小于100o請考生編寫函數countvalue實現程序要求,最后調用函數

wfiteDAT把結果ent和sum輸出到文件out.dat中。(數值1不是素數)

部分源程序存放在UM.C文件中.

請勿改動主函數nuinO和輸出數據函數WTUCDATO的內容.

1?Hnclude<stdio.h>句貝明各稅庫中包含vBO中的標瘴■人■卅nr■故皿上

2?voidwriteDATO;〃謂數.KASMT什的聲明遇句

3;Antcntrsun;〃定義全局■厘堂?門u.gg

4!intisPrime(intnumber)〃■盤“Pdnsmumber)%斷nuaber是否是K&,如JIJllC敗.電蛔回的債等1

?】?杏劑返I可tag的使等于。

xntittag-1;〃定文身■1利caq,#旦”攵■“Q的初值等于1

if(number”11

return0;〃如里nunfc?工的他善于1.劃坂同。

for(1-2;tag“i<-number/2;i++)〃變量,從2開的,七次次IAXnfll小方等rn?abe“2

ll?Bto?的值再于:H.■出fll環

if(number11??0)

tag?0;Z/tl*nunbftrft*itag0

returntag;〃篇回殳的1ft

I

voidcountV&lue()

voidmain()

ent-SUDI-0;〃用全同殳量mt.auRK9Jtto

countvalue();〃?用■室遺打骨工

pr±ntf「清足條件的《!效的個散?ld\n-eent);〃在上■出?足條件的■敢個&ent

printf(■耦足條件的整數的物值?id\n,sum);〃在岸?上?出?足務仔的■我的Su

wrxteDAT();〃小便船out.cut

|

voidwriteDATO

(

FILE#fp;〃定義文fMtHfp

fp-fopen("out.dat",*ww);//以只n的方式蚪打開文件out.dac.井艮”指向此文外

fprintf(fp,,,%d\ntd\n",ent,sum);〃紀索數的個H(ftent?KI的韁gg”入川文村aut.d?匕

fcloae(fp);〃關tfi文和out.cut

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

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

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

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

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

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

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

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

程序中已定義數組:4200],6(200],已定義變量Ient

請勿改動數據文件indax中的任何數據.主曲數讀函數readDMO和寫函數writeDat()的內容。

Ij?include<stdio.h>

2;IdefineMAX200

3inta(MAX],b[MAXJ/ent

4voidwriteDat();

voidjsVal()

6

7

8

9voidreadDat()

10(

11inti;

FILE*fp;

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

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

15fscanf(fp,7d",[iI);

16fclose(fp);

17}

18voidmain()

19I

20inti;

21readDat();

22jsVal();

23prin"「澗足條件的敷。ent);

24for(i-0;i<ent;

25printf(?*%(!”,bill);

26printf(w\nw);

27writeDat();

26I

29voidwriteDat()

30

31FILEefp;

32intij

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

nn

34fprintf(fp,%d\necnt);

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

36fprintf(fpr”d\n",b(x));

37fclose(fp);

38

40.已知在in.dat中存有若干個(個數<200)四位數字的正整數,函數

ReadDat讀取這若干個正整數并存入數組XX中。請編制函數CalValue,

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

正整數中的各位數字之和是奇數的數的個數totCnt,以及滿足此條件的

這些正整數的算術平均值totPjzo最后maini函數調用函數WriteDat把

所求的結果輸出到Out.dat文件中。

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

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

和輸出數據函數WriteDat的內容。

#include<stdio.h>

?defineMAXNUM200

3intxx[MAXNUM);

4inttotNujn.0;//文件In.dat中共刊多少個正整數

5inttotCnt?0;〃符合條件的正整室的個敷

6doubletotPjz■0.0;//平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain()

14

15!int1;

16;for(i-0;i<MAXNUM;i++)

17;xx(i]?0;

18;if(ReadDat())

19;

20!pr,ntf<”8(據文件in.dat不能打開!\007\n");

211return;

22;

23!CalValue();

24;printf("文件in.dat中共有正整數個\n",totNum);

H

25;printf("符合條件的正整數的個數=%d4*\nrtotcnt);

26!printf("平均值totPjz);

27IWriteDat();

285

/?速取這著F個正靴數并存入數川?中?/

29;intReadDat(void)

30!

31;FILE?fp;

325inti?0;

33?if((fp*fopen("in.dat*\"rw))一鵬

34;return1;

35;while(!feof(fp))

36j

37\fscant(fp?Fd?",^xx[i

38?

39jfclose(fp);

40;return0;

41;

/?七計算站果存入文件out.dat中?/

voidWriteDat(void)

43J(

44;FILE?fp;

45;fp■fopen(tfout.datw**wH);

i9

w

46ifprintf(fp,"%d\n%d\n%.21f\n,totNutn,totCnt,totPjz);

S;fclose(fp);

48?)

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

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

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

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

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

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

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

42.設有某商業單位需要建立商務數據庫用以處理銷售記賬,它記錄的數

據包括:顧客姓名,所在單位及電話號碼;商品名稱,型號,產地及單

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

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

圖模型并優化。(6分)(2)將ER模型換成關系模型并規范化到3NFO

(4分)

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

43.在數據庫應用系統的需求分析階段,設有如下工作:1.分析與描述

目標系統需要完成的功能II.分析與描述目標系統對響應時間、存儲容

量的要求ni.分析與描述目標系統涉及的數據范圍、數據的屬性特征及

數據之間的關系IV.分析與描述每項功能活動需要的輸入數據、業務規

則及輸出數據分析與描述目標系統的總體結構、功能活動及各功能活動

之間的關系以上屬于系統功能建模內容的是()o

A.僅I、w和vB.僅II、w和vc.僅I、II和niD.僅m、w和v

44.在一臺正在運行的SQLServer2008中,現需使用復制數據庫文件的

方法將某數據庫從一臺服務器移動到另一臺服務器。關于復制數據庫文

件,有下列實現方法:1.首先從數據庫服務器中分離出要復制的數據

庫,然后復制數據庫文件n.首先停止SQLServer數據庫引擎服務,然

后復制數據庫文件HI.首先斷開所有用戶與數據庫的連接,然后復制數

據庫文件W.由Windows系統管理員直接到操作系統中復制數據庫文

件上述方法中,可行的是()o

A.僅I和IIB.僅II和mc.僅m和wD.都可以

參考答案

1.C

2.B解析:本題是對隊列的基本運算的考查,隊列是另一種特殊的線性

表,限定所有的插入都在表的一端進行,所有的表的刪除都在另一端進

行,即先進先出。基本運算包括從隊尾插入一個新元素、從隊頭中刪除

一個元素、讀取隊頭元素的值和判斷一個隊列是否為空。而選項B所述

操作“從隊列中刪除第i個元素”違反了隊列中“先進先出”原則,不是隊

列的基本運算,所以正確答案為選項B。

3.C解析:同一關系內部屬性之間可以存在引用關系,所以A)錯。外碼

并不一定要與相應的主碼同名,所以B)錯。同一個關系中主碼的值不可

以相同,所以D)錯。

4.A解析:本題主要考查了進程的基本概念。進程觀點把操作系統看作

由若干個可以同時獨立運行的程序和一個對這些程序進行協調的核心

所組成,這些同時運行的程序稱為進程。系統進行資源分配和調度的獨立

單位。

5.B解析:所謂死鎖是指系統和進程所處的一種狀態,在系統中兩個或

多個進程無限期地等待永遠不會發生的條件,就稱為死鎖。發生死鎖的

必要條件為:1、互斥條件;2、不可搶占性;3、部分分配條件;4、循

環等待條件。當對數據出現并發操作時才有可能出現死鎖。

6.A解析分布式系統與并行系統不同,并行系統中處理器是緊耦合的,

它們形成了單一的數據庫系統;而分布式數據庫系統由一些松耦合的結

點組成,這些結點不共享任何物理部件。在分布式數據庫系統中,每一

個結點是一個獨立的數據庫系統。分布式數據庫的基本原理如下:對于

用戶來講,分布式系統必須看起來像一個非分布式系統。換句話說,分

布式系統的用戶的操作與非分布式系統是完全相同的。分布式系統的所

有問題是內部的、實現級別的問題,而不是外部的、用戶級別的問題。

7.A解析:模型是現實世界特征的模擬和抽象。數據模型(DataModel)也

是一種模型,它是現實世界數據特征的抽象。現有的數據庫系統均是基

于數據模型的,因此,數據模型是數據庫系統的核心和基礎。

8.C解析:所有授予出去的權限可以用RE—VOKE語句收回,保證了

數據庫管理系統的數據安全。

9.A解析:二分法查找是一種線性表查找方法,其基本方法是:首先要

用要查找的關鍵碼與線性表中間位置結點的關鍵碼值進行比較,這個中

間結點把線性表分為兩個子表,比較相等則查找完畢,不等則根據查找

結果確定下一步的查找應該在哪一個子表中進行,如此下去,直到找到

滿足條件的結點,或者確定表中沒有這樣的結點。二分查找法應用的前

提是順序存儲并且已經排好序,這是由該法的實現思想決定的。

10C解析:線性表是最簡單、最常用的一種數據結構。線性表的邏輯結

構是n個數據元素的有限序列。

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

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

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

12.路由選擇【解析】0S1參考模型中,網絡層要實現路由選擇、擁塞

控制和網絡互聯等功能。

13.99解析:快速排序的基本方法是:在待排序序列中任取一個記錄,

以它為基準用交換的方法將所有的記錄分為兩部分,關鍵碼值比它小的

一個部分,關鍵碼值比它大的一部分,再分別對兩個部分實施上述過程,

一直重復到排序完成。具體操作如下:

2518933678253951270

2518933678253951270

1218933678253952570

1218933678253952570

1218933678253952570

1218925678253953370

1218925678253953370

1218925678253953370

1218925678253953370

1218925678253953370

所以第一趟完成后,關鍵碼33被放到了第9個位置。

14.檢索器【解析】搜索引擎在外觀、功能等方面都不相同,但其構成

一般包括搜索器、索引器、檢索器和用戶接口4個部分。

15.人工智能【解析】概括起來,計算機應用技術領域包括科學計算、

事務處理、過程控制、輔助工程、人工智能、網絡應用和多媒體的應用

等七大領域。

16.并發控制并發控制解析:解決事務并發執行問題的一種方法是串行

地執行事務,即一個接一個地執行。但這樣性能較低,事務并發執行能

顯著地改善性能。因此,數據庫管理系統中有一個并發控制部件,它保

證事務隔離性,即確保事務并發執行后的系統狀態與這些事務以某種次

序一個接一個地執行后的狀態是等價的。

17.ISPISP解析Internet服務提供商(ISP)是用戶接入Internet的入口點。

一方面它為用戶提供Internet接入服務;另一方面,它也為用戶提供種

類信息服務。

18.進程【解析】UNIX的系統結構可分為兩大部分,一部分是操作系

統的內核,另一部分是系統的外殼。內核部分由文件子系統和進程控制

子系統組成;外殼由Shell解釋程序、支持程序設計的各種語言、編譯

程序和解釋程序、實用程序和系統調用接口等組成。

19.概念模式概念模式解析:概念模式是對數據庫的整體邏輯描述,不

涉及物理存儲,稱為DBA視圖。內模式具體描述了數據如何存儲在存

儲介質上是系統程序員用一定的文件形式組織起來的一個個存儲文件

和聯系手段,也是由他們編制存取程序,實現數據存取,稱為系統程序

員視圖。外模式是模式的一個子集,面向用戶,是用戶眼中的數據庫,

稱為用戶視圖。

20.R.A=S.A因為是從兩個關系中選擇記錄,因此首先要將兩個關系

建立聯系,即R.A=S.A.

21.D解析:病毒的主要特征包括:傳染性、靈活性、破壞性、隱蔽性、

通常常駐內存。傳染性是指病毒的自我復制功能;靈活性表現在程序的

小巧,都是可以直接或間接運行的程序;破壞性是病毒對計算機軟件硬

件的損壞;隱蔽性表現在不易被用戶察覺,一般隱藏于磁盤的引導區或

附著在可執行文件中:病毒會常駐內存,隨時可感染其他可執行文件。

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

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

23.A

24.B

25.B選項A),AdHoC網絡是一種自組織、對等式、多跳的無線移動網

絡;選項B),AdhoC網絡是在分組無線網的基礎上發展起來的;選項

C),AdHoC網絡是由一組用戶構成、不需要基站的移動通信模式;選

項D),AdHoC網絡在軍事上卜分重要,它可以支持野外聯絡、獨立站

點通信和艦隊戰斗群通信、臨時通信要求和無人偵查與情報傳輸。

26.B解析:當YX時,稱X-Y為平凡的函數依賴。

27.C

28.CSQL語言集數據定義、數據查詢和數據操縱和數據控制功能于一體。

數據定義語言的動作包括CREATE,DROP和ALTER幡攵據操縱語言的

動作包括:INSEPT、UPDATE和DELETE;數據控制語言的動作包括

GRANT和REVOKEo

29.D

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

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

0個)頁面,然后根據進程執行的需要,動態地裝入其他頁面。

31.【審題關鍵句】以行為單位對字符按從大到小排序,結果仍按行重新

存入字符串數組中。

\n【解題思路】

\n①首先定義字符變量ch和無符號整型變量i、j、ko

\n②對字符二維數組XX,在第一層for循環中,變量i從0開始,依次

遞增直到其值等于maxline,實現對文章每行的掃描,在第二層for時循

環中,變量j從0開始,依次遞增直到其值等于strlen(xx[i]),即第i行

的長度。在第三層循環語句中,變量k從j開始,依次遞增直到其值等

于strlen(xx[i]),對每一行中的數組元素xx[il[j]、XX[i][k]按照它們的

ASCII碼值的大小進行比較,如果xx國田的ASCII碼小于XX[i][k]的

ASCII碼,則兩者交換,實現整篇文章中的字符按ASCII碼值從大到小

的順序進行排序。

\n【參考答案】

\n

\n

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

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

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

\n【解題思路】

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

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

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

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

條件語句判斷如果xx用用的值為字符冶\則把xx國口]的值設置為字

符2。否則如果XX[i][D]的值在小寫字符,at與2之間,則把xx國用的

值減1,把其值變成其前一個字符的ASCII碼。

\n【參考答案】

\n

\n

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

\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【參考答案】

\n

\n

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

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

\n【解題思路】

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

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

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

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

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

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

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

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

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

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

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

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

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

到數組b[cnt]qbo

\n⑤

溫馨提示

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

評論

0/150

提交評論