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

下載本文檔

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

文檔簡介

[2021年】河南省鄭州市全國計(jì)算機(jī)等級(jí)

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

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

一、1.選擇題(10題)

1.下列不屬于死鎖產(chǎn)生的必要條件的是

A.互斥條件B.共享?xiàng)l件C.不可剝奪條件D.部分分配條件

2.雙鏈表的每個(gè)結(jié)點(diǎn)包括兩個(gè)指針域。其中rlink指向結(jié)點(diǎn)的后繼,llink

指向結(jié)點(diǎn)的前驅(qū),如果要在P所指結(jié)點(diǎn)后插入q所指的新結(jié)點(diǎn),操作序

列正確的是()o

A.p.rlinkttllink:=q;.rlink:=q;q^.llink:=p;q1.rlink:=pT.rlink;

B.pT.llinklT.rlink:=q;pt.llink:=q;q^.rlink:=p;q^.llink:=p^.llink;

C.qt.llink:=p;q1.rlink:=pT.rlink;p^.rlinkl.llink:=q;.rlink:=q];

D.qT.rlink:=p;q^.llink:=pT.llink;llink].rlink:=q;p^,llink:=q;

3.實(shí)體完整性要求主屬性不能取空值,這一點(diǎn)通常是通過()。

A.定義外部鍵來保證B.定義主鍵來保證C.用戶定義的完整性來保證

D.關(guān)系系統(tǒng)自動(dòng)保證

4.在Oracle中如果要快速的生成報(bào)表應(yīng)使用哪種工具?

A.OracleFormsB.OracleReportsC.OracleGraphicsD.BPR

5.數(shù)據(jù)庫管理系統(tǒng)FoxBASE和Oracle都是關(guān)系型數(shù)據(jù)庫管理系統(tǒng),但

它們之間存在重要差別。其差別之一是

A.FoxBASE可以使用漢字,而Oracle不可以使用漢字

B.FoxBASE是單用戶數(shù)據(jù)庫,而Oracle是多用戶數(shù)據(jù)庫

C.FoxBASE一個(gè)數(shù)據(jù)庫是一個(gè)表,而Oracle一個(gè)數(shù)據(jù)庫可以包含多個(gè)

D.FoxBASE在微機(jī)上運(yùn)行,而Oracle在大中型機(jī)上運(yùn)行

6.有一個(gè)網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用系統(tǒng),其中一臺(tái)計(jì)算機(jī)A存有DBMS軟件、

所有用戶數(shù)據(jù)和應(yīng)用程序,其余各節(jié)點(diǎn)作為終端通過通信線路向A發(fā)

出數(shù)據(jù)庫應(yīng)用請求,這種方式屬于

A.集中式數(shù)據(jù)庫系統(tǒng)B.并行數(shù)據(jù)庫系統(tǒng)C.客戶機(jī)/服務(wù)器數(shù)據(jù)庫系統(tǒng)

D.分布式數(shù)據(jù)庫系統(tǒng)

7.下列敘述中,不正確的是

A.模式是數(shù)據(jù)庫全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,不涉及到具體的值

B.一個(gè)模式可以有很多實(shí)例

C.模式是相對變動(dòng)的,實(shí)例一旦確定下來就比較穩(wěn)定

D.模式反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系,而實(shí)例反映的是數(shù)據(jù)庫某一時(shí)刻

的狀態(tài)

8.下列關(guān)于進(jìn)程的敘述中,正確的是

A.進(jìn)程由程序、數(shù)據(jù)和調(diào)度信息組成

B.程序是進(jìn)程的“靈魂”

C.在調(diào)度信息中保存有進(jìn)程的地址信息

D.進(jìn)程隊(duì)列可以分為就緒隊(duì)列、等待隊(duì)列和運(yùn)行隊(duì)列

9.下列有關(guān)E-R模型向關(guān)系模型轉(zhuǎn)換的敘述中,不正確的是()。

A.一個(gè)實(shí)體類型轉(zhuǎn)換成一個(gè)關(guān)系模式

B.一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式

C一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與聯(lián)系的任意

一端實(shí)體所對應(yīng)的關(guān)系模式合并

D.一個(gè)l:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與聯(lián)系的任意

