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頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

【2021年】廣東省江門市全國計算機等級

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

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

一、1.選擇題(10題)

1.對有14個數(shù)據(jù)元素的有序表R[14]進行折半搜索,搜索到R[3]的關(guān)

鍵碼等于給定值,此時元素比較順序依次為

A.R[0],R[l],R[2],R[3]

B.R[0],R[13],R[2],R[3]

C.R[6],R[2],R[4],R[3]

D.R[6],R[4],R[2],R[3]

2.下列不屬于SYBASE產(chǎn)品的是

A.AdaptiveServerEnterprise

B.DB2WarehouseManager

C.AdaptiveServerReplication

D.AdaptiveServerConnect

3.CPU狀態(tài)分為目態(tài)和管態(tài)兩種,從目態(tài)轉(zhuǎn)換到管態(tài)的惟一途徑是()。

A.運行進程修改程序狀態(tài)字B.中斷屏蔽C.中斷D.進程調(diào)度程序

4.下面關(guān)于數(shù)據(jù)庫系統(tǒng)基于日志的恢復(fù)的敘述中,哪一種說法是正確的?

A.利用更新日志記錄中的改前值可以進行UNDO,利用更新日志記錄中

的改前值可以進行REDO

B.利用更新日志記錄中的改前值可以進行UNDO,利用更新日志記錄中

的改后值可以進行REDO

C.利用更新日志記錄中的改后值可以進行UNDO,利用更新日志記錄中

的改前值可以進行REDO

D.利用更新日志記錄中的改后值可以進行UNDO,利用更新日志記錄中

的改后值可以進行REDO

5.若事務(wù)T對數(shù)據(jù)R已加X鎖,則其他事務(wù)對數(shù)據(jù)R

A.可以加S鎖不能加X鎖B.不能加S鎖可以加X鎖C.可以加S鎖也

可以加X鎖D.不可以加任何鎖

6.由于關(guān)系模式設(shè)計不當(dāng)所引起的插入異常指的是

A.兩個事務(wù)并發(fā)地對同一關(guān)系進行插入而造成數(shù)據(jù)庫不一致

B.由于碼值的一部分為空而不能將有用的信息作為一個元組插入到關(guān)

系中

C未經(jīng)授權(quán)的用戶對關(guān)系進行了插入

D.插入操作因為違反完整性約束條件而遭到拒絕

7.數(shù)據(jù)字典是數(shù)據(jù)庫分析階段最重要的工具之一,其基本功能是()。

A.數(shù)據(jù)管理B.數(shù)據(jù)查詢C.數(shù)據(jù)定義D.數(shù)據(jù)維護

8.游標是系統(tǒng)為用戶開設(shè)的一個

A.內(nèi)存空間B.數(shù)據(jù)緩沖B2c.外存空間D.虛擬空間

9.在TCP/IP參考模型中,不屬于應(yīng)用層協(xié)議的是

A.IP協(xié)議B.FTP協(xié)議C.SMTP協(xié)議D.HTTP

10.線性鏈表不具有的特點是

A.隨機訪問B.不必事先估計所需存儲空間大小C.插入與刪除時不必

移動元素D.所需空間與線性表長度成正比

二、填空題(10題)

11.客戶機/服務(wù)器模式在實現(xiàn)中需要解決的主要問題有:標識一個特定

的服務(wù)、響應(yīng)并發(fā)請求和服務(wù)器程序的O

12.若線性表的長度經(jīng)常發(fā)生變化,那么該線性表應(yīng)采用的存儲結(jié)構(gòu)是那

13.在關(guān)系模式R<U,F>中,如果X-Y且存在X的一個真子集X',

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

14.在關(guān)系數(shù)據(jù)模型中,二維表的列稱為屬性,二維表的行稱為o

15.計算機應(yīng)用技術(shù)領(lǐng)域包括科學(xué)計算、事務(wù)處理、過程控制、輔助工程、

網(wǎng)絡(luò)應(yīng)用和多媒體的應(yīng)用等七大領(lǐng)域。

16.在頁式存儲管理中,存放在高速緩沖存儲器中的部分頁表稱為

17.設(shè)F是Tl、T2和T3三棵樹組成的森林,與F對應(yīng)的二叉樹為B,

