2021年江西省九江市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第1頁
2021年江西省九江市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第2頁
2021年江西省九江市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第3頁
2021年江西省九江市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第4頁
2021年江西省九江市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

[2021年】江西省九江市全國計(jì)算機(jī)等級

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

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

一、1.選擇題(10題)

1.下列問題的關(guān)系代數(shù)操作基本如下的關(guān)系R和So

若關(guān)系R和S的關(guān)系代數(shù)的操作結(jié)果如下,這是執(zhí)行了

D.Rx.S

2.設(shè)有屬性A,B,C,D,以下表示中不是關(guān)系的是

A.R(A)B,R(A,B,C,D)C,Rx(AxBxCxD)D,R(A,B)

3.下述哪一條是并發(fā)控制的主要方法?

A.授權(quán)B.日志C.封鎖D.索引

4.引人多道程序的目的是

A.提高實(shí)時(shí)響應(yīng)速度B.增強(qiáng)系統(tǒng)交互能力C.為了充分利用主存儲(chǔ)器

D.充分利用CPU,減少刪的等待時(shí)間

5.在有n個(gè)葉子的哈夫曼樹中,其節(jié)點(diǎn)總數(shù)為()。

A.不確定B.2nC.2n+lD.2n-1

6.SQL通常不提供下列哪一種操作?

A.修改索弓[定義B.修改視圖定義C.修改索弓[定義和修改視圖定義D.

修改表定義

7.數(shù)據(jù)庫系統(tǒng)的核心是()

A.編譯系統(tǒng)B.數(shù)據(jù)庫C.操作系統(tǒng)D.數(shù)據(jù)庫管理系統(tǒng)

8.下面試題基于如下描述:有關(guān)系模式P(C、S、T、R、G),根據(jù)語義有

如下函數(shù)依賴集:F{C—T,ST-R,TR-C,SC—G}。

下列屬性組中的哪一個(gè)(些)是關(guān)系P的候選碼?I.(C,S)II.(C,R)

III.(S,T)IV.(T,R)V.(S,R)

A.只有mB.I和mc.I、ii和wD.n、m和v

9.下面關(guān)于網(wǎng)絡(luò)信息安全的一些敘述中,不正確的是

A.網(wǎng)絡(luò)環(huán)境下的信息系統(tǒng)比單機(jī)系統(tǒng)復(fù)雜,信息安全問題比單機(jī)更加難

以得到保障

B.電子郵件是個(gè)人之間的通信手段,有私密性,不使用軟盤,一般不會(huì)

傳染計(jì)算機(jī)病毒

C.防火墻是保障單位內(nèi)部網(wǎng)絡(luò)不受外部攻擊的有效措施之一

D.網(wǎng)絡(luò)安全的核心是操作系統(tǒng)的安全性,它涉及信息在存儲(chǔ)和處理狀態(tài)

下的保護(hù)問題

10.是防止對系統(tǒng)進(jìn)行主動(dòng)攻擊,例如企業(yè)偽造、篡改的重要技

術(shù)手段。

A.加密B.防火墻C.隱藏D.認(rèn)證

二、填空題(10題)

n.可變分區(qū)的主存分配算法有【】、最佳適應(yīng)算法和最壞適應(yīng)算法

12.在SQL語言中,為了修改基本表的結(jié)構(gòu),可以使用的語句是____o

13.廣義表是線性表的推廣,是由零個(gè)或多個(gè)單元素或所組成的

有限序列。

14.數(shù)據(jù)包過濾技術(shù)是在_________對數(shù)據(jù)包進(jìn)行選擇。通過檢查數(shù)據(jù)

流中每個(gè)數(shù)據(jù)包的源地址、目的地址、所用的端口號(hào)、協(xié)議狀態(tài)等因素,

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

15.網(wǎng)狀、層次數(shù)據(jù)模型與關(guān)系數(shù)據(jù)模型的最大區(qū)別在于表示和實(shí)現(xiàn)實(shí)

體之間的聯(lián)系的方法:網(wǎng)狀、層次數(shù)據(jù)模型是通過指針鏈,而關(guān)系數(shù)據(jù)

模型是使用O

16.一個(gè)路由器的兩個(gè)IP地址為和,其路由表如下所示。

當(dāng)收到源IP地址為40.0.0.8,目的IP地址為的數(shù)據(jù)報(bào)時(shí),它將

把此數(shù)據(jù)報(bào)投遞到(要求寫出具體的IP地址)

要到達(dá)的網(wǎng)絡(luò)下一路由器

20.0.0.0也接投遞

30.0.0.0H接投遞

20.0.0.5

40.0.0.030,0.0,7

17.PowerBuilder10.0為使用.NET開發(fā)工具的用戶提供了一套_[]_工

具。這項(xiàng)專利技術(shù)是為簡化應(yīng)用開發(fā)而設(shè)計(jì)的,可縮短開發(fā)時(shí)間、減少

代碼等。

18.進(jìn)行并、差、交集合運(yùn)算的兩個(gè)關(guān)系必須具有相同的,即元

組結(jié)構(gòu)相同。

19.嚴(yán)格兩階段鎖協(xié)議要求對更新的封鎖必須保持到事務(wù)的終點(diǎn)。

20.先寫日志原則是為了發(fā)生故障后保持?jǐn)?shù)據(jù)庫的原子性和所必

須遵循的原則。

三、單選題(10題)

21.ENIAC所用的主要元件是()

A.集成電路B.晶體管C.電子管D.以上答案都不對

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

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

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

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

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

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

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

23.對于學(xué)生信息表S(SNUMBER,SNAME,SEX,AGE,

DEPT)(STUDENT由學(xué)號(hào)SNO,姓名SNAME,性別SEX,年齡AGE,

所在系DEPT5個(gè)屬性組成,其中SNUMBER為主碼),求年齡20-23

歲之間的學(xué)生姓名和年齡,正確的語句是()。

A.SELECTSNAME,AGEFROMSWHEREAGE>20ANDAGE<23

B.SELECTSNAME,AGEFROMSWHEREAGEBETWEEN20AND

23

C.SELECT*FROMSWHERE.AGEBETWEEN20AND23

D.以上均不正確

24.在SQLServer2008的系統(tǒng)數(shù)據(jù)庫中,為調(diào)度信息和作業(yè)歷史提供存

儲(chǔ)區(qū)域的是

A.MasterB.ModelC.PubsD.Msdb

25.用戶對SQL數(shù)據(jù)庫的訪問權(quán)限中,如果只允許刪除基本表中的元組,

應(yīng)授予哪一種權(quán)限?

A.DROPB.DELETEC.ALTERD.UPDATE

26.在關(guān)系數(shù)據(jù)庫系統(tǒng)中,一個(gè)關(guān)系相當(dāng)于()

A.一張二維表B.一條記錄C一個(gè)關(guān)系數(shù)據(jù)庫D.一個(gè)關(guān)系代數(shù)運(yùn)算

27.病毒的主要特性表現(xiàn)在如下哪幾個(gè)方面?()

I.傳染性

II.靈活性

III.破壞性

IV.隱蔽性

V.常駐內(nèi)存

A.I、II和niB.I、ii和wc.II、m和wD.全都是

28.以下關(guān)于因特網(wǎng)中的電子郵件的說法,錯(cuò)誤的是()。

A.A.電子郵件是有固定格式的,它由郵件頭和郵件體兩部分組

B.電子郵件應(yīng)用程序的最基本的功能是:創(chuàng)建和發(fā)送,接收、閱讀和管

理郵件的功能

C.密碼是對郵件的一個(gè)最基本的保護(hù)。目前,保證電子郵件安全性的主

要手段是使用大寫字母、小寫字母、數(shù)字和符號(hào)混用的密碼

D.利用電子郵件可以傳送多媒體信息

29.已經(jīng)獲得除CPU以外的所有所需資源的進(jìn)程處于()狀態(tài)。

A.運(yùn)行狀態(tài)B.就緒狀態(tài)C.自由狀態(tài)D.阻塞狀態(tài)

3O.AHIT和Bair兩個(gè)數(shù)組說明如下:VARAarr:Array[0...7]ofchar;

Barr:Array[-5...2,3...8]ofchar;這兩個(gè)數(shù)組分別能存放的字符的最

大個(gè)數(shù)是()

A.7和35B.1和5C.8和48D.1和6

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

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

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

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

按條件重新組成一個(gè)新數(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ù)字,個(gè)位數(shù)字仍為新

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

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

例如Al123124152115

bi3245172718IS

c:345I12751155

播序后j113512753451

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

程序中已定義,1(100].b(100)和c[100]?

請勿改動(dòng)數(shù)據(jù)文件IN1.DAT和1N2.DAT中的任何數(shù)據(jù)?主函數(shù)nvun()?it的數(shù)readD.tO和與端數(shù)writeDW)的內(nèi)容.

