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

下載本文檔

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

文檔簡介

2021年廣東省梅州市全國計算機(jī)等級考試

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

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

一、1.選擇題(10題)

i.用戶要求計算機(jī)系統(tǒng)處理的一個問題稱為一個作業(yè),作業(yè)由三部分組

成:程序、數(shù)據(jù)和()。

A.作業(yè)控制塊B.進(jìn)程控制塊C.進(jìn)程標(biāo)志符D.作業(yè)說明書

2.在關(guān)系數(shù)據(jù)庫中,若數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了,而用戶的應(yīng)用程序可

以不變。這是

A.數(shù)據(jù)的物理獨立性B.數(shù)據(jù)的邏輯獨立性C.數(shù)據(jù)的位置獨立性D.數(shù)

據(jù)的語義獨立性

3.聚集是一種o

A.DDLB.DMLC.優(yōu)化措施D.面向?qū)ο蠓椒?/p>

4.對關(guān)系數(shù)據(jù)庫來講,下面說法是錯誤的。

A.每一列的分量是同一種類型數(shù)據(jù),來自同一個域

B.不同列的數(shù)據(jù)可以出自同一個域

C.行的順序可以任意交換,但列的順序不能任意交換

D.關(guān)系中的任意兩個元組不能完全相同

5.設(shè)有兩個事務(wù)T1和T2,其并發(fā)操作序列如下表所示。下列說法中正

確的是()。T1T2

讀A=100

A=A*2寫回

讀A=200

ROLLBACK

A.該操作序列不存在問題B.該操作序列丟失修改C.該操作序列不能

重復(fù)讀D.該操作序列讀出臟數(shù)據(jù)

6.關(guān)于操作系統(tǒng)的敘述哪一個是不正確的?

A.管理資源的程序B.管理用戶程序執(zhí)行的程序C.能使系統(tǒng)資源提高

效率的程序D.能方便用戶編程的程序

7.為提高產(chǎn)品質(zhì)量、降低生產(chǎn)成本,利用計算機(jī)控制、操作和管理生產(chǎn)

設(shè)備的系統(tǒng)稱為

A.CAT系統(tǒng)B.CAI系統(tǒng)C.CAD系統(tǒng)D.CAM系統(tǒng)

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

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

9.現(xiàn)有關(guān)鍵碼值分別為5、10、15、20的4個結(jié)點,按所有可能的插入

順序去構(gòu)造二叉樹。這些二叉樹排序中有棵是最佳二叉排序樹。

A.6B.5C.4D.3

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

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

二、填空題(10題)

11.在因特網(wǎng)中,屏蔽各個物理網(wǎng)絡(luò)細(xì)節(jié)和差異的是O

12.在順序表(4,7,9,12,13,14,18,19,22,29,50)中,用二分

法查找關(guān)鍵碼值11,所需的關(guān)鍵碼比較次數(shù)為O

B.OraCle系統(tǒng)不僅具有高性能的RDBMS,而且提供全過程的應(yīng)用開發(fā)

工具。OraCleDesigner2000所承擔(dān)的功能是。

14.監(jiān)控分析按照實現(xiàn)方法的不同分為兩種,一種是由數(shù)據(jù)庫建立自動監(jiān)

控機(jī)制,另一種是O

15.設(shè)有字母序列{Q,D,F,X,A?P,B,N,Y,M,C,W},請

寫出按歸并排序方法對該序列進(jìn)行一趟掃描的結(jié)構(gòu)是[]O

16.一個功能完備的網(wǎng)絡(luò)系統(tǒng)應(yīng)該提供一些基本的安全服務(wù)功能,這些

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

17.在點-點網(wǎng)絡(luò)中,分組從通信子網(wǎng)的源節(jié)點到達(dá)目的結(jié)點的路由是由

決定的。

18.回收用戶UI,U2和U3在關(guān)系employee的salary屬性上的UPDATE

權(quán)限的語句是[]UPDATE(salaiy)ONemployeeFROMU1,U2,U3O

19.網(wǎng)絡(luò)中的計算機(jī)之間為了能正確交換數(shù)據(jù),必須遵守事先約定好的

[]o這些規(guī)則明確規(guī)定了所交換數(shù)據(jù)的格式和時序

20.為使多個進(jìn)程有效地同時處理輸入和輸出,最好使用[]結(jié)構(gòu)的緩沖

技術(shù)

三、單選題(10題)

21?一個數(shù)據(jù)表10000行數(shù)據(jù),每行3500字節(jié),計算表需要空間()

A.20MBB.40MBC.60MBD.80MB

22.在對全局E-R模型進(jìn)行優(yōu)化時,通常利用規(guī)范化理論中的()概念消

除冗余關(guān)系。

A.無損聯(lián)接B.函數(shù)依賴C.范式D.邏輯蘊涵