已知ThT2和T3的結(jié)點個數(shù)分別為nl,n2和n3,則二叉樹B的根結(jié)

點左干樹和右干樹中結(jié)點的個數(shù)分別為【】和【】

18.概念結(jié)構(gòu)設(shè)計的方法通常有自頂向下、自底向上、逐步擴張和【】。

19.在關(guān)系數(shù)據(jù)庫規(guī)范化理論的研究中,在函數(shù)依賴的范疇內(nèi)達

到了最高的規(guī)范化程度。

20.SQLServer數(shù)據(jù)管理系統(tǒng)中常用的性能工具包括和。

三、單選題(10題)

21.能夠?qū)owerDesigner中所有模型信息只讀訪問的模塊是()。

A.A.ProcessAnalyst

B.DataArchitect

C.Viewer

D.WarehouseArchitecture

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

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

23.下列關(guān)于SQLServer數(shù)據(jù)庫用戶權(quán)限的說法中,錯誤的是_________

A.數(shù)據(jù)庫用戶自動具有該數(shù)據(jù)庫中全部用戶數(shù)據(jù)的查詢權(quán)

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

C一個登錄賬戶可以對應(yīng)多個數(shù)據(jù)庫中的用戶

D.數(shù)據(jù)庫用戶都自動具有該數(shù)據(jù)庫中public角色的權(quán)限

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

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

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

不同的表。

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

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

25.某數(shù)據(jù)庫應(yīng)用系統(tǒng)中,數(shù)據(jù)庫管理員發(fā)現(xiàn)某個查詢功能是用多表連接

操作實現(xiàn)的,此操作性能較差。在保證功能不變的前提下,若要提高該

查詢的執(zhí)行效率,下列方法中可行的是()

A.將此查詢語句放置在視圖中,使用視圖實現(xiàn)該查詢操作

B.修改實現(xiàn)此功能的查詢語句,將連接查詢改為嵌套查詢

C.將此功能涉及到的表進行合并,然后對合并后的表進行查詢

D.將此查詢語句放置在存儲過程中,通過調(diào)用存儲過程實現(xiàn)該查詢操作

26.為了考慮安全性,每個部門的領(lǐng)導(dǎo)只能存取本部門員工的檔案,為此

DBA應(yīng)創(chuàng)建相應(yīng)的()o

A.視圖(view)B.索引(index)C.游標(cursor)D.表(table)

27.在數(shù)據(jù)庫的數(shù)據(jù)模型中有()

A.網(wǎng)狀模型、層次模型、關(guān)系模型

B.數(shù)字型、字母型、日期型

C.數(shù)值型、字符型、邏輯型

D.數(shù)學(xué)模型、概念模型、邏輯模型

28.在登錄日志文件時,應(yīng)該

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

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

C.先寫數(shù)據(jù)庫的更新,后登錄日志文件

D.先登錄日志文件,后寫數(shù)據(jù)庫的更新

29.某數(shù)據(jù)庫應(yīng)用系統(tǒng)使用SQLServer2008作為數(shù)據(jù)庫平臺。在系統(tǒng)運

行期間,用戶反映某更新操作很慢,無法正常完成業(yè)務(wù)。系統(tǒng)工程師分

別在用戶的客戶機和數(shù)據(jù)庫服務(wù)器上使用數(shù)據(jù)庫管理系統(tǒng)自帶的客戶

端工具執(zhí)行此更新操作語句,發(fā)現(xiàn)該語句執(zhí)行后長時間無響應(yīng)。經(jīng)檢查

數(shù)據(jù)庫服務(wù)器CPU使用率小于1%,磁盤10也非常小。造成此現(xiàn)象可

能的原因是()

A.客戶機到數(shù)據(jù)庫服務(wù)器的網(wǎng)絡(luò)故障

B.更新操作涉及到的表沒有建立主碼

C.更新的字段沒有建立有效的索引

D.更新操作涉及到的數(shù)據(jù)被鎖定

30.下面關(guān)于關(guān)系的性質(zhì)描述正確的是

A.每列中的分量可以來自不同的域

B.一個關(guān)系中可以有相同的元組

C.每一個分量必須是不可分的數(shù)據(jù)項

D.不同列的分量必須來自相同的域

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