11*include<stdio.h>

2i?defineMAX100

3JintalMAXHb[MAXJ,C(MAX1;

4?intent,0;/?存收制作臬件次的個(gè)??/

5;voidIsVal()

t#INIDAT90IN2.DAT<1*^18個(gè)眄位存入融趾?Mb中?/

voidreadDat<)

11intU

12FILEefp;

13fp-fopen("inl.daCM**r")

14ford-0;1<MAX;…)

15fscanf(fp,fca(11);

16fclose(fp);

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

18for(i"0;1<MAX:

19fscanf(fp4"td"?,b【U);

20fclose(fp);

21I

22voidmain()

int1;voidwriteDat();

25ford-0;1<MAX;

2bc[l]?0;

27readDat();

28jsVal();

29for(i-0;I<MAX“C[i0;

30printf(*%d\n-rc(i)>:

31writoDat()i

32)

/?圮儲(chǔ)最敏蝸c?M期文竹2k?1??/

33voidwriteDat()

34?(

35JFILEafp;

36jintit

31!fp-fopen("out.dit*,Hw"?;

38!ford-0;1<MAX,,c(i|>0;

39?fprlntf(fp,"IdXn",c(i]);

40?fclose(fp)i

41;1

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

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

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

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

數(shù)按從小到大的順序進(jìn)行排序。最后main函數(shù)調(diào)用寫函數(shù)writeDat把

數(shù)組b中的數(shù)輸出到文件out.dat中。

例如?6712.6+2=7+1,則該班滿足條件存入數(shù)姐b中,且個(gè)數(shù)cnkcntH.

8129,則該數(shù)不清足條件忽略.

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

程序中已定義數(shù)姐:a(300).b(300).已定義變量:art

請勿改動(dòng)數(shù)據(jù)文件gdat中的任何數(shù)據(jù)、主函數(shù)讀函數(shù)readDatO和寫的數(shù)wriicDalO的內(nèi)容

1jIinclude<stdio.h>

2-inta[300).b[300]#cnt-0;

3!voidwriteDat();

4ivoidreadDat();

5-voidjsValue()

6?(

;!,

9!mainO

10;(

11!int1;

12ireadDat();

13?jsValueO;

14!writeDat();

M

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

16Jfor(i?0;i<ent;

wM

17jprintf(b[%d]-%d\nr1,b[i]);

18;I,

19!voidreadDat()

20;(

21|FILE*fp;

22!int1;

23jfp?fopen("in.dat*#;

24?for(i*0;i<300;

25jfdcanf(fp*w%d,**,&a[1]);

26fclose(fp);

27

28voidwriteDat()

29

30FILEefp;

int1;

32fp■fopen(°out.datWww);

33fprlntf(fp,Fd\n",ent);

34for(i?0;i<ent;"?)

35fprintf(fp,Fd\n”.b[l))

36fclose(fp);

37

33.編寫一^函數(shù)findStr(char*str,char*substr),該函數(shù)統(tǒng)計(jì)一^長度為

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

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

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

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

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

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

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

填入你編寫的若干語句。

^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取兩個(gè)字符中,蚌■用炳欣findSoO,■后1E郎果博出到文件即如中,/

voidReadWrite()

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

人如臬子字符申的量后個(gè)字椅是同架按行符或是文鐘帖販料,明紀(jì)子字符串的?后f字符的值設(shè)置X。?/

35if(ch??'\n'11ch~Oxla)

36substr[len]?0;

flndStr(4tr?■ubstr)返Z1子字符串subst.r在字符率Atr中出現(xiàn)的次數(shù)*/

37n-findStr(str,substr);

38fprintf(wf/Fd\n".n);//IC計(jì)H納暨n寫入到文件out.dau中

39〃謂環(huán)堂量士加】

40I

41fclose(rf);

42fclose(wf);

43

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

號(hào)字符串?dāng)?shù)組XX中;請編制函數(shù)ChA,其函數(shù)的功能是:以行為單位

把字符串中的第一個(gè)字符的ASCII值加第二個(gè)字符的ASCII值,得到

第一個(gè)新的值,存入數(shù)組單元XX用⑼中(其中:i是文章中的某行)。第

二個(gè)字符的ASCII值加第三個(gè)字符的ASCII值,得到第二個(gè)新的值,存

入數(shù)組單元中。以此類推一直處理到最后第二個(gè)字符,最后一個(gè)

字符的ASCII值加原第一個(gè)字符的ASCII值,得到最后一個(gè)新的值,存

放在原字符串對應(yīng)的位置上,之后把已處理的字符串逆轉(zhuǎn)后仍按行重新

存入無符號(hào)字符串?dāng)?shù)組XX中。最后main函數(shù)調(diào)用函數(shù)WriteDat把結(jié)

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

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

號(hào)和空格,并也按它的ASCII值作以上處理。注意:部分源程序存放在

test.c文件中。

請勿改動(dòng)主函數(shù)main、讀數(shù)據(jù)函數(shù)ReadDat和輸出數(shù)據(jù)函數(shù)WriteDat

的內(nèi)容。

1;*lnclude<stdio.h>

?inclig?

d

ax

d

13if(ReadDatO)

14(

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

16return;

17}

18ChA();

19WriteDat();

20]

/?從文件m.dM中康我一編英文丈量存入》無符號(hào)字辨申數(shù)的XM中?/

21intReadDat(void)

22(

23FILE*fp;

24inti?0;

25char*p;

26it((fp-fopen(win.datw,Hr*))-NULL)

27return1;

28while(fgets(xx(i)<80#fp)9NULL)

29(

30p■strchr(xx(i)t?\n*);

31if(p),p?0;

32

33)

34maxline?i;

35fclose(fp);

36return0;

37)

/?把結(jié)果xx*出到ouLdal文件中?/

38voidWriteDat(void)

39(

40FILE*fp;

41inti;

42fp-fopenLout.dat".”");

43for(i?0;i<maxline;1+?)

44(

w

45printf(%s\n"/xx(i));

R

6fprlntf(fp/"%s\n#xx[11);

47)

48fclose(fp);

49

35.已知在文件in.dat中存有100個(gè)產(chǎn)品銷售記錄,每個(gè)產(chǎn)品銷售記錄

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

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

量。函數(shù)ReadDat讀取這100個(gè)銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請編

制函數(shù)SortDat,其功能要求:按金額從小到大進(jìn)行排列,若金額相等,

則按產(chǎn)品代碼從小到大進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中。

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

提示:若中間變量為PROtemp,則可以直接使用結(jié)構(gòu)賦值語句進(jìn)行解

題。

例如:sell[i]=temp;

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

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

14include<stdio.h>

2Iinclude<?trlng.h>

3?IncludeOtdlib.h>

4fdefineMAX100

5typed?fstruct

6(

7chardm⑸;/?產(chǎn)4代碼?/

8charnc(lll:/?MW?/

9intdj;/??餅?/

10intsi;/?■■?/

11longje;/????/

12)PRO;

13PRO8011【MAX);

14voidReadDat();

15voidWritet>at();

16voidSortDat()

17

16

19

20voidmain()

21<

22momoot(selli0.stzeof:

23ReadDat();

24SortDat();

25WriteDatO;

26)

21voidReadDat()

28I

29FILEefp;

30charatr(80),ch(ll);

31Int1;

32fp-fopen("in.ckit","rw);

33for(i?0;1<100;

34(

35fgetBtstXr80,fp);

36memcpy(sell(l).dm,str,4);

37memcpy(sellfil.me,str?4,10);

38menepy(ch?stx*14r4):ch(4J-0:

39sell(i).dj-atoi(ch>;

40memcpy(chrstr*18v5);ch(5]-0;

41sell(i).al-atoi(ch);

42sell(i).je-(long)sellU).dj?selldl.al;

43)

44fclose(fp);

45}

46voidWrlteOat()

47<

48FILEefp;

49inti;

50fp-fopen("out.**w*);

51tor(1?0;1<100;*+?)

52

w

fprintf(fp,3%4d%5dt101d\n,seUUbdh,sellll).mc?aellUJ.djr.

sttllll)?je);

54;

55!fclose(fp);

56h

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

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

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

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

出到文件Out.dat中。

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

右邊部分不作處理,排序后,左邊部分與右邊部分按例子所示進(jìn)行交換。

如果原字符串長度為奇數(shù),則最中間的字符不參加處理,字符仍放在原

位置上。

例如:位置012345678

源字符串a(chǎn)bcdhgfe

123498765

則處理后字符串hgfcdcba

876594321

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

請勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)maiM)、讀函數(shù)n?dDat()和寫的數(shù)wnteD&U)的內(nèi)容.

1!linclude<stdio.h>

2j?include<string.h>

3;charxx[20]180);

voidreadDat();

5voidwrlteDat();

6voidjsSort()

7

8

9

10voidmain()

11(

12readDat0;

13jsSort();

14writeDat();

15>

,?從文件1ndu中讀取20行數(shù)第存放到字符事數(shù)組?中?/

16voidreadDat()

17

18FILEein;

19inti■0;

20char*p;

wwwR

21in?fopen(in.datrr);

22while(i<20“fgets(xx(1]v80,in)NULL)

23(

24p-strchr(xxfij,?\n*);

25if(p)*p-0;

26

27)

28fclose(in);

29)

/?tt?ARxx?出到文件outcfel中?/

30voidwriteDat()

31I

32FILEeout;

33int1;

W

34out-fopen(*out.dat",w*);

35for(i-0;1<20;

36{

*

37printf(,,%s\n*/xx[i));

w

38fprintf(outr*%B\nrxx(i));

39)

40fclose(out);

41

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

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

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

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

替代關(guān)系:)=p*17mod256,mod為取余運(yùn)算,p是數(shù)組)xx中某一個(gè)字

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

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

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

注意,部分源觀序存放在teste文件中,原始數(shù)據(jù)文件存放的格式是:能行的寬度均小于80個(gè)字符,古標(biāo)點(diǎn)符號(hào)和蹙

格,井也按出仲代關(guān)嘉進(jìn)行處理?

請勿改動(dòng)主函觸mainO、讀函數(shù)RedD?0和■出函數(shù)WmeDitO的內(nèi)容.

1!Iinclude<3tdio.h>

2?iinclude<string.h>

3??Include<ctype.h>

4?unsignedcharxx[50][80);

5jintmaxline■0)/?文章的總行破?/

61xntReadDat(void);

7;voidWritoDat(void):

Q;voidenoryptCharO

9j(

10;unslQnedintval:

11

12

13voidmam()

14(

15if(ReadDat())

16(

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

18return;

19]

20encryptChar();

21WriteDat();

)

22八從文件utdal中幡取一編英文文章.存入到無禱號(hào)?利申數(shù)笆0中?/

23intReadDat(void)

24(

2SFILEefp;

26inti-0;

27unsignedchar*p;

ww

28if((fp-fopen(in.dafr-r))—NULL)

29return1;

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

31(

32p-strchr(xx[1]t*\n*):

33if(p)*p-0;

34if

35I

36maxline-1;

37fclose(fp);

38return0;

)

39/?把站果XX?出到文件0MdM中?/

40voidWriteDat(void)

41(

42FILE#fp;

43int1;

44fp?fopen("out,datw^;

45for(1-0;i<maxline;

46(

47printfr%s\nw,xx(il);

48fprintf(fp,xx(i]);

49)

50fclose(fp);

51

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

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

字和千位數(shù)字重新組成一個(gè)新的含有兩位數(shù)字的數(shù)(新數(shù)的十位數(shù)字是

原四位數(shù)的個(gè)位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的千位數(shù)字),以及把

百位數(shù)字和十位數(shù)字組成另?個(gè)新的含有兩位數(shù)字的數(shù)(新數(shù)的十位數(shù)

字是原四位數(shù)的百位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字),如

果兩個(gè)新組成的數(shù)均是偶數(shù)并且至少有一個(gè)數(shù)能被9整除,同時(shí)兩個(gè)新

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

入數(shù)組b中,并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)ent。最后main函

數(shù)調(diào)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b中符合條件的四位數(shù)輸出

到Out.dat文件中。

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

程序中巳定義數(shù)ALa|200].b(200],巳定義變量:ent

請勿改動(dòng)數(shù)據(jù)文件m.dat中的任何數(shù)據(jù)、主函數(shù)nwunO、讀的數(shù)rvadDatO和寫曲數(shù)writeDUO的內(nèi)容.

1

1.?include<stdio.h>

2J?defineMAX200

3!inta|MAX]#ent-0;

4-voidjsVal()

5!!

6?

8;voidreadDat()〃從xn?必e文件中虐取200個(gè)四位效存入fHSA中

w

12;fp-fopen(in.dat",

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

14jfscanf(fp<6a(1]

15;fclose(fp>;

16;十

17;writeDat()/把計(jì)算能果cnl以及我恥b中料含條件的內(nèi)付數(shù)?出到outdai文件中

18

D;

voidmain()

28

29mt1:

30readDat();

31jsVal();〃調(diào)陽的敝加me寶現(xiàn)&U要求的功能

32printf("滿足條件的SUd\n”.nt);

33for(1-0;1<ent;1?*)

34printf<7d”,b[i!);

35printf(H\nM);

36writeDat();

37!)

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

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

字和十位數(shù)字重新組成一個(gè)新的含有兩位數(shù)字的數(shù)ab(新數(shù)的十位數(shù)字

是原四位數(shù)的千位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字),以及

把個(gè)位數(shù)字和百位數(shù)字組成另一個(gè)新的含有兩位數(shù)字的數(shù)cd(新數(shù)的十

位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)

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

同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到

小的順序存入數(shù)組b中,并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)ent。

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

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

注意‘部分》程序存在teste文件中.

程序中已定義數(shù)fth1(200].b(200],已定義變量,cm

請勿改動(dòng)數(shù)據(jù)文件trtdai中的任何數(shù)據(jù),主函數(shù)mainO-讀的數(shù)neadDatO和寫函數(shù)writeDatO的內(nèi)容.

Iinclude<stdio.h>

?defineMAX200〃宸義宏支/MAX,其值尊于zoo

3inta[MAXj,b[MAXJ,ent-0;〃定義全局魯甲T?敷蛆ZMAXLDIHAX?宓變■st,苒初值等于0

4voidwriteDat();

voidjsValo

6

7

8

9voidreadDatO〃從m.dat文件中Ml200個(gè)四付數(shù)存入收蛆.中

10

inti;

FILEefp;

fp-fopen("in.dat*,"r*>;

for(1-0;i<MAX;

fscant(fpr"Id",fca[i]);

fclose(fp);

voidmain()

int1;

21readDatO;

22jsValO;〃■用”v“()角數(shù)實(shí)現(xiàn)顯目裳求的功跳

23printf「滿足條件的敗ent);

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

25printf(w%d-,

26printfCXn**);

27writeDatO;

28

29voidwriteDatO〃化詩像姑果cm以及敏tflb中符合條件的四位敏■出到xdit文件中

30?|

31;FILE#fp;

32:inti;

w

33fp?fopen("out.dat,"D;

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

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

ww

36fprintf(fpr%d\nrb[II);

37fclose(fp);

38

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

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

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

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

這些正整數(shù)的算術(shù)平均值totPjzo最后main函數(shù)調(diào)用函數(shù)WriteDat把

所求的結(jié)果輸出到Out.dat文件中。

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

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

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

linclude<stdio?h>

IdefIneMAXNUM200

3intxx【MAXNUM”

4inttOtNuw?0;〃文件xn.dat中共有多少個(gè)正事數(shù)

5inttotCnt-0;〃持令條件的正整數(shù)的個(gè)數(shù)

6doubletotPjz?0?0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain()

14(

15Inti;

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

17xx(i]?0;

18if(ReadDat())

19

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

21return;

22I

23CalValueO;

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

25printf("符合條件的正整數(shù)的個(gè)數(shù)Nd個(gè)\n".totCnt);

26printf(“平均值totPjz);

27writeDat();

28

/?讀取這若干個(gè)正■效井存人IhaMI中?/

29intBeadDat(void)

30(

31FILEefp;

32inti0:

33if((fp-fopen("in.dat**,wrw))-NULL)

34return1;

35while(!feof(fp))

36(

37fscanf(fp,7d?e.&xx(i+,:r;

38]

39fclose(fp);

40return0;

41|}

j八把計(jì)算結(jié)果存入文件。iR.Ut.中,

42:voidWriteDat(void)

43

44FILE*fp;

45fp-fopen("out.dat-,”w“);

46fprlntf(tp,totNun,totCnt,totPjz);

47fclose(fp);

48

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

41.已知某教務(wù)管理系統(tǒng)的設(shè)計(jì)人員在需求分析階段收集到下列原始數(shù)

據(jù)表格:

教師

上級領(lǐng)導(dǎo)教師

教師號(hào)教師名職稱工資

號(hào)

9868王文華教授8000null

9983李一斌副教授60009868

9985丁一講師刪9868

0783王潤澤講師刪9868

0899歐陽丹妮講師刪9868

課程

課程號(hào)課程名學(xué)分教材號(hào)教材名出版社名任課教師號(hào)

計(jì)算機(jī)原清華大學(xué)出

C2006311計(jì)算機(jī)原理9868

理版社

計(jì)算機(jī)原計(jì)算機(jī)原理與高等教育出

C20063129868

理應(yīng)用版社

清華大學(xué)出

C2004數(shù)據(jù)結(jié)構(gòu)313數(shù)據(jù)結(jié)構(gòu)9868

版社

數(shù)據(jù)庫原清華大學(xué)出

C2010314數(shù)據(jù)庫原理9868

理版社

數(shù)據(jù)庫原數(shù)據(jù)庫原理與高等教育出

C20103159868

理技術(shù)版社

清華大學(xué)出

S3001音樂欣賞216音樂欣賞9983

版社

已知該業(yè)務(wù)系統(tǒng)存在如下規(guī)則:

I.每個(gè)教師有唯一的教師號(hào),每個(gè)教師號(hào)對應(yīng)唯一的一名教師;

II.每門課程有唯一的課程號(hào),每個(gè)課程號(hào)對應(yīng)唯一的一門課程;

III.每本教材有唯一的教材號(hào),每個(gè)教材號(hào)對應(yīng)唯一的一本教材;

IV.每個(gè)教師最多只有一個(gè)上級領(lǐng)導(dǎo),也可以沒有上級領(lǐng)導(dǎo);

V.一門課程僅由一名教師講授;

VI.一本教材僅用于一門課程。(12分)

(1)請根據(jù)原始數(shù)據(jù)表及業(yè)務(wù)規(guī)則,給出該系統(tǒng)的關(guān)系模式,保證每個(gè)

關(guān)系模式滿足3NF,并說明每個(gè)關(guān)系模式的主碼和外碼。

⑵畫出該系統(tǒng)的ER圖,ER圖中需給出每個(gè)實(shí)體集的屬性,主碼屬性

用下劃線標(biāo)識(shí)。

42.設(shè)某全國性的運(yùn)輸企業(yè)建立了大型OLTP系統(tǒng),并在該系統(tǒng)之上建立

了數(shù)據(jù)倉庫。OLTP系統(tǒng)和數(shù)據(jù)倉庫中有如下數(shù)據(jù)表:運(yùn)輸明細(xì)表(運(yùn)輸

單ID,發(fā)送站ID,終到站ID,貨物ID,貨物重量,運(yùn)輸價(jià)格,發(fā)貨日

期)匯總表1(發(fā)送站ID,終到站ID,貨物ID,發(fā)貨日期,總重,總

運(yùn)價(jià))匯總表2(發(fā)送站ID,終到地區(qū)ID,貨物ID,發(fā)貨日期,總重,

總運(yùn)價(jià))匯總表3(發(fā)送站ID,終到站ID,貨物ID,發(fā)貨月份,總重,

總運(yùn)價(jià))匯總表4(發(fā)送地區(qū)ID,終到地區(qū)ID,貨物類別ID,發(fā)貨日

期,總重,總運(yùn)價(jià))該企業(yè)管理的貨運(yùn)站約有100個(gè),貨物約有500種

共10類,各匯總表都建有主碼,且各表有合理的維護(hù)策略,在每次維護(hù)

后數(shù)據(jù)能保持一致。設(shè)有視圖V,該視圖的訪問頻率很高,其查詢結(jié)果

模式為(發(fā)送地區(qū)ID,終到站ID,發(fā)貨月份,總重,總運(yùn)價(jià)),該視圖

現(xiàn)以匯總表1為計(jì)算數(shù)據(jù)源。經(jīng)監(jiān)控發(fā)現(xiàn),匯總表1的被訪問頻率過高,

導(dǎo)致系統(tǒng)整體性能下降,而其它匯總表被訪問頻率較低。在不增加匯總

表和索引的情況下,請給出一個(gè)改善系統(tǒng)服務(wù)性能的優(yōu)化方案,并簡要

說明理由。(10分)

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

43.某公司計(jì)劃開發(fā)一套生產(chǎn)管理系統(tǒng),在開發(fā)前需對數(shù)據(jù)庫產(chǎn)品進(jìn)行選

型工作。下列有關(guān)數(shù)據(jù)庫產(chǎn)品選型的說法,錯(cuò)誤的是()o

A.由于關(guān)系數(shù)據(jù)庫均采用SQL語句對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行維護(hù),因此數(shù)

據(jù)庫產(chǎn)品選定后如需進(jìn)行更換,應(yīng)用程序無需修改

B.存詵型過程中需要考慮應(yīng)用系統(tǒng)的可用性、可靠性和連續(xù)性要求

C.在選型過程中需要考慮數(shù)據(jù)庫管理系統(tǒng)所支持的操作系統(tǒng)平臺(tái),例如

SQLServer數(shù)據(jù)庫管理系統(tǒng)只支持在Windows操作系統(tǒng)上運(yùn)行

D.部分?jǐn)?shù)據(jù)庫管理系統(tǒng)在大數(shù)據(jù)量和大并發(fā)情況下可能出現(xiàn)速度變慢、

死鎖等問題,因此在選型過程中應(yīng)充分考慮數(shù)據(jù)量和性能需求

44.數(shù)據(jù)庫設(shè)計(jì)主要包括概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)三個(gè)步驟。設(shè)有

下列活動(dòng):I.設(shè)計(jì)ER圖II.將ER圖轉(zhuǎn)換為關(guān)系模式m.定義數(shù)據(jù)

的約束條件W.用SQL語句描述事務(wù)活動(dòng)上述活動(dòng)中,屬于邏輯設(shè)計(jì)

所包含活動(dòng)的是()o

A.僅I、ii和niB.僅n、m和wc.僅II和niD.僅n和w

參考答案

LA解析:這是個(gè)連接運(yùn)算通過關(guān)系代數(shù)運(yùn)算可以得出結(jié)論答案A)正確。

2.C解析:表示關(guān)系的屬性時(shí),各個(gè)屬性之間的分隔符選用

3C解析:在并發(fā)控制的技術(shù)中,最常用的是封鎖方法。加鎖后事務(wù)T

就對該數(shù)據(jù)對象有了一定的控制,在事務(wù)T釋放它的鎖之前,其他的事

務(wù)不能更新此數(shù)據(jù)對象。確切的控制由封鎖的類型決定。因此本題正確

答案為選項(xiàng)C。

4.D解析:操作系統(tǒng)中,引入多道程序是為了充分利用CPU,戒少CPU

的等待時(shí)間。

5.D解析:由于哈夫曼樹所有的分支節(jié)點(diǎn)均為雙分支節(jié)點(diǎn),根據(jù)二叉樹

的性質(zhì),雙分支節(jié)點(diǎn)等于葉子節(jié)點(diǎn)的個(gè)數(shù)減1,因此總節(jié)點(diǎn)數(shù)為n+n-

l=2n-lo

6.C解析:視圖是基于基本表的虛表,索引是依附于基本表的,因此,

SQL通常不提供修改視圖定義和修改索引定義的操作。用戶如果想修改

視圖定義或索引定義,只能先將它們刪除掉,然后再重建。不過有些關(guān)

系數(shù)據(jù)庫產(chǎn)品,如Oracle,允許直接修改視圖定義。

7.D解析:數(shù)據(jù)庫系統(tǒng)一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、應(yīng)用系

統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。DBMS是數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)和核心。

8.B解析:本題考查關(guān)系模型中候選碼的基本概念。由于(C,S)與(S,T)

都是碼,故正確答案為B。

9.B解析:隨著電子郵件的日益普及,越來越多的病毒通過電子郵件傳

播,和傳統(tǒng)的軟盤傳播病毒比起來,通過電子郵件傳播病毒無論是傳播

速度還是傳播范圍都遠(yuǎn)非前者所可望其項(xiàng)背。這也是互聯(lián)網(wǎng)時(shí)代病毒傳

播的最大特點(diǎn)。

10.D解析:加密是防止破譯信息系統(tǒng)中機(jī)密信息的技術(shù)手段;防火墻

(firewall)是網(wǎng)絡(luò)(計(jì)算機(jī))抵抗外部入侵的一種隔離保護(hù)軟件;認(rèn)證是防

止對系統(tǒng)進(jìn)行主動(dòng)攻擊,常用技術(shù)有數(shù)字簽名技術(shù)、身份識(shí)別技術(shù)和信

息的完整性校驗(yàn)技術(shù)等。

11.最先適應(yīng)算法系統(tǒng)在尋找空閑區(qū)時(shí)可采用:最先適應(yīng)算法,最佳適應(yīng)算法,最壞適

應(yīng)算法

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

溫馨提示

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

最新文檔

評論

0/150

提交評論