一端實(shí)體所對應(yīng)的關(guān)系模式合并

10.下面描述不正確的是

A.數(shù)據(jù)元素是數(shù)據(jù)的基本單位

B.數(shù)據(jù)元素可有一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)組成,數(shù)據(jù)項(xiàng)是有獨(dú)立含義的數(shù)據(jù)最

小單位

C.數(shù)據(jù)的邏輯結(jié)構(gòu)是數(shù)據(jù)間關(guān)系的描述,它是抽象地反映數(shù)據(jù)元素間的

存儲(chǔ)關(guān)系

D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)器中的實(shí)現(xiàn)

二、填空題(10題)

11.在TCP/IP的參考模型中,HTTP協(xié)議定義在___層。

12.Novell公司的NetWare最著名的地方就是它的和打印管

理。

13.數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)庫操縱語言及它的翻譯程序,實(shí)現(xiàn)對數(shù)據(jù)

庫數(shù)據(jù)的操作,包括刪除、更新和插入。

14.能夠模式化為維屬性和度量屬性的數(shù)據(jù)統(tǒng)稱為數(shù)據(jù)。

15.數(shù)據(jù)庫中知識(shí)發(fā)現(xiàn)是識(shí)別數(shù)據(jù)庫中以前不知道的、新穎的、潛在有用

的【】非平凡過程

16.m階B樹的根結(jié)點(diǎn)至少有【】棵子樹。

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

決定的。

18.關(guān)系代數(shù)是一種關(guān)系操縱語言,它的操作對象和操作結(jié)果均為

19.死鎖的4個(gè)必要條件是_口_、_[]_、不剝奪條件和循環(huán)等待

20.在SQL語言中,若要?jiǎng)h除一個(gè)表,應(yīng)使用的語句是____TABLEO

三、單選題(10題)

21.在SQLSever中創(chuàng)建用戶數(shù)據(jù)庫,實(shí)際就是定義數(shù)據(jù)庫所包含的文件

以及文件的屬性。下列不屬于數(shù)據(jù)庫文件屬性的是_________O

A.初始大小B.物理文件名C.文件結(jié)構(gòu)D.最大大小

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

除冗余關(guān)系。

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

23.設(shè)散列函數(shù)為H(k)=kmod7,現(xiàn)欲將關(guān)鍵碼23,14,9,6,30,12,

18依次散列于地址。?6中,用線性探測法解決沖突,則在地址空間0?

6中,得到的散列表是

A.14,6,23,9,18,30,12

B.14,18,23,9,30,12,6

C.14,12,9,23,30,18,6

D.6,23,30,14,18,12,9

24.在定義一個(gè)關(guān)系結(jié)構(gòu)時(shí),應(yīng)該說明()

A.字段、數(shù)據(jù)項(xiàng)及數(shù)據(jù)項(xiàng)的值B.屬性名、屬性數(shù)據(jù)類型及位數(shù)C.關(guān)系

名、關(guān)系類型及作用D.記錄名、記錄類型及內(nèi)容

25.在關(guān)系數(shù)據(jù)庫設(shè)計(jì)中,設(shè)計(jì)關(guān)系模式是()的任務(wù)。

A.需求分析階段B.概念設(shè)計(jì)階段C.邏輯設(shè)計(jì)階段D.物理設(shè)計(jì)階段

26.下列關(guān)于SQLServer數(shù)據(jù)庫服務(wù)器登錄賬戶的說法中,錯(cuò)誤的是

A.登錄賬戶的來源可以是Windows用戶,也可以是非Windows用戶

B.所有的Windows用戶都自動(dòng)是SQLServer的合法賬戶

C.在Windows身份驗(yàn)證模式下,不允許非Windows身份的用戶登錄到

SQLServer服務(wù)器

D.sa是SQLServer提供的一個(gè)具有系統(tǒng)管理員權(quán)限的默認(rèn)登錄賬戶

27.設(shè)計(jì)作業(yè)調(diào)度算法時(shí)不需要考慮下列()因素。

A.用戶界面友好B.公平性C.均衡使用資源D.吞吐量大

28.下列關(guān)于SQLServer數(shù)據(jù)庫管理系統(tǒng)權(quán)限的敘述中,哪一條是不正