23.下列計算機(jī)表示的信息中,不能稱為“數(shù)據(jù)"的是()

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

24.對數(shù)據(jù)庫模式設(shè)計進(jìn)行優(yōu)化有三項指標(biāo),下列指標(biāo)中不屬于這三項

指標(biāo)的是()

A.A.單位時間內(nèi)訪問的邏輯記錄個數(shù)要少

B.單位時間內(nèi)數(shù)據(jù)的傳送量要少

C數(shù)據(jù)庫模式中的關(guān)系(即數(shù)據(jù)庫文件)數(shù)目要少

D.系統(tǒng)占用的存儲空間要少

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

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

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

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

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

26.SQLServer2008系統(tǒng)數(shù)據(jù)庫MASTER的主要功能是

A.控制用戶數(shù)據(jù)庫和SQLServer的整體運行

B.為創(chuàng)建新的用戶數(shù)據(jù)庫提供模板或原型

C.為臨時表或其他臨時工作區(qū)提供存儲區(qū)域

D.為調(diào)度信息和作業(yè)歷史提供存儲區(qū)域

27.一個棧的入棧序列是a、b、c、d、e,則棧的不可能的輸出序列是()

A.edcbaB.decbaC.dceabD.abcde

28.在關(guān)系代數(shù)運算中,五種基本運算為()

A.并、差、選擇、投影、自然連接B.并、差、交、選擇、投影C.并、

差、選擇、投影、乘積D.并、差、交、選擇、乘積

29.邏輯設(shè)計主要是把概念模式轉(zhuǎn)換成()

A.DBMS能處理的模式B.與DBMS無關(guān)的模式C.層次結(jié)構(gòu)模型D.子

模式

30.物理結(jié)構(gòu)設(shè)計的任務(wù)是設(shè)計數(shù)據(jù)庫的()

A.存儲格式B.存取方法C.存儲結(jié)構(gòu)與存取方法D.存儲模式

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

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

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

上的數(shù)加百位數(shù)上的數(shù)等于十位數(shù)上的數(shù)加個位數(shù)上的數(shù)的個數(shù)ent,

再求出所有滿足此條件的四位數(shù)平均值pjzl,以及所有不滿足此條件的

四位數(shù)平均值pjz2o最后main函數(shù)調(diào)用寫函數(shù)writeDat把結(jié)果ent,

pjzl,pjz2輸出到out.dat文件。

例如:7153.7+1-5+3.即讀數(shù)清足條件計算平均值pjzL且個數(shù)

8129.8*1!-2*9.則談數(shù)不Ml足條件計年平均值pjz2.

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

顆序中已定義數(shù)姐:?(300).已定義交量「cm.pjzl.nz2

請勿改動數(shù)據(jù)文件in.dar中的任何數(shù)據(jù)、主或數(shù)mamO、漆哦依readDitO和寫融數(shù)writeDiK)的內(nèi)容.

tinclude<stdlo.h>

inta(300)tcnt?0;

doublepjzl-0.0,pjz2?0.0;

voidreadDat<);

voidwriteDat();

voidjsValuoO

voidmain()