31.將文件in.dat中的200個整數(shù)讀至數(shù)組XX中。請編制jsValue函

數(shù),要求:求出數(shù)組XX中的數(shù)值為奇數(shù)的個數(shù)cntl和數(shù)值為偶數(shù)的個

數(shù)cnt2以及數(shù)組XX下標為奇數(shù)的元素值的算術(shù)平均值pjo

結(jié)果cntl,cnt2,pj輸出到out.dat中。注意:部分源程序存在test.c

文件中。請勿改動數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main、讀函

數(shù)read_dat和輸出函數(shù)writeDat的內(nèi)容。

1tlnclude<stdio.h>

2,defineN200

3Intchtl?5t2rxx[NJ;

4floatpj;〃平均值

5voidwriteDat();

6voidjsValue()

7

e

9

/?ro4d_d?t(intxxlN”/敷典文ftiiutot中的200個?收0至IWlu中?/

iovoidread_dat(intxx[N])

ii(

12intirj;

13FILE*fp;

w

14fp?fopen(**in.d3t,"r");

15for(1?0;i<20;

16(

17for(j-0;j<10;

18

19fscanf(fp?"dj,^xx(i*10*jJ);//從文件n&i中it取一個整數(shù)打入敷饌元索xx【l?107】中

20printf("%d",xx[i*10*j));

21]

22printf(*\nw);

23]

24fclose(fp);

25

26voidmain()

27(

28read_dat(xx);

29;jsValue();

30?printf(w\n\ncntl-%d,cnt2?*d,p]?56.2f\n",cntl/ent2,;

iPj>

31IwriteDat();

?/?樽計算笳果end.cm2,pj■出JNouLdai中,/

33ivoidwriteDat()

34y

351FILE*fw;

36;fw-fopen("out.dat*\Hww);

w〃?討寫人到中

37!fprintf(fwr"%d\n%d\n%6.2f\n9cnt2,pj);cmlcm2,ouLdai

38ifclose(fw);

39;1

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

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

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

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

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

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

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

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

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

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

和寫函數(shù)writeDat的內(nèi)容。

1-tinclude<stdio.h>

2(^defineMAX200〃定義定變?MAXK值*于2G0

3;inta(MAX)rb(MAXl,ent-0;〃代初始值為0.定義全局整EAIMAXI,b(MKX!?<?cnt

4!voidwriteDat();m數(shù)的說明語句

5jvoidjsVal()

6;(

8L,

J/?”adDat()從數(shù)據(jù)文件m.dat中通取200個網(wǎng)位數(shù)存入數(shù)組■中?/

9jvoidreadDat()

10i(

11jint1;

12jFILEefp;

w

13:fp-fopen(in.dafr

14;for(1a0;1<MAX;i++)

15ifscanf(fpr"Qd".;

16;fclose(fp);

17:?

18?voidmam0

19;(

20!inti;

21?readDat();

22:jsVal(>;〃謂陽)滴敝,實照AIH要求的功能

23\printff”滿足條件的數(shù)7d\rT,:nt);

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

25?print1(**%d",b[11);

26?printf(0\nM>;

21;writeDatO;

28i)

;/?響敢wntcIXHHe怙里mi以及數(shù)期b中衿介條件的四位敷,出到out.dai文件中?/

29;voidwrlteDat()

30!{

31;FILEafp:

32?inti;

ww

33?fp?fopen(out.datr”“);

34;fprintf(fp,7d\M,ent);

35!ford■0;1<ent;"?)

R

361fprintf(fprid\n**rb(i]i;

37jfclose(fp);

385)

33.已知在文件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)容。

1;llnclude<stdlo.h>

2!IInclude<string.h>

3?finclude<stdlib.h>

4!fdefineMAX100

5jtypedefstruct

6;*

7!chardm(5];八產(chǎn)品代碼〃

8;charme(11];/?產(chǎn)品名林?/

9?intdj;單鈔?/

10;intsi;/?ft*?/

11ilongje;/?金??/

12!}PRO;

13jPROsell[MAX];

14;voidReadDat();

15!voidWriteDat();

16?voidSortDat()

ni<

20!voidmain(>

21[(

22'memset(sellt0,sizcof(sell));

23?ReadDat();

24iSortDatO;

25!WriteDat(”

26;1

27;voidReadDat()

28;(

29FILE#fp;

30charstr(80)9ch[1I];

31inti;

32fp,fopen("in.dat",Hrw>;

33for(l?0;1<100;1+?)

34(

35fgets80.fp);

36memcpy(sell(1).dm,stt/4);

37metncpy(sell(i).me,atr*4f10);

38metnepy<ch.str*14.4);ch[41-0;

35sell(1?.dj■atol(cb);

40oteincpy(ch?str*18f5);ch(Sl*0;

41sell(i).91-atol(ch);

42sailfl).je?(long)sell[i]?dj?sell(i].si;

43)

44fclose(fp);

45)

46voidWritoDat0

47

48FILE*fp;

49int1;

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

51fox(1?0/1<100;

52I

53fprlntf(fp,"%BIs%4d%SdH01d\n**,9?11(1].dmrsell(i),me,sell(1j.djrsell(1).slf

sellfi].je);

55fclose(fp);

56

34.函數(shù)readDat是從文件in.dat中讀取20行數(shù)據(jù)存放到字符串?dāng)?shù)組

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

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

按行重新存入字符串?dāng)?shù)組XX中,最后調(diào)用函數(shù)writeDat把結(jié)果XX輸

出到文件out.dat中。

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

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

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

例如位置012345678

源字符申dcbahgfe

432198765

則處理后’7符中hgfcabcd

876591234

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

請勿改動數(shù)據(jù)文件in.dn中的任何數(shù)據(jù).主函數(shù)mainO.選曲數(shù)retdDatO和寫曲數(shù)wrisDatO的內(nèi)容.

1Iinclude<stdio.h>

*include<string.h>

3jvoidreadDat();

4;voidwriteDat();

5!charxx[201[801;

6;voidjsSort()

7i(

B;

9\)

10;voidmain()

12!readDat();

13?jsSort();

14!writeDat();

15j)

!”從文件中取。"數(shù)據(jù)存放到字符市軟機中?/

?w.dai92xx

16ivoidreadDat()

17;(

18?FILE,in;

19;int1■0;

20*char*p;

21;in-fopen(win.datwf"r");

22!whiled<20“fqets(xx[l),80,in)!■NULL)

23\(

24-p■strchr(xx(i]r?\n*);

25jif(p)*p?0;

26?

27?)

28;(close(in);

29;}

:/?紀站果xx?出現(xiàn)文件om&t中?/

30-voidwriteDat()

31;(

32-FILE?out;

33jint1;

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

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

36i1

37!printf("IsSn-*,xx(1]);

38?fprintf(out,w%s\nM/xx[1B;

39jJ

40;fclose(out);

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

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

組XX中的所有字符進行替代,其替代值仍存入數(shù)組)xx的對應(yīng)的位置

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

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

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

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

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

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

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

進行處理。

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

內(nèi)容。

?include<stdio.h>

Iinclude<string.h>

3?include<ctype.h>

4unsignedcharxx[50][80];

5intntaxline-0;/?文章的總行敷?/

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9

10

11

12jvoidmain<)

13i(

14;if(ReadDat0)

15i{

16printf(”數(shù)據(jù)文件in.dat不能打開!\門\007“”

17return;

18\I

19jencryptCharO;

20?WriteDat();

21!!

j/?從文件ilL&l中讀取??英文文■?存f無符號字料刪數(shù)煙U中〃

22?intReadDat(void)

23!(

24\FILE*fp;

25!inti-0;

26iunsignedchar*p;

27if((fp-fopen("in.daf,wr-))-NULL)

28return1;

29?while(fgeta(xx[i),80ffp)!?NULL)

30;

31!p-strchr(xx(i]t?\n?

32\if(p)*p*0;

33\

34J

35;maxline-i;

36!fclose(fp);

37\return0;

38I}

八圮雄果XX?出JM文件CHlLdai中?/

39;voidWriteDat(void)

401(?

41!FILE*fp;

42;inti;

wwM

43!fp-fopen("out.datrw);

44ifor(i-0;i<maxline;"?)

?j

w

46!printtC%s\nrxx(i]);

47ifprintf(tp,7s\n",xx[ij);

向>

49?fclose(fp);

36.已知數(shù)據(jù)文件INI.DAT和IN2.DAT中分別存有100個兩位十進

制數(shù),并且已調(diào)用讀函數(shù)readDat把這兩個文件中的數(shù)存入數(shù)組a和b

中,請考生編制一個函數(shù)JsVal,實現(xiàn)的功能是依次對數(shù)組a和b中的數(shù)

按條件重新組成一個新數(shù)并依次存入數(shù)組C中,再對數(shù)組C中的數(shù)按

從小到大的順序進行排序,最后調(diào)用輸出函數(shù)writeDat把結(jié)果C輸出到

文件out.dat中。組成新數(shù)的條件:如果數(shù)組a和b中相同下標位置的

數(shù)均是奇數(shù),則數(shù)組a中十位數(shù)字為新數(shù)的千位數(shù)字,個位數(shù)字仍為新

數(shù)的個位數(shù)字,數(shù)組b中的十位數(shù)字為新數(shù)的百位數(shù)字,個位數(shù)字為新

數(shù)的十位數(shù)字,這樣組成的新數(shù)并存入數(shù)組C中。

例如,at123124152115

b1324517271815

c:MSI12751155

律序后加IIS512753451

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

界序中已定義;叩00卜b(ioo)和?1時?

請勿改動數(shù)期文件INI.DAT和1N2,DA丁中的任何數(shù)據(jù),主函數(shù)設(shè)曲數(shù)readDatQ和耳啪敗writeDilO的內(nèi)容.

11linclude<stdio?h>

2?*defln<MAX100

3-intalMAXl.b(MAXHc(MAXJ;

4-intent-0;/?奪放制化8件數(shù)的個收?/

5;voidjsValC

/?lEftWX#IN1.DATIDN2.DAT中80100個再依十建?我存入也.b中?/

voidreadDat()

inti)

13,fp?fopen("inl"r")

14!for(1?0;1<MAX;1?+)

15ifscanf(fp,

16!{close(fp);

17jfp?fopen("in2.dat","r**)

18-ford-0;1<KAX;

19?fscanf(fp4"Qd",6b[1]);

20;fclose<fp);

21;\

22ivoidmain()

231(

24;inti;voidwrlteDat();

25-for(1-0;i<MAX;

26jCtl]-0;

27-readDat();

28!jsVal();

29\for(i-0;1<MAX“C[i

30:prlntt(*id\n",c(i));

31iwritoDatOi

32j)

I/?紀綸最數(shù)忸c?出則文介中〃

33?voidwriteDat()

34?(

35JFILE*fp;

36!intil

fp?fopen("out.dit**,"D;

38!for(1-0/i<MAX6,c(l)>0/11??)

39ifprlntf(fp,e(i)):

40\fclose(fp);

41;)

37.

函數(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個字符,含標點符號和空格。

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

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

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

18?ConvertCharD(>;

19\WriteDatO;

20!J

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

21!intReadDat(void)

I

22?(

23!FILE-fp;

24iint1-0;

25char*p;

26?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中?/

38\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

38.設(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中o

設(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)容。

Iinclude<stdio.h>

idefineN100

*defineS1

*defineM10

Sintp(100]tnrs,m;

6voidWriteDat(void);

voidJoseqh(void)

6

9

10

voidmain()

13m?M;

14nwN;

15smS;

16Josegh();

17WriteDat();

18

,?把結(jié)粵p?出到文件outdai<1?*/

19voidWriteDat(void)

(

int1;

22FILEefp;

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

八以史修的方式,以1。個數(shù)據(jù)為-閭把friftp【川■出到屏幕相文件ouLdat中?/

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

25

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

27;fprintf(fp,74d",p(l]);

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

29?(

30]printf(*\nM);

315fprintf(fp^"\n");

32i}

335)

34;fclose(fp);

35;1

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

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

其功能要求:

1.求出該文件中共有多少個正整數(shù)totNum;

2.求這些正整數(shù)右移1位二進制位后,產(chǎn)生的新數(shù)是奇數(shù)的數(shù)的個數(shù)

totCnt,以及滿足此條件的這些正整數(shù)(右移前的值)的算術(shù)平均值totPjz。

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

中。

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

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

和輸出函數(shù)WriteDat的內(nèi)容。

?include<stdio.h>

2!IdefineMAXNUM200

3\intxx[MAXNUM|;

4;inttotNum-0;〃文件In.dau中年有名少個正整數(shù)

5;mttotCnt■0;〃符合條件的正整數(shù)的個被

6;doubletotPjt-0.0;〃平

7;intReadDat(void);

6;voidWriteDat(void);

voidCalValue(void)

11;

12!

13;voidmalnO

14;

inti;

16for(i-0;i<MAXNUM;if

17xx(1]-0;

18if(ReadDat())

19

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

21return;

22

23CalValue();

24printsL文件in.dat中共有正整數(shù)7d個\n",totNum);

25print。L符合條件的正整數(shù)的個數(shù)-、d個\n,tocCnt);

26printf平均值=$?21f\n?,totPjz);

27WriteDatO;

28

八源取這若干個正■敏并存入室ifiix中〃

29IntReadDat(void)

30

31FILE*fp;

32inti-0;

33if((fp-fopen(-In.dat-,-r-D-NULL)

34return1;

35while(!feof(fp))

",

37fscanf(fp,7d.e.&xx(i+>]);

38

39fclose(fp);

40return0;

41

/?把計翼站累存入文件iut.dat中〃

42voidWriteDat(void)

43

44FILE*fp;

45fp-fopen(**out.dat",**w0>;

w

46fprintf(fp,*%d\n%d\ni.21f\n,totNum,totCnt,totPji);

47fclose(fp);

48

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文件中。

注意;部分厚程序存在g.C文件中.

程序中已定義數(shù)組:4200],H200].已定義變量,ent

請勿改動數(shù)據(jù)文件in-dax中的任何數(shù)據(jù)、主函效讀函數(shù)nadDat()和寫曲數(shù)writeDatO的內(nèi)容。

1jImcludo<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

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

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

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

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

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

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

42.設(shè)某連鎖商店數(shù)據(jù)庫中有關(guān)系模式R:R(商店編號,商品編號,庫

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

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

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

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

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

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

43.現(xiàn)有SQLServer2008數(shù)據(jù)庫服務(wù)器,其中的一個數(shù)據(jù)庫占用80GB

空間,另有一臺用于備份的計算機,該機器上有4個大小均為50GB的

硬盤分區(qū)。若要將此數(shù)據(jù)庫完全備份到該計算機上,則()o

A.不能實現(xiàn),因為每個分區(qū)上的空間都不夠80GB

B.可以先建立一個備份設(shè)備,這個設(shè)備分別在4個分區(qū)上各占用20GB

空間,然后再用此設(shè)備備份數(shù)據(jù)庫

C.可以先在每個分區(qū)上分別建立一個備份設(shè)備,指定每個設(shè)備的大小均

為20GB,并建立一個包含這4個備份設(shè)備的備份媒體集,最后再用此

備份媒體集備份數(shù)據(jù)庫

D.可以先在每個分區(qū)上分別建立一個不用指定大小的備份設(shè)備,然后將

數(shù)據(jù)庫同時備份到這4個備份設(shè)備上

44.關(guān)于優(yōu)化查詢說法正確的是()。

A.避免或簡化排序的目的是實現(xiàn)查詢優(yōu)化

B.在保證數(shù)據(jù)庫一致性的前提下,將頻繁操作的多個可以分割的處理過

程放在一個存儲過程中,這樣可以大大提高系統(tǒng)的響應(yīng)速度

C.使用臨時表會占用較多的系統(tǒng)資源,尤其對于大規(guī)模并發(fā)量的情況下,

很容易使得系統(tǒng)資源耗盡而崩潰

D.相關(guān)子查詢的使用可以加速查詢

參考答案

1.C解析:折半查找是一種效率較高的查找方法,要求線性表是有序表。

基本思想是:首先將待查的K值和有序表R[0]到R[n-1]的中間位置mid

上的結(jié)點的關(guān)鍵字進行比較,若相等,則查找完成;否則,若R[mid].key>K,

則說明待查找的結(jié)點只可能在左子表R⑼到R[mid-1]中,我們只要在左

子表中繼續(xù)進行折半查找,若R[mid].key<K,則說明待查找的結(jié)點只可能

在右子表R[mid+1]到R[n-1]中,我們只要在右子表中繼續(xù)進行折半查找。

這樣,經(jīng)過一次關(guān)鍵字比較就縮小一半的查找空間。如此進行下去,直到

找到關(guān)鍵字為K的結(jié)點,或者當(dāng)前的查找區(qū)間為空(表示查找失敗)。根

據(jù)這個思想,查找的順序即為R⑹,R[2],R[4],R[3]。

2.B解析SYBASE數(shù)據(jù)庫產(chǎn)品有:SYBASEEP,AdaptiveServerEnterprise,

AdaptiveServerReplication,AdaptiveServerConnect以及異構(gòu)數(shù)據(jù)庫互聯(lián)

選件。注意:DB2WarehouseManager屬于IBM的DB2產(chǎn)品,故B)選項

正確。掌握SYBASE數(shù)據(jù)庫系統(tǒng)的功能及其特點。

3.C解析:由于計算機系統(tǒng)的硬件區(qū)分目態(tài)和管態(tài),用戶程序在目態(tài)運

行時不能直接使用I/O指令等特權(quán)指令,只有當(dāng)用戶程序執(zhí)行到產(chǎn)生一

次中斷后,使機器在原來的目態(tài)下執(zhí)行用戶程序變成在管態(tài)下執(zhí)行操作

系統(tǒng)的系統(tǒng)調(diào)用程序。所以從目態(tài)轉(zhuǎn)移到管態(tài)的惟一途徑是中斷。

4.B解析:UNDO:對撤銷隊列中的各個事務(wù)進行撤銷處理,處理方法

是:反向掃描日志文件,對每個UNDO事務(wù)的更新操作執(zhí)行逆操作,

即將日志記錄中“更新前的值”寫人數(shù)據(jù)庫。

5.D解析:當(dāng)一個事物欲對某個數(shù)據(jù)對象操作,可以對該對象加鎖,取

得對數(shù)據(jù)的一定控制,同時限制其他事物對該對象進行操作。

6.B解析:本題考查關(guān)系數(shù)據(jù)庫規(guī)范化理論的基本概念,參見4.4.1節(jié)

“關(guān)系數(shù)據(jù)庫的規(guī)范化理論”。關(guān)系模式插入異常是指違反了實體完整性

約束,主碼值為空而導(dǎo)致的元組無法插入的異常。正確答案為B。

7.C解析:數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,數(shù)據(jù)字典通過對數(shù)

據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流和數(shù)據(jù)存儲的邏輯內(nèi)容。

8.B解析:SQL語言與宿主語言具有不同的數(shù)據(jù)處理方式。SQL語言是

面向集合的,一條SQL語句原則上可以產(chǎn)生或處理多條記錄,而宿主

語言是面向記錄的,一組主變量一次只能存放一條記錄。所以,僅使用

宿主變量并不能完全滿足SQL語句向應(yīng)用程序輸出數(shù)據(jù)的要求,為此,

嵌入式SQL引入了游標的概念,用游標來協(xié)調(diào)兩種不同的處理方式。

游標是系統(tǒng)為用戶開設(shè)的一個數(shù)據(jù)緩沖區(qū),存放SQL語句的執(zhí)行結(jié)果,

每個游標區(qū)都有一個名字。

9.A解析:TCP/IP參考模型在網(wǎng)絡(luò)層定義了IP協(xié)議;在傳輸層定義了

TCP和UDP協(xié)議;在應(yīng)用層定義了TELNET協(xié)議FIT協(xié)議、SMTP協(xié)

議、RIP協(xié)議、NFS協(xié)議、HTtP協(xié)議。注意:TCP/IP參考模型在網(wǎng)絡(luò)

層定義了IP協(xié)議,故A)選項不屬于應(yīng)用層協(xié)議。掌握TCP/IP參考模型

以及各層的協(xié)議。

10.A解析:線性鏈表具有的特點是不必事先估計所需存儲空間大小,插

入與刪除時不必移動元素,所需空間與線性表長度成正比,但不能進行

隨機訪問。

H.安全問題【解析】客戶機/服務(wù)器模式在實現(xiàn)中需要解決的主要問題

有:標識一個特定的服務(wù)、響應(yīng)并發(fā)請求和服務(wù)器程序的安全問題。

12.鏈式存儲結(jié)構(gòu)在計算機中用一組任意的存儲單元存儲線性表的數(shù)據(jù)

元素(這組存儲單元可以是連續(xù)的,也可以是不連續(xù)的).\r\n\u3000\u3000

它不要求邏輯上相鄰的元素在物理位置上也相鄰.因此它沒有順序存儲

結(jié)構(gòu)所具有的弱點,但也同時失去了順序表可隨機存取的優(yōu)點"\n

13.部分部分

14.元組或記錄元組或記錄

15.人工智能【解析】概括起來,計算機應(yīng)用技術(shù)領(lǐng)域包括科學(xué)計算、

事務(wù)處理、過程控制、輔助工程、人工智能、網(wǎng)絡(luò)應(yīng)用和多媒體的應(yīng)用

等七大領(lǐng)域。

16.快表快表

17.

ni-1nz+ns

樹與二叉樹的轉(zhuǎn)換;將森林中每棵樹的根結(jié)點作為二叉樹的根結(jié)點,每

個結(jié)點中的從左數(shù)第一個孩子是二叉樹中的左孩子,該孩子的所有兄弟

都依次為該結(jié)點的右孩子,如此例推

18.混合策略混合策略解析設(shè)計概念結(jié)構(gòu)通常有4類方法自頂向下:

即首先定義全局概念結(jié)構(gòu)的框架,然后逐步細化;自底向上:即首先定

義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu);

逐步擴張:即首先定義最重要的核心概念,然后向外擴充,以滾雪球的

方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu);混合策略:即將自頂

向下和自底向上相結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,

以它為骨架集成用白底向上策略設(shè)計的各局部概念結(jié)構(gòu)。

19.BCNF

20.SQLServerProfiler數(shù)據(jù)庫引擎優(yōu)化顧問

21.B

【答案】B

【解析】DataArchitect是可以對PowerDesigner中所有模型信息進行

訪問的只讀模塊。

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

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

23.A

24.A

25.C

26.A解析視圖是從一個或幾個基本表中根據(jù)用戶需要而做成的一個虛

表。視圖是虛表,它在存儲時只存儲視圖的定義,而沒有存儲對應(yīng)的數(shù)

據(jù),視圖是只在剛剛打開的一瞬間,通過定義從基表中搜集數(shù)據(jù),并展

現(xiàn)給用戶。

27.A

28.D解析:為保證數(shù)據(jù)庫是可恢復(fù)的,登記日志文件時必須遵循以下兩

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

日志文件,后寫數(shù)據(jù)庫。

29.D

30.C解析:關(guān)系的性質(zhì)1、每列中的分量來自同一個域;2、不同列的分

量可以來自相同的域,但是不同列的屬姓名不能相同;3、列的順序可以

交換;4、行的順序可以交換;5、一個關(guān)系中不能有相同的元組;6、每

一個分量必須是不可分的數(shù)據(jù)項。

31.\n【審題關(guān)鍵句】讀入數(shù)值,奇數(shù)個數(shù),偶數(shù)個數(shù),數(shù)組下標為奇數(shù)

的平均值。

\n【解題思路】

\n本題類似第42套試題,通過審題可以發(fā)現(xiàn)僅有一個不同點,即本題

是計算數(shù)組下標為奇數(shù)的元素的平均值,參考答案的第6條語句。

\n【參考答案】

\n

\n

32.【審題關(guān)鍵句】小于后連續(xù)5個數(shù),偶數(shù),從小到大排序。

\n【解題思路】

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

abo

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

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

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

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

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

加1。③最后,用雙重for循環(huán)語句對數(shù)組b中的數(shù)組元素兩兩比較大

小,如果前一個數(shù)組元素大于后一個數(shù)組元素,則兩者進行互換,實現(xiàn)

對數(shù)組b進行升序或降序的排列。

\n【參考答案】

\n

\n

33.\n【審題關(guān)鍵句】計算金額,按金額從大到小進行排列,相同的則按

產(chǎn)品代碼從大到小排列,結(jié)果存入結(jié)構(gòu)數(shù)組。

\n【解題思路】

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

求有所

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論