確的?

A.SQLServer數(shù)據(jù)庫管理系統(tǒng)的權(quán)限分為服務(wù)器權(quán)限和數(shù)據(jù)庫權(quán)限兩

B.數(shù)據(jù)庫管理員執(zhí)行數(shù)據(jù)庫管理任務(wù)。這是屬于數(shù)據(jù)庫權(quán)限

C.數(shù)據(jù)庫權(quán)限又可以分為數(shù)據(jù)庫對象權(quán)限和數(shù)據(jù)庫語句權(quán)限兩種

D.數(shù)據(jù)庫語句權(quán)限授予用戶以允許他們創(chuàng)建數(shù)據(jù)庫對象

29.概念設(shè)計(jì)的結(jié)構(gòu)是得到一個(gè)與()

A.DBMS有關(guān)的邏輯結(jié)構(gòu)B.DBMS無關(guān)的概念模式C.DBMS和硬件

有關(guān)的邏輯結(jié)構(gòu)D.DBMS和硬件無關(guān)的數(shù)據(jù)結(jié)構(gòu)

30.在數(shù)據(jù)庫技術(shù)中,為提高數(shù)據(jù)庫的邏輯獨(dú)立性和物理獨(dú)立性,數(shù)據(jù)

庫的結(jié)構(gòu)被劃分成用戶級(jí)、()和存儲(chǔ)級(jí)3個(gè)層次。

A.管理員級(jí)B.外部級(jí)C.概念級(jí)D.內(nèi)部級(jí)

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

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

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

位數(shù)的千位數(shù)位置上的值大于等于百位數(shù)位置上的值,百位數(shù)位置上的

值大于等于十位數(shù)位置上的值,以及十位數(shù)位置上的值大于等于個(gè)位數(shù)

位置上的值,并且原四位數(shù)是奇數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)ent并

把這些四位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)

writeDat把結(jié)果ent以及數(shù)組b中符合條件的數(shù)輸出到Out.dat文件中。

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

程序中已定義數(shù)組fa|200|.b(200j.已定義受ent

請勿改動(dòng)數(shù)據(jù)文件imdat中的任何數(shù)據(jù)、i函數(shù)mam。、讀函數(shù)rcadDatO和寫函數(shù)writeDatO的內(nèi)容.

1Iinclude<stdio.h>

2*defineMAX200

3inta【MAX),b[MAX]9ent?0;

4voidwriteD&t();

voidjsVal()

6

r

8

9!voidreadDat()

10;<

11!inti;

12?FILE*fp;

13;fp=fopen("in.dat","L);

14ifor(i?0;i<MAX;

15?fscant<fp,rd”.(i]);

16;fclose(fp);

1-7i}

i

18?voidmain()

19|I

int1;

readDat();

jsVal();