(

readDat0;

JsValueO;

writeDat();

printf(*cnf%d\n濡足條件的平均值pzjl-17.21f\n不*足條件的平均值pzj2-%7.21f\nw.

cnt,pjxlrpjz2);

16?

voidreadDat()

18

19FILE?fp;

20inti;

21fp?fopen(nin.datM,RrM);

22for(i-0;i<300;i*+)

23fscanf(fpr7d/,

24fclose(fp);

25

voidwriteDatO

27

28FILE*fp;

29fp■fopen(Mout.dat",Mw**);

w

30fprintf(fp,-%d\n%7.21f\n%7.21f\nrent,pjzl.pjz2);

31fclose(fp);

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

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

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

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

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

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

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

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

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

例如m123t24152115

bt3245172718IS

ct34SI12751155

播序后c,115512753451

注意i部分潭程序存?在te?.c文件中?

程序中已定義:叩00「MKJO)和哪00].

請勿改動數(shù)據(jù)文件IN1.DAT和JN2,DAT中的任何數(shù)據(jù).主讀敷mm().it函敷reMDatO和"*BtwnteDW)的內(nèi)容.

9include<stdio?h>

2?defineMAX100

3intalMAX).b(MAXBc(MAXj/

intent?0;/?壽放構(gòu)含IWIK的個敏*f

5void[sValC

6

8

INIDATmtN2.DAT4便100個角粒十IMUI存人也祖?鼻Ib中?/

9voidreadDat()

intit

FILE,fp;

fp-fopen("ini.daCM**r*)

ford-0;1<MAX;

tacanf(fp,sa[U);

16fclose(fp);

17fp?fopen(-102.dat","r")

18for(i-0;1<MAX;!?*>

19fscanf(fp."VT??b(lD;

20fclose(fp);

22voidrnainO

23

24mt1:voidwriteDat();

25for(l-0;1<MXX;

2t,c(l)?0;

27readDat();

29jsVal0;

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

w

30prlntf(id\n-rc(i));

31writoDat()i

32

/?紀(jì)姑果依期C,出到文鐘中?/

3?voidwriteDat()

34

35FILE*tp;

36mt1/

37fp-fopen("out"w">;

38ford-0;1<MAX“c(i)>0;iP

39fprlntf(fp,*ld\n",c(iH;

40fclose(fp);

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

串?dāng)?shù)組XX中,請編制函數(shù)StrCharJR,其函數(shù)的功能是t以該文章中的

行為單位把字符串中的所有字符的二進(jìn)制ASCII值右移4位,高位補(bǔ)

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

值仍存入原字符串對應(yīng)的位置上,之后把已處理的結(jié)果仍按行重新存入

數(shù)組XX中。最后main函數(shù)調(diào)用函數(shù)WriteOat把結(jié)果XX輸出到文件

out.dat中。

例如:

“z”對應(yīng)的ASCII值為7AH,二進(jìn)制值為01111010,右移4位后為

00000111,加上原來"2"的ASCII值01111010得到10000001結(jié)果。

原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點符

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

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

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

j?include<stdio.h>

!■include<atring.h>

;charxx(501(801;

!intmaxline-0;/?文章的曲行數(shù)*/

5;intReadDat(void>;

6?voidWriteDat(void);

ivoidStrCharJR(void)

8

9

io;l

iivoidmain()

12

if(ReadDat())

(

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

return;

I

StrCharJRO;

WriteDat();

)

/?從文鐘in<hi中讀取篇英文文章存入到字符申數(shù)鈕“中?/

intReadDat(void)

I

FILE?fp;

inti?0;

charep;

0Hw

if((fp-fopen(in.dafrr))-NULL)

returnI;

while(fgets(xx(i],80rfp)!-NULL)

(

p?strchr(xx[i),

if(p)*p-0;

32

33

34roaxline?i;

35fclose(fp);

36return0;

37

/果u■出到文的outdai中?/

38voidWriteDat(void)

39

40FILEefp;

41inti;

42fp?fopen("out.datM,

43for(i-0;i<maxline;

44

45printf(**%3\n"rxx[i]);

46fprintf(fprxxll));

47

:?hfclose(tp);

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

把這些數(shù)存入數(shù)組a中,請編制一函數(shù)jsvalue,其功能是:求出所有這

些四位數(shù)是素數(shù)的個數(shù)ent,再求出所有滿足此條件的四位數(shù)平均值pjzl,

以及所有不滿足此條件的四位數(shù)平均值pjz2o最后main函數(shù)調(diào)用寫函

數(shù)writeDat把結(jié)果ent,pjzl,pjz2輸出到out.dat文件中。

例如,S59I沒數(shù)消足條件.參拓計算¥均11個敷cnBcm+L

9812是超*數(shù),誠數(shù)不滿足條件,參加計算平均(ftpjz2.

注意:部分源程序徉在USM.C文件中.

程序中已定義敷組:4300).已定義變cm.pjzl.pjz2

請?改動敏據(jù)文件in.dat中的任何數(shù)蝌、[函數(shù)iraunO、速鼎或readDat。和匯;南斂wnteDat(>的內(nèi)容.

1jiinclude<Btdio.h.>6句說明各程序中也拿中的標(biāo)次■人■出寄

2;inta|3001>cnt*0;〃定文?甲取飄■I33RN登■enc?戈■scM初值為。

3?doublepjzl?0.0#pjz2?0.0;〃是式受?力*l?p,s2JIM初纏A0.0

4;voidwriteDat();//?出/依說明的句

5-voidreadDat();〃?人嫉故愛嬰遇句

6:intisPfintm)//ABi?p(intN師折■星者為ItfL&蹙是K4KW越網(wǎng)1.檸則通網(wǎng)o

7;(

8?intX;

9for(1-2;1<m;

10?if(mii3■0)

11?seturn0;

12!return1;

13\1

14;voidjsValueO〃或itjWuon的定義謫句

15;【

16;

17;|

18;main()

19;(

20;readDat(>/〃■用:。“皿tU娥電從ttu域史仰中設(shè)人38個7Hte存入敷爆.中

21;JsValueO;〃■用“VCueCS敷,蜜爬腰”所量更理的4能

22,writeDat();〃■即■觸.IE計W路聚CM,a1,WHJfw文件中

23;printf(*cnt-%d\n滿足條件的平均值pzjl-17.21f\n不消足條件的平均pzj2-17.21f\n*,

:cntrpjzl,pjx2);〃在屏幕上日不一道的M錄

24;)

25JvoidroadDat()〃從ta&i支州中常人300個網(wǎng)位入觸足.中

26;(

27:FILE?tpi〃定義文件布許受?即

28;mtI;〃堂文交?1

29]tp-(openfin.dat*,*rw>;〃4只UtZhWF開文件sn.cut.?井H文優(yōu)指針力崢文力Ln.dat

30ifor(l-0;i<300;1?*)〃。環(huán)安?'從。依次?燒到2”

31jfscant<fp,*%d,",”【£]),〃從文件in.dat中謨?nèi)?00個內(nèi)口數(shù)存入敷用《中

32!fclose(fp);〃夫用文fUn.dM

33\1

34;voidwriteDat()〃紀(jì)計“帕果寫入Houuta女付

35!(

36;FILE*fp;〃定義文件捕外*■,「

37-fp-fopen(*out.dat*,Www):Z/UARy?XfTRlrWout.dat.ftrtXHIHtfp.dat

38?Eprintf(fp,"id\nV7.21f\nV??21f\rT,ent,pjzl.pjz2);〃江解■上星*HI站■

39;fclose(fp);〃大聞義件out.da?

4。

35.程序test.C的功能是:利用以下所示的簡單迭代方法求方程

cos(x).x=0的一個實根。迭代公式:Xn+l=cos(xn)(n是迭代次數(shù))

迭代步驟如下:

⑴取XI初值為0.0;

(2)XO=X1,把XI的值賦給x0;

⑶Xl=cos(x0),求出一個新的xl;

(4)若x0.XI的絕對值小于0.000001,執(zhí)行步驟(5),否則執(zhí)行步驟(2);

⑸所求XI就是方程cos(X)-X=0的一個實根,作為函數(shù)值返回。

請編寫函數(shù)countValue實現(xiàn)程序的功能,最后main函數(shù)調(diào)用函數(shù)

writeDAT把結(jié)果輸出到文件Out.dat中。注意部分源程序存放在testC

文件中。

請勿改動主函數(shù)main和輸出數(shù)據(jù)函數(shù)writeDAT的內(nèi)容。

linclude<math.h>〃表示這個程序中要引用vc.o的教學(xué)卑南故

?include<stdio.h>〃視示這個程序量引用“6.0的程準(zhǔn)?入?出由數(shù)

voidwriteDAT();噴敬的說明語句

doublecountvalue()

main()

10;printfcountValuoO);〃在薜■上■樂方18的一個實根

11!printf(*%f\n*,cos(countvalue())-countvalue());//在第UR示求榔這個實盤的111t

12;writeDATO;〃定結(jié)桌■出*文件中

13:)

j/?西敏EeDATOff腎果?出到文件中?/

14;voidwriteDATO

15;(

16;FILE?wf;〃定義文件指什受?”

17;wf-fopenC^out.dat^^w");〃以只寫的方式打開out.da。弁便七指向這個史仲

H

18!fprintf(wf,%f\n"rcountValueO);〃兄求利的實稅片人耳文件our”t

19i(close(wf);〃關(guān)制文件out.dac

20!)

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

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

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

正整數(shù)中的各位數(shù)字之和是偶數(shù)的數(shù)的個數(shù)totCnt,以及滿足此條件的

這些正整數(shù)的算術(shù)平均值totPjz0最后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<stdlo?h>

!idefineMAXNUM200

3;intxx(MAXNUM];

4?inttotNum=0;〃文仆xn.dat中共開多少個正

5?inttotCnt-0;〃料令條件的正短效的個數(shù)

6:doubletotPjz?0.0;〃平均值

7!intReadDat(void);

8?voidWriteDat(void);

9?voidCalValue(void)

10

11

12

13voidmain()

14(

15inti;

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

17xxfi)-0;

18if(ReadDat())

19

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

21return;

22I

23CalValueO;

24printf文件in.dat中共有正整數(shù)個\n**?totNuxn);

25printf("符合條件的正整數(shù)的個數(shù)7d個\"*".totCnt);

26printfL平均值21f\n",totPjz);

27WriteDat();

28I

/?讀取這若干個正鱉斂并存入致fliu中?/

29intReadDat(void)

30(

31FILE*fp;

32inti?0;

33if((fp-fopen("in.datwrw))?NULL)

34return1;

35while(!feof(fp))

36(

37fscanf<fp,7d?”.);

38)

39fclose(fp);

40return0;

41J

,?把計算姑聚存入文件。Ut.uu中?/

42voidWriteDat(void)

43(

44FILE*fp;

45fp-fopen("out.datH,**wH);

46fprintf(fp/"%d\n%d\n,?21f\n",匕otNum,totCnt#totPjz);

47fclose(fp);

48

37.編寫一"^函數(shù)findStr(char*str,char*substr),該函數(shù)統(tǒng)計-1K長度為

2的子字符串substr在另一個字符串str中出現(xiàn)的次數(shù),該次數(shù)作為函數(shù)

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

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

函數(shù)ReadWrite實現(xiàn)從文件indat中讀取兩個字符串,并調(diào)用函數(shù)findStr,

最后把結(jié)果輸出到文件out.dat中。

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

數(shù)中的任何內(nèi)容,僅在函數(shù)findStr的花括號中

填入你編寫的若干語句。

?include<stdio.h>

tinclude<string.h>

3voidReadWrlte();

4intfindStr(char*3trrchar?substr)

5

6

7

8mainO

9

10charstr(81|,substr[3];

intn;

pr'ntfL輸入原字符中:”);

13gets(str);

14pr—入「字符申:");

15gets(substr);

16puts(str);

17puts(substr);

18n-findStr(str,substr);

,

19prlntf(**n*%d\n"rn);

20ReadWrite();

21I

/?從文件huht中it取兩個字符中,并?用雄依findSwO,■后鉆果■出到文件out&t中?/

22voidReadWrite()

23(

24charstr(81),substr(3],ch;

25intnrlenri?0;

26FILE?rf,*wf;

27rf-fopenLLn.dat","r");

wwHM

28wf-fopen(out.datrw):

29whiled<5)

30i

31fgets(strr80,rf);〃從文件!ndu中建取長度為R的字符中存入到半構(gòu)小

32fgets(substr,10,rf);〃從文件Edit中濤取長授為9的子字符中存入到字符率“uxtr

33len*strlen(substr)-1;,/尼f字符麼substr的長度凌)的{ft跳繪

34ch-substrtlenI;〃把子字符刪的?存f字相的儂*捺字符ch

,?如臬于字符中的量后一個字構(gòu)是網(wǎng)等投行符或是文件的或符?副紀(jì)子?籽卑的?后一個多籽的值&宣為。?/

35if(ch。'\n'IIch~Oxla)

36subatr[len]?0;

/?用的Ikflndfitrsubstrl返⑼子字符串?ub,s在字符申atr中出現(xiàn)的次數(shù)?/

37n-findStr(strrsubstr);

38fprintf(wf,"d\n".n);//無詁年觸Un耳人父女ftout.cUu中

391*4;〃■環(huán)登

40I

41fclose(rf);

42fclose(wf);

43

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

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

其功能要求:

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

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

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

最后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)容。

finclude<stdlo.h>

IdefineMAXNUM200

intxxlMAXNUM];

4inttotNum-0;//文件2c.da1中共付多少個正整觸

5inttotCnt?0;〃符合條件的正要數(shù)的個數(shù)

6doubletotPjz-0.0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain()

14(

15int1;

16for(i-0;i<MAXNUM;

17xx[i]-0;

18if(ReadDat())

19(

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

21return;

22

23CalValue();

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

25prin"「符合條件的正整數(shù)的個般個\n",totCnt);

26printf(”平均值7totPjz);

27WriteDat();

28)

/?提取達(dá)若F個正整數(shù)并存入u中?/

29intReadDat(void)

30(

31FILE*fp;

32int1-0;

33if((fp-fopen(wln.dat*,*r*))-NULL)

34return1;

35while(!feof(fp))

36I

37fscanf(fp#7dJ.4xx{i+*]);

38)

39fclose(fp);

40return0;

41}

〃把計算站累存入文件,ut.dat中?/

42voidWriteDat(void)

43(

44FILE*fp;

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

ww

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

47fclose(fp);

48

39.已知數(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文件中。

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

程序中已定義做招;*(200J,H200),已定義變?,cn<

請勿改動數(shù)劇文件m&t中的任何收據(jù)、主fAUTmainO、讀南敗rradD?tO和寫函數(shù)writcDat。的內(nèi)容.

1!Ilnclude<9tdio.h>

2\IdefineMAX200

3-inta(MAXl#b(MAX),ent-0;

4?voidwriteDat():

5;voidjsVal()

6!(

7i

0i>

9'voidreadDat()

10;1

11;inti;

12?FILE*fp;

w

13ifp-fopen("in.dat#?「”);

14;for(i-0;i<MAX;i>*)

15?fscant(fp,"QdL4a[i]);

16?(close(fp);

175J

I

18<voidmain()

19

20!Inti;

21;readDat();

22jjsValO;

23?prlntfL滿足條件的敗ent);

24-for(1?0/i<ent;ii)

25!prlntf(-Id-,

26?prlntf;

27|urrlteDat();

28:1

29;voidwritcDatO

30-{

31?FILEwfp;

321int1;

33*fp-fopen(wout.dat*,Hww);

34jfprintf(fp,"%d\n"rent);

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

36jfprintf(fprb(lD;

37?fclose(fp);

38I)

40.

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

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

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

1??include<stdlo.h>

2ilinclude<strinq.h>

3;charxx[50]1801;

4|intmaxline-0;/?文拿的總行依?/

5?intReadDat(void);

6;voidWriteDat(void);

j,?以行力?位比字符串中的所弘小耳字母盤寫及十字母的If字理,如粵是字母■,用&%1平母加M他字符保帶不交,/

7?voidConvertCharD(void)

8;(

9?

10;)

11?voidmainO

12;(

13!if(ReadDat())

14;(

15!printf("故找文件in.dat不檢打陰\n\007w);

16jreturn;

17;I

18?ConvertCharD(>;

19JWriteDat();

20<)

;/?從文0m&t?PitCC?英文文?存A剜字符由"出xx中?/

21!intReadDat(void)

22;(

23!FILEefp;

24jint1?0;

25;char*p;

26;if(《fp-fopenLin.dat".""))-NULL)

27-return1;

28?while(fgets(xx(ijfp)!-NULL)

29;(

30!p-atrcbr(xx(i),?\n?>;

31jif(p)ap-0;

32j

33j)

34Jtn^xline,i;

35!fclose(fp);

36?return0;

37!)

1/?IC由豪u?出?文I!outdat中?/

39JvoidWriteDAt(void)

39j(

40!FILE*£p;

411int1;

#

42-fp-fopen(*out.dat*r"w);

43!for(i?0;1<maxllne;

44;(

45!printf("%3\n**rxxfi));

w

46ifprintf(fp,?%sXn,xx[i]);

47:)

48*fcloae(fp);

49->

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

41.設(shè)有某商業(yè)單位需要建立商務(wù)數(shù)據(jù)庫用以處理銷售記賬,它記錄的數(shù)

據(jù)包括:顧客姓名,所在單位及電話號碼;商品名稱,型號,產(chǎn)地及單

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

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

圖模型并優(yōu)化。(6分)(2)將ER模型換成關(guān)系模型并規(guī)范化到3NFO

(4分)

42.設(shè)有高校選課系統(tǒng),需要對學(xué)校的系信息、教師信息、課程信息、

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

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

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

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

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

課系統(tǒng)的管理規(guī)則如下:口.一個系可聘用多名教師,一個教師只受

聘于一個系;口.一個系可有多名學(xué)生,一個學(xué)生只屬于一個系;

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

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

程后,可獲得相應(yīng)課程的成績。針對以上描述,完成下列設(shè)計內(nèi)容:

(1)構(gòu)建選修課系統(tǒng)的ER圖。(要求圖中的實體集名用試卷中給出

的英文名,聯(lián)系所關(guān)聯(lián)的實體集名的首字母,字母問用"一''或連

接,大小寫不限)。(6分)(2)根據(jù)所構(gòu)建的ER圖,設(shè)計滿足

3NF的關(guān)系模式,并標(biāo)出每個關(guān)系模式的主碼和外碼。(要求關(guān)系模

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

限)(4分)

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

43.設(shè)有工作表(工作編號,最低工資,最高工資),其中工作編號、最

低工資和最高工資均為整型,工作編號為主碼?,F(xiàn)要求最高工資必須大

于等于最低工資,但不能超過最低工資的2倍。在SQLServer2008環(huán)

境中有下列創(chuàng)建該表的語句:1.CREATETABLE工作表(工作編號int

primarykey,最低工資int,最高工資intcheck(最高工資between最低

工資and最低工資*2))□.CREATETABLE工作表(工作編號int,最

低工資int,最高工資int,primarykey(工作編號),check(最高工資

between最低工資and最低工資*2))□.CREATETABLE工作表(工

作編號intprimarykey(工作編號),最低工資int,最高工資int,check

(最高工資between最低工資and最低工資*2))□.CREATETABLE

工作表(工作編號intprimarykey(工作編號),最低工資int,最高工資

intcheck(最高工資between最低工資and最低工資*2))上述語句中正

確的是()O

A.僅□和口B.僅口和□C.僅口和口D.全部

44.設(shè)有如下所示ER圖:

下列能夠正確表示該ER圖的UML類圖是()。

?A.

pjpj——LLD|部門

1?

下屬領(lǐng)導(dǎo)

參考答案

1.A解析:操作系統(tǒng)根據(jù)作業(yè)說明書生成的一個作業(yè)控制塊(JCB)表格。

它是作業(yè)在系統(tǒng)中存在的標(biāo)志,其內(nèi)容是作業(yè)調(diào)度的依據(jù)。

2.A解析:數(shù)據(jù)庫中只有一個模式,也只有一個外模式,所以模式/內(nèi)模

式映像是唯一的,它定義數(shù)據(jù)庫全局邏輯模式和存儲模式之間的對應(yīng)關(guān)

系。當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)發(fā)生變化時,由程序員對模式/內(nèi)模式映像作相應(yīng)

的改變,可以使模式保持不變,從而應(yīng)用程序也不變,保證了數(shù)據(jù)的物

理獨立性。本題正確答案為選項A。

3.C

4.C解析:在關(guān)系數(shù)據(jù)庫來說,必須具有以下6條性質(zhì):

⑴每一列的分量是同一類型的數(shù)據(jù),來自同一個域。

(2)不同的列可出自同一個域,稱其中的每一列為一個屬性,不同的屬性

要給予不同的屬性名。

⑶列的順序無所謂,即列的次序可以任意交換。

(4)任意兩個元組不能完全相同。

⑸行的順序無所謂,即行的次序可以任意交換。

(6)分量必須取原子值,即每一個分量必須是不可分的數(shù)據(jù)項。

5.D解析:事務(wù)的并發(fā)執(zhí)行可能出現(xiàn)3個主要問題;①丟失更新。即兩

個事務(wù)對同一數(shù)據(jù)進(jìn)行讀取并修改,先做的那個修改動作被后面的修改

掩蓋了,又稱為丟失修改。②對未提交更新的依賴。即事務(wù)T1讀取了

一個事務(wù)T2正在更新但尚未提交的數(shù)據(jù),這個數(shù)據(jù)是一個數(shù)據(jù)庫中并

不存在的值。也就是俗稱的讀“臟”數(shù)據(jù)。③不一致的分析。假設(shè)事務(wù)T1

要對賬戶求和,先讀了賬戶1余額,此時事務(wù)T2將錢從賬戶1轉(zhuǎn)到賬

戶2,事務(wù)T2提交后事務(wù)T1繼續(xù)執(zhí)行,讀取賬戶2的余額加到總數(shù)

中,顯然轉(zhuǎn)走的錢被算了兩次。這就是不一致的分析,又稱不可重復(fù)讀。

在本題中,T2在T1更新數(shù)據(jù)的過程中讀取了數(shù)據(jù),但之后T1執(zhí)行了

回滾操作,因此T2讀到了臟數(shù)據(jù)。

6.C解析:操作系統(tǒng)是直接運行在裸機(jī)上的最基本的系統(tǒng)軟件,任何其

他軟件都必須在操作系統(tǒng)的支持下才能運行。操作系統(tǒng)是一種資源管理

程序。其主要功能是管理計算機(jī)軟硬件資源,組織計算機(jī)的工作流程,

方便用戶的使用,并能為其他軟件的開發(fā)與使用提供必要的支持。

7.D解析:本題是對計算機(jī)輔助制造概念的考查。計算機(jī)輔助設(shè)計不僅

應(yīng)用于產(chǎn)品和工程輔助設(shè)計(CAD),而且還包括輔助制造(CAM)、輔助

測試(CAT)、輔助教學(xué)(CA1)等多方面的內(nèi)容。其中計算機(jī)輔助制造(CAM)

是利用計算機(jī)進(jìn)行生產(chǎn)設(shè)備的控制、操作和管理的系統(tǒng),能提高產(chǎn)品質(zhì)

量,降低生產(chǎn)成本,縮短生產(chǎn)周期,并有利于改善生產(chǎn)人員的工作條件。

因此本題的答案為D(CAM系統(tǒng))。

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

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

9.C解析:最佳二叉排序樹在結(jié)構(gòu)上的特點:除了最下面一層可以不排

滿外,其他各層都是充滿的。4種分別為:

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

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

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

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

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

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

結(jié)果,每個游標(biāo)區(qū)都有一個名字。

11.IP【解析】IP作為一種互聯(lián)協(xié)議,運行于互聯(lián)層,屏蔽各個物理網(wǎng)絡(luò)

細(xì)節(jié)和差異。

12.4或4次4或4次解析:二分查找又稱為折半查找,首先用待查元

素的關(guān)鍵字與線性表中間位置的一個元素的關(guān)鍵值做比較,若相同則查

找成功,否則以這個中間值為界將線性表分為兩個子表,假設(shè)子表1中

的所有元素的關(guān)鍵值都小于中間元素,子表2中的所有元素的關(guān)鍵值都

大于中間元素,待查元素比中間元素值小,說明待查元素在子表1中,

完成了一次查找,這是一次失敗的查找,因為11并不在序列表中,所

以一共進(jìn)行了四次比較。

13.數(shù)據(jù)庫建模。【解析】OracleDesigner2000是Oracle提供的CASE工

具,能夠幫助用戶對復(fù)雜系統(tǒng)進(jìn)行建模、分析和設(shè)計。

14.由管理員手動實施的監(jiān)控

15.{D,Q,F,X,A?P,B,N,M,Y,C,W}歸并排序:將兩個或多個有序表合并

成一個有序表,要求待排序文件已經(jīng)部分排序。

16.認(rèn)證認(rèn)證

17.路由選擇算法【解析】在點-點網(wǎng)絡(luò)中,決定分組從通信子網(wǎng)的源結(jié)

點到達(dá)目的結(jié)點的路由是由路由選擇算法決定的。

18.REVOKEREVOKE解析:回收用戶UI,U2和U3在關(guān)系employee

的salary屬性上的UPDATE權(quán)限的語句是:REVOKE

UPDATE(salaiy)ONemployeeFROMU1,U2,U3O

19.通信規(guī)則為了保證Internet正常工作而要求所有Internet中所有主機(jī)

都必須遵守通信協(xié)議,如TCP/IP協(xié)議

20.緩沖池當(dāng)某進(jìn)程需要使用緩沖區(qū)時,提出申請,由管理程序分配給它,

用完后釋放緩沖區(qū).這樣可用少量的緩沖區(qū)為更多的進(jìn)程服務(wù).

21.B

22.B

23.C

24.C

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

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

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

26.A

27.C

28.B

29.A

30.C

31.\n【審題關(guān)鍵句】千位+百位等于十位+個位的數(shù)的個數(shù),求滿足此條

件以及不滿足此條件的四位數(shù)平均值pjzl和pjz2。

\n【解題思路】

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

符合條件的四位數(shù)是“千位+百位等于十位+個位”,參考答案的第8條語

句,修改if條件語句的判斷條件即可。

\n【參考答案】

\n

32.\n【審題關(guān)鍵句】數(shù)組相同下標(biāo)位置上的奇數(shù),數(shù)組a中十位數(shù)等于

新數(shù)的千位數(shù)字,個位等于新數(shù)個位數(shù)字,數(shù)組b中的十位等于新數(shù)的

百位數(shù)字,個位數(shù)字等于新數(shù)的十位數(shù)字,存入數(shù)組,從小到大排序。

\n【解題思路】

\n①定義整型循環(huán)變量i、j和局部變量trapo

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

大于MAX,用if條件語句判斷如果a國和如]同時為奇數(shù),由a[i]的十

位數(shù)字為新數(shù)的千位數(shù)字,個位數(shù)字為新數(shù)的個位數(shù)字,b[i]的十位數(shù)字

為新數(shù)的百位數(shù)字,個位數(shù)字為新數(shù)的十位數(shù)字,把這個新組成的數(shù)存

入數(shù)組元素c[cn],同時數(shù)組下標(biāo)變量cn加1。

\n③在第一層for循環(huán)語句中,循環(huán)變量i從0開始,依次遞增直到其值

等于或大于ent,在第二層循環(huán)中,循環(huán)變量{從i+1開始,依次遞增直

到其值等于ent,用if條件語句判斷如果數(shù)組元素c[i]大于c(j],則兩者

進(jìn)行互換,實現(xiàn)數(shù)組C中的數(shù)按從小到大的順序進(jìn)行排序。

\n【參考答案】

\n

\n

33.\n【審題關(guān)鍵句】字符的ASCH值右移4位二進(jìn)制位,高位補(bǔ)0后加

原字符的ASCII值。

\n【解題思路】

\n①定義兩個循環(huán)變量i、j和一個無符號字符變量tmpo

\n②在第一個for循環(huán)語句中,循環(huán)變量i從0開始,依次遞增直到其值

等于文章最大行數(shù)maxline。在第二個for循環(huán)中,從每行第1個字符開

始,依次遞增直到其值等于該行字符串的最大長度,然后在循環(huán)體中指

定每次循環(huán)時,將第i行第i個位置上的字符的ASCII值的二進(jìn)制數(shù)右

移4位,然后將所得的值再加上原字符的ASCII碼值。

\n【參考答案】

\n

34.\n【審題關(guān)鍵句】求素數(shù)的個數(shù)及平均值,并計算非素數(shù)的平均值。

\n【解題思路】

\n①首先定義循環(huán)變量i,然后通過for循環(huán)對數(shù)組a[300]d0的每個元素

a[i]調(diào)用函數(shù)isV(a[i])判斷a[i]是否是素數(shù)(素數(shù)的算法已在isP函數(shù)中給

出,此處直接調(diào)用即可),如果是素數(shù),則把其加到變量pjzl上,同時

計數(shù)變量ent加1,否則a[i]值加到變量pjz2上。直到判斷完數(shù)組a[300]00

的所有數(shù)據(jù)后退出循環(huán)。

\n②求出pJzl、pjz2和ent的值之后,再用變量pjzl的值除以ent的值

就得到素數(shù)的平均值,同時把這個值賦給變量pjzl,最后用變量pjz2的

值除以300.ent的值就得到非素數(shù)的平均值,并把這個值賦給變量pjz2o

\n【參考答案】

\n

\n

35.\n[審題關(guān)鍵句】Xn+l=cos(Xn)的迭代計算。

\n

溫馨提示

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

評論

0/150

提交評論