printzf("滿足條件的數(shù)NdW.ent);

for(i?0;i<ent;i++)

printf",b[i));

printf(w\n");

wrlteDat();

29!voidwriteDat()

30j(

i

32?inti;

wM

33jfprfopen(out.datr"w0);

34;fprintf(fpF"Qd'n".cnt>;

35:for(1?0;i<ent;

36?fprintf(fp>Wid\nw,b(i]),

37;fclose(fp);

38h

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

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

中依次取出一個(gè)四位數(shù),對每一個(gè)四位數(shù)作如下處理:把個(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ù):一個(gè)是奇數(shù),另一個(gè)為偶數(shù),并且至少有一個(gè)數(shù)能被17整

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

數(shù)組b中,并計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)ent,而后對數(shù)組b進(jìn)

行降序排序。最后main函數(shù)調(diào)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b

中符合條件的四位數(shù)輸出到out.dat文件中。

例如:一個(gè)四位數(shù)為4512,依題意組成的第一個(gè)新數(shù)為24,第二個(gè)新

數(shù)為51,其中51能被17整除,這兩個(gè)新數(shù)的十位數(shù)字不為零,則4512

這個(gè)四位數(shù)滿足題意所規(guī)定條件。

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

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

請勿改動(dòng)數(shù)據(jù)文件in.cUl中的任何數(shù)據(jù),主函數(shù)讀函數(shù)rcadDatQ和號(hào)函數(shù)wrisDat。的內(nèi)容.

1!!include<stdio.h>

2iIdefineMAX200

3;intalMAX],b[MAX],ent,0;

A!voidwriteDat():

5ivoidjsVal()

6

7i

8i\

9jvoidreadDat()〃從in.dau文件中灌取200個(gè)四位數(shù)存入軟力Ia中

10;(

11?inti;

12!FILE*fp;

13ifp-fopen(Hin.datw,**rM);

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

M

15|fscanf(fp^"%dr[1];

16;fclose(fp);

17!1

181voidmain()

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

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

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

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

值仍存入原字符串對應(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得至1J10000001結(jié)果。

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

號(hào)和空格,并也按字符處理。

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

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

linclude<stdio.h>

iinclude<string.h>

3charxx(501(801;

4intmaxline=0;/?文豪的總行數(shù),/

5intReadDat(void);

6voidWriteDat(void);

7voidStrCharJR(void)

8

9

10

11voidmain()

12I

13if(ReadDat())

14

15printf數(shù)據(jù)文件in.dat不能打開!\n\007*1

16return;

17I

18StrCharJRO;

19WriteDat{);

20

八從文件m&u中談取篇英文文章存入J1字符申斂但MI中?/

21intReadDat(void)

22

23FILE*fp;

24inti*0;

25charep;

www

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

27return1;

whlle(fgets(xx(i]r80,fp);?NULL)

(

::p?strchr(xx[i)#

if(p)*p,0;

32?£?+;

33j)

34;maxline?i;

35!fclose(fp);

36ireturn0;

37i)

i/果xx?出到文依ouutai中?/

38JvoidWriteDat(void)

39j(

40-FILE*fp;

41?inti;

www

42;fp?fopen("out.dat#w);

43!for(i■0;i<maxline;i4+)

44;(

R

45jprintf(%s\n"rxx[i]);

46jfprintf(fp,w%s\nM,xxI1));

47j)

48{fclose(fp);

49;)

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

串?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)系:f(p)=p*Hmod256,mod為取余運(yùn)算,P是數(shù)組XX中某一

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

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

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

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

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

進(jìn)行處理。

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

2;finclude<string.h>

3!linclude<ctyp?.h>

4;unsignedchsrxx(501180):

5;intntaxline?0;/?文榮的總行數(shù)?/

6?intReadDat(void);

請”改動(dòng)主函數(shù)main(),讀函數(shù)ReMDatQ和仲出的敷WriteDaiO的內(nèi)容,

IJIinclude<stdio.h>

2ylinclude<string.h>

3;tinclude<ctype.h>

4!unsignedcharxx[50)(80];

5jintmaxline-0;/?文束的總行數(shù)*/

6;intReadDat(void);

7jvoidWriteDat(void);

,

8;voidencryptChar()

9;I

10|

12Ivoidmain()

13i(

14;if(ReadDat())

15!(

16;printfLU據(jù)文件in.dat不能打開!\n\007。);

17;return;

18j)

19;encryptChar();

20!WriteDat();

21\}

;/?從文件皿修中S取一篇英文文章,存入到字符*數(shù)機(jī)口中?/

22!intReadDat(void)

23i(

24;FILE-fp;

25Iinti-0;

26;unsignedchar*p;

www

27;if((fp-fopen(in.datr"r))-NULL)

28jreturn1;

29-whilelfgets<xx(i],80ffp>!,NULL)

30!(

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

32jif(p>*p-0;

33?I++;

34;1

35!maxline?1;

361fclose(fp);

37;return0;

38!)

i/?把站整XX-出到文件OUL&l中?/

39;voidWrileDat(void)

40*(

41jFILETp;

42jinti;

43;fp-fop@n("out?dat".

44\for(i*0;i<maxline;

45!(

ww

46iprintf(%s\nrxx[i]);

w

47;fprintf(fp,%s\n"#xx(i]);

48f)

49\fclose(fp);

50;}

12voidmain()

13

14if(ReadDat())

15I

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

17return;

18

19encryptChar();

20WriteDat();

21)

/?從文件E&t中it取一?英文文融,存入必學(xué)和巾敏娟xx中〃

22intReadDat(void)

23(

24FILEw£p;

25Inti-0;

26unsignedchar*p;

Hww

27if((fp-fopen(in.dat"rr))-N二LL)

28return1;

29while(fget8(xx[1],80rfp)!,NULL)

30(

31p■strchr(xx[i]9,\n*);

32if(p)*p-0;

331+?;

34J

35maxline*1;

36fclose(fp);

37return0;

38I

/JRxx?出宜文竹outdat中,/

39voidWriteDat(void)

40(

41FILE*fp;

42inti;

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

44for(i?0;i<maxline;

45(

46printfC%sKn1*,xx(i]);

47fprintf(fp,Fs\rj",xx[1]);

48

49fclose(fp);

50

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

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

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

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

出到文件out.dat中。

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

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

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

例如.位置012345678

源字符申dcbahgfe

432198765

則處理后字符中hgfcabcd

876591234

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

請匆改動(dòng)數(shù)據(jù)文件in.dal中的任何1!(據(jù)、主函數(shù)main()、設(shè)函數(shù)readDatO和寫函數(shù)writeDatO的內(nèi)容.

1;iinclude<stdio?h>

2:*include<string.h>

3jvoidreadDat();

4jvoidwriteDat();

5*charxx[20][801;

6;voidjsSort()

7i(

j

8I

9;)

10;voidmainO

11;(

12?readDat();

13:jsSortO;

14!writeDatO;

15\)

!,?從文件m.dai中父取20tj數(shù)福存放到字符串軟覦xx中?/

16jvoidreadDat()

17?/

18}FILE*in;

19jint1-0;

20*char*p;

www

21;in■fopen(in.datr*r);

22!whiled<20“fgets(xxli)r80,in)!-NULL)

23\(

24-p-strehr(xx[i)t,\n,);

25jif(p)*p-0;

26j

27?)

28;fclose(in);

29;}

i/?尼站果xx?出到文件om&t中?/

30*voidwrxteDat()

31j1

32-FILEeout;

33jint1;

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

37Iprintfxx(l]);

38ifprintf(out,xx(i));

39\)

40;fclose(out);

36.已知在文件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,其功能要求:按產(chǎn)品代碼從小到大進(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)行解

題;產(chǎn)品代碼比較請用函數(shù)strcmp進(jìn)行解題。例如:sell[i]=temp;

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

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

Iinclude<stdio.h>

2*tinclude<string.h>

3?tinclude<stdlib.h>

4;ineMAX100

5typedefstruct

7chardm(5);八產(chǎn)豆代碼?/

charme(11];/?產(chǎn)易名算?/

intdj;/?總價(jià)?/

10;intsi;/?收??/

11ilongje;/?金??/

12;PRO;

13!PROsell[MAX);

14?voidReadDat();

15;voidWriteDat();

16!voidSortDatO

17;(

18

19

20voidm41n()

menisct(nolU。,slzeof(sell));

ReadDat()f

SortDa匕0;

WriteDat():

/?試取B100個(gè)帆2記景先俘人削I種a》HI中?/

voidReadD&t()

28(

29FILE?fpj

30charatr[80]ch[11];

31intij

32fp-fopen(*in.datw>"r");

33for(1?0;i<100;1-M-)

34(

35fgeta(str,80.fp);

36memcpy(sell[£]?也n.str,4”

37memcpy(sell[1].mefstr?4.1

38

meincpy(chrstr+14,4);ch(4)?0;

39sei1(1]?dj,Atol(ch);

40memepy(chfstr*18,5):ch15]?0;

sell[1].si-atoi(ch);

42sell(11?je?(long)sell(i].dj

43

44fclose(fp);

45

八把姑星■出到文"gt&t中。

?dm,aellfil.me,sell(i|.dj,sellli].si

37.已知數(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中。

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

程序中已定義數(shù)組14200].b(200],已定義變量IOrt

調(diào)勿改動(dòng)數(shù)據(jù)文件irtd觥中的任何數(shù)據(jù)、?的數(shù)讀函數(shù)readDatO和寫函數(shù)writeDatO的內(nèi)容.

1?Iinclude<stdio.h>

2iIdefineMAX200〃定義宏支ItMAX,其值等于2。。

3\inta[MAXkblMAX),ent-0;〃定義全局整型Tt敷煙alMAX),3IMAX?加支量ent,苒初值等于。

4\voidwriteDat();

5\voidjsVal()

6I:I

7j

8J)

9\voidreadDatO〃從tn.dat文件中澹取20。個(gè)四收數(shù)存入Iftifl?中

10iI

11jinti;

12jFILEefp;

13;fp-fopenCln.dat*,;

14!for(X?0;i<MAX;H

15jfscanf(fpffca[i]).

16?fclose(fp);

175I

18ivoidmain()

19\(

20jint1;

readDatO;

22jsval();〃■用()崎敏實(shí)現(xiàn)?目■求的動(dòng)麓

23prlntf("淌足條件的數(shù)7d\ent);

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

25printf(n%d-,b(i]);

26printf(w\nw);

21writeDatO;

28)

29voidwriteDatO〃化詩K姑果cm以及敬綱b中符合條件的四位數(shù)■出到ouLdai文件中

30

31FILE-fp;

32inti;

33fp?fopen(wout.dat",

34fprintf(fpr"%d\n"rent);

35ford?0;1<ent;

M

36fprintf(fpr%d\n"rb[l]>;

37fclose(fp);

38!)

38.函數(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

則處理后字符串hgfedcba

876594321

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

請勿改動(dòng)數(shù)據(jù)文件in.dat中的任何敷據(jù)、主函數(shù)main()、讀函數(shù)readDatQ和寫函數(shù)wrixeDaU)的內(nèi)容.

1:linclude<stdio.h>

2jfinclude<string.h>

3;charxx120](80);

4voidreadDat();

5voidwrlteDat();

6voidjsSort()

7

8

9

10voidmain()

11

12readDat();

13jsSort();

14wrlteDat("

15

/?從文件indii中注取20打數(shù)究存放到字符率依蛆xx中?/

16voidreadDat()

17!(

18?FILE-in;

19?inti-0;

20char*p;

nw

21in=fopen(in.dat,"D;

22while(i<20“fgets(xx{i]v80.in)NULL)

23

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

25if(p)*p?0;

26

27]

28fclose(in);

29;)

\/,史州Rxx*出到文件outt中?/

30jvoidwriteDat()

31

32FILE*out;

33int1;

34out?fopen(*out.datw/**wM);

35for(i?0;1<20;if)

36(

37printfxx[i));

38fprintf(out,xxri!);

39)

40fclose(out);

41

39.已知數(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ù)滿足條件存入數(shù)蛆b中,且個(gè)數(shù)cnl=cm7.

8129,8*9!-1*2,則該數(shù)不滿足條件忽略.

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

程序中已定義數(shù)姐:[300],b{300).已定義變量,art

請勿改動(dòng)數(shù)匏文件m.dat中的任何數(shù)據(jù)、主函數(shù)maiM)、讀語《(readDmO和寫論數(shù)wrilcD叫)的內(nèi)容.

1Iinclude<stdio.h>

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

3voidwriteDat0;

4voidreadDat();

5voidjsValue0

7

9main()

10I

11int1;

12readDat();

13jsValue();

14writeDat();

tw

15printf(?cnt-%d\nrent);

16for(i*0;i<ent;

w

17printf?%d\nri,b[i]);

I、

voidreadDat()

20(

21FILE*fp;

22int1;

23fp-fopen;

24for(i■0;i<300;i++)

w

25fdcanf(fp^%dr",&&[1]);

26;fclose(fp);

271)

28ivoidwriteDat()

29>(

30?FILEefp;

31;int1;

32.fp-fopen(°out.dat**,**ww);

33;fprintf(fp,"d'n”,ent);

34jfor(i-0;i<ent;1??)

w

35!fprintf(fpr-%d\nrb(i));

36ifclose(fp);

37八

40.函數(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ù)組單元xx[i]川中。以此類推一直處理到最后第二個(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;finclude<stdio.h>

2J?include<string.h>

3;unsignedcharxx[50][80];

4!intmaxline■0;/?文章的西行數(shù)?/

5?intReadDat(void);

6'voidWriteDat(void);

7?voidChA(void)

8|(

10;}

11{voidmain()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

給出的英文名,聯(lián)系所關(guān)聯(lián)的實(shí)體集名的首字母,字母問用“一”或

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

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

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

限)(4分)

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

據(jù)表格:

教師

上級(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è)上級(jí)領(lǐng)導(dǎo),也可以沒有上級(jí)領(lǐng)導(dǎo);

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

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

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

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

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

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

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

43.在SQLServer2008中,設(shè)表T(a,b)上建有如下觸發(fā)器:CREATE

TRIGGERtri_updateONTFORUPDATEASIFEXISTSfSELECT術(shù)

FROMinsertedWHEREbnotbetween0and100)KULLBACK設(shè)表T中

已有數(shù)據(jù):(‘a(chǎn)01',90),如果執(zhí)行語句UPDATETSETb=100WHERE

a='a01'則觸發(fā)器臨時(shí)工作表及執(zhí)行完該語句后表T中的數(shù)據(jù)為

()o

A.T表:(‘a(chǎn)01',100)INSERTED表:('a01',90)DELETED表:

('a01',100)

B.T表:(‘a(chǎn)01',90)INSERTED表:('aOl',90)DELETED表:

('aOT,100)

C.T表:(‘a(chǎn)Ol',100)INSERTED表:('aOl',1OO)DELETED

表:(‘a(chǎn)Ol',90)

D.T表:(‘a(chǎn)Ol',90)INSERTED表:('aOl',100)DELETED表:

('aOl',90)

44.設(shè)在SQLServer2008中,用戶UI在DB1數(shù)據(jù)庫中創(chuàng)建了#Temp表。

下列關(guān)于#Temp表的說法中,正確的是()。

A.只有在創(chuàng)建#Temp表的連接中才可以查詢#Temp表數(shù)據(jù)

B.在所有用戶U1發(fā)起的連接中,都可以查詢#Temp表數(shù)據(jù)

C.在創(chuàng)建#Temp表的連接未斷開時(shí),DB1數(shù)據(jù)庫的所有用戶都可以查詢

#Temp表數(shù)據(jù)

D.在創(chuàng)建#Temp表的連接斷開時(shí),DB1數(shù)據(jù)庫的所有用戶仍可以查詢

#Temp表數(shù)據(jù)

參考答案

1.B解析:產(chǎn)生死鎖的四個(gè)必要條件是:①互斥條件,?②不可剝奪條件;

③部分分配條件;④循環(huán)等待條件。分析四個(gè)選項(xiàng)可知只有選項(xiàng)B(共享

條件)不屬于產(chǎn)生死鎖的條件,所以正確答案為B。

2.C解析:如果在鏈表的每個(gè)結(jié)點(diǎn)中包括兩個(gè)指針域,其中rlink指向結(jié)

點(diǎn)的后繼,Uink指向結(jié)點(diǎn)的前驅(qū),就可以方便地進(jìn)行向后和向前兩個(gè)方

向的查找。這樣的鏈表稱作雙鏈表。在雙鏈表中,如果要在P所指結(jié)點(diǎn)

后插入q所指的新結(jié)點(diǎn),只需修改P所指結(jié)點(diǎn)的rlink字段和原后繼的

Uink字段,并置q所指結(jié)點(diǎn)的llink和rlink值.即:qT.llink:=p;qt.rlink:

=pTriink;p^.riinkf.rlink:=q;pt.rlink:=q

3.B解析:現(xiàn)實(shí)世界中實(shí)體是可區(qū)分的,他們具有某種惟一的標(biāo)識(shí),主

碼不能取空值,因?yàn)橹鞔a取空值說明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,而這于

前述思想矛盾的。

4.B解析:在Oracle中,OracleReports用來快速的生成報(bào)表;Oracle

Forms用來快速生成基于屏幕的復(fù)雜應(yīng)用的工具;OracleGraphics用來

快速生成圖形應(yīng)用的工具。BPR用于過程建模。掌握Oracle工具產(chǎn)品的

種類,Developer/2000和Designer/2000分別具有什么功能。

5.C解析:FoxBASE所有的功能Oracle基本上都具備,當(dāng)然包括A),

B),D)的3個(gè)選項(xiàng)所列出的功能。在

溫馨提示

  • 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

提交評論