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

下載本文檔

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

文檔簡介

【2021年】廣東省佛山市全國計算機(jī)等級

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

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

一、1.選擇題(10題)

1.在數(shù)據(jù)庫技術(shù)中,實體一聯(lián)系模型是一種()。

A.概念數(shù)據(jù)模型B.結(jié)構(gòu)數(shù)據(jù)模型C.物理數(shù)據(jù)模型D.邏輯數(shù)據(jù)模型

2.反映現(xiàn)實世界中實體及實體間聯(lián)系的信息模型是O

A.關(guān)系模型B.層次模型C.網(wǎng)狀模型D.E-R模型

3.設(shè)順序表中結(jié)點(diǎn)個數(shù)為n,向第i個結(jié)點(diǎn)后面插入一個新結(jié)點(diǎn),設(shè)向

每個位置插入的概率相等,則在順序表中插入一個新結(jié)點(diǎn)平均需要移動

的結(jié)點(diǎn)個數(shù)為0。

A.(n-l)/2B.n/2C.nD.(n+l)/2

4.任何一個具有兩個屬性的關(guān)系

A.可能屬于INFB.可能屬于2NFC.可能屬于3NFD.一定屬于3NF

5.下列進(jìn)程狀態(tài)的轉(zhuǎn)換中,哪一個是不正確的?

A.就緒一運(yùn)行B.運(yùn)行一就緒C.就緒一等待D.等待一就緒

6.下列推理正確的是

A.由X—Y,Y—Z,可以得到X—YZ

B.由X—Y,W-Z,Y->Z,可以得到XW-Z;

C.由X—'Y,vc7,可以得到X—?Z

D.由X—Y,7LY,可以得到X-Z

7.關(guān)系數(shù)據(jù)庫中的關(guān)鍵字是指

A.能惟一決定關(guān)系的字段B.不可改動的專用保留字C.關(guān)鍵的很重要

的字段D.能惟一標(biāo)識元組的屬性或?qū)傩约?/p>

8.在高級語言中使用嵌入式SQL語句時,所有SQL語句前必須加前綴

A.CALLSQLB.DOSQLC.EXECSQLD.GOTOSQL

9.下述不屬于數(shù)據(jù)庫設(shè)計的內(nèi)容。

A.設(shè)計數(shù)據(jù)庫管理系統(tǒng)B.需求分析C.設(shè)計數(shù)據(jù)庫邏輯結(jié)構(gòu)D.設(shè)計數(shù)

據(jù)庫物理結(jié)構(gòu)

10.PowerBuilder是一種深受廣大用戶歡迎的快速應(yīng)用系統(tǒng)開發(fā)工具,

它與其他應(yīng)用開發(fā)工具比較,最具有特色的是O

A.支持面向?qū)ο蟮拈_發(fā)方法B.提供可視化圖形用戶界面C.使用ODBC

與多種數(shù)據(jù)庫連接D.可通過數(shù)據(jù)窗口訪問數(shù)據(jù)庫

二、填空題(10題)

11.從目前的發(fā)展情況來看,局域網(wǎng)產(chǎn)品可以分為共享介質(zhì)局域網(wǎng)和

兩類。

12.設(shè)有關(guān)系R(A,B,C)和s(A,D,E,F),若將關(guān)系代數(shù)表達(dá)式:7iR.A,

R.B,S.D,S.F(RooS)用SQL語言的查詢語句表示,貝IJ有:SELECTR.A,

B,D,FFROMR,SWHEREo

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

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

14.表的分割有兩種方式,根據(jù)行特點(diǎn)分割的是(),列特點(diǎn)分割是

()

15.傳輸層的主要任務(wù)是向用戶提供可靠的服務(wù),透明地傳

送報文。

16.IPV6的128位地址按每16位劃分為一個位段,每個位段被轉(zhuǎn)換為一

個4位的十六進(jìn)制數(shù),并用冒號隔開,這種表示法稱為表

示法。

17.計算機(jī)可以直接執(zhí)行用語言編寫的程序。

18.計算機(jī)網(wǎng)絡(luò)利用通信線路將不同地理位置的多臺獨(dú)立的——的計算

機(jī)系統(tǒng)連接起來,以實現(xiàn)資源共享。

19.在SQL語言中,如果要為一個基本表增加列和完整性的約束條件,

應(yīng)該使用SQL語句。

20.進(jìn)程之間的聯(lián)系稱之為進(jìn)程通信,是進(jìn)程通信的工具。

21.在數(shù)據(jù)庫概念設(shè)計階段,將局部E-R圖集成為全局的E-R圖時有可

能發(fā)生沖突,下面表述錯誤的是()。

A.A.總共可能發(fā)生2類沖突

B.類型、取值范圍的沖突屬于屬性沖突

C.屬性沖突通過協(xié)商、討論等手段進(jìn)行解決

D.結(jié)構(gòu)沖突要用技術(shù)手段解決

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

A.系統(tǒng)軟件是在應(yīng)用軟件基礎(chǔ)上開發(fā)的

B.系統(tǒng)軟件應(yīng)提供友好的人機(jī)界面

C.系統(tǒng)軟件與硬件密切相關(guān)

D.系統(tǒng)軟件與具體應(yīng)用領(lǐng)域無關(guān)

23.順序程序和并發(fā)程序的執(zhí)行相比O

A.基本相同B.無法確定C.并發(fā)程序執(zhí)行總體上執(zhí)行時間快D.順序程

序執(zhí)行總體上執(zhí)行時間快

24.若實體間的聯(lián)系是M:N,則將聯(lián)系類型0

A.的屬性加入任一個關(guān)系模式中

B.的屬性加入N端實體類型相對應(yīng)的關(guān)系模式中

C.的屬性加入M端實體類型相對應(yīng)的關(guān)系模式中

D.也轉(zhuǎn)換為關(guān)系模型

25.把電路中的所有元件如晶體管、電阻、二極管等都集成在一個芯片上

的元件稱為0

A.TransistorB.IntegratedCircuitC.ComputerD.VacummTube

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

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

別在用戶的客戶機(jī)和數(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.客戶機(jī)到數(shù)據(jù)庫服務(wù)器的網(wǎng)絡(luò)故障

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

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

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

27.以下有關(guān)數(shù)據(jù)結(jié)構(gòu)的敘述,正確的是()

A.線性表的線性存儲結(jié)構(gòu)優(yōu)于鏈?zhǔn)酱鎯Y(jié)構(gòu)

B.二叉樹的第i層上有2i-l個結(jié)點(diǎn),深度為k的二叉樹上有2k-1個結(jié)

點(diǎn)

C.二維數(shù)組是其數(shù)據(jù)元素為線性表的線性表

D.棧的操作方式是先進(jìn)先出

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

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

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

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

30.下列不屬于創(chuàng)建分區(qū)表步驟的是o

A.創(chuàng)建分區(qū)依據(jù)列B.創(chuàng)建分區(qū)函數(shù)C.創(chuàng)建分區(qū)方案D.使用分區(qū)方案

創(chuàng)建表

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

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

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

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

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

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

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

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

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

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

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

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

注意I部分源程序存在twee文件中.

程小中已定義數(shù)ith4200].b(200],已定義變量Ient

請勿改動數(shù)據(jù)文件iruiai中的任何數(shù)據(jù).主曲ftmainO、讀函數(shù)rcadlXtO和寫函數(shù)writeDatO的內(nèi)容.

1??include<stdio.h>

2\IdefineMAX200〃定義宏殳ftMAX.其值等于zoo

3\inta[MAXhb【MAXj,ent-0;〃定義全I(xiàn)MIVT?敷煙.[MAX).IMAX?和受?CM?算的值等于o

4\voidwriteDat();

5;voidjsVai()

61(

8\)

9!voidreadDatO〃從in?st文件中it取200個叫田■存入敬如.中

10j1

11!inti;

12jFILEefp;

13;fp-fopon"r**|;

14!for(1?0;i<MAX;

0

ISifscanf(fp?"%dr(a[i]):

16;fcloae(fp);

17!I

18;voidmain()

19i(

20jint1;

21readDat();

22jsvaio;〃?用”vno的總實現(xiàn)融目要求的動俺

23printf「滿足條件的n".ent);

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

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

26printf;

27writeDat();

28j)

29voidwriteDatO〃化itir姑累cm以及數(shù)餌b中符合條件的四位數(shù)■出到OULdM文件中

30

31FILE#fp;

32int1;

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

34fprintf(fp,fd\n",ent);

35for(i?0;1<ent;

36fprintf(fpr-%d\n"rb(il);

37fclose(fp);

38

32.函數(shù)ReadDat實現(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中o

例如:

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

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

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

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

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

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

1linclude<stdio.h>

2Iinclude<strlng.h>

3charxx(50](801;

4intmaxline=0;/?文章的總行故,/

5intReadDat(void);

6voidWriteDat(void);

7voidStrCharJR(void)

8

9

10

11voidmain0

12I

13if(ReadDat())

14(

15print—**數(shù)據(jù)文件in.dat不能打開!\n\007"H

16return;

17I

18StrCharJRO;

19WriteDat();

20)

八從文件in中博取餌英文文章卷入用字料率依fiix*中?/

21intReadDat(void)

22I

;FILE*fp;

inti*0;

charep;

if((fp?fopen(win.datw,wrw))—NULL)

return1;

28while(fgets(xx(i),80,fp)!?NULL)

(

;■

p=strchr(xx[i]t*\n*);

I31if(p)*p-0;

32

33)

34maxline■i;

35fclose(fp);

36return0;

37)

/果xx■出到文內(nèi)ouLdii中?/

38voidWriteDat(void)

39(

40FILE*fp;

41inti;

42fp■fopenLout.dat",

43for(i-0;i<maxline;

44(

R

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

46fprintf(fp,H%s\nM,xx[iI);

47?

48fclose(fp);

49

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

1Itlnclude<stdlo?h>

2!IdefineMAXNUM200

3JintxxlMAXNUMJ;

4.inttotNuw-0;〃文件In,dat中央有多少個正餐數(shù)

5iinttotCnt?0;〃符合條件的正整畋的個斂

6-doubletotPjz-0.0;〃平

7!intReadDat(void);

8IvoidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmainO

14

int1;

16ford-0;i<MAXNUM;i+4)

17xx(1]-0;

18if(ReadDatO)

19(

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

21return;

22)

23CalValueO;

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

25print—”符合條件的正整數(shù)的個敢-Qd個\n”.totCnt);

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

27?WriteDat();

28;)

八R取這若干個正■數(shù)并存入aifiu中〃

29?intReadDat(void)

30j

315FILE*fp;

32;inti-0;

33;if((fp-fopen(*ln.dat","rM))-NULL)

34!return1;

35iwhile(!feof(fp))

36\

I

37!fscanf(fp,”dj.&xx(i+^]);

38j)

39!fclose(fp);

40?return0;

41:I

,?紀(jì)計翼站臬存入文件iut.dat中〃

42ivoidWriteDat(void)

43\

1

44?FILE*fp;

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

w

46Ifprintf(fp,ld\n%d\ni.21f\n"#totNum,totCnt,totPjt);

47jfclose(fp);

48;

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

程序中已定義敬蝸:a[200].b(200].已定義變■,ent

請勿改動數(shù)據(jù)文件im&t中的任何畋據(jù)、主的1smm()、讀南敬edDatO和寫崩數(shù)*期加()的內(nèi)容.

1?linclude<stdio.h>

2\IdefineMAX200

3\intalMAXI,b[MAX],ent-0;

4jvoidwriteDat():

5;voidjsVal()

6\<

7i

8j}

9!voidreadDat()

10;1

11?int1;

12{FILE*fp;

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

14!for(i-0;1<MAX;ii)

15ifscanf(fp,

26?fclose(fp);

17!|

18?voidmain()

19?I

20!inti;

21;readDat();

22:jsVal();

23;phntfL滿足條件的故,,小n**.cnt);

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

25!printf(w%d”,b[i]>;

26;prlntf(0\nH>;

27;writeDat();

28!J

29;voidwriteDat<)

30\(

31?FILEefp;

32;inti;

33!fp-fopen(wout.dat*,"w");

34jfprlntf(fp?"%d\n"rent);

35?for(i■■0;i<ent;ii)

36?fprintf(fpr*td\n*rb(i));

37?fclose(fp);

38j1

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

始進(jìn)行1到m的報數(shù),報數(shù)到第m個人,此人出圈,再從他的下一個

人重新開始1到m的報數(shù),如此進(jìn)行下去直到所有的人都出圈為止?,F(xiàn)

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

函數(shù)Josegh(void)實現(xiàn)此功能,并調(diào)用函數(shù)writeDat,把結(jié)果P輸出到文

件out.dat中。

設(shè)n=100,s=l,m=10o

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

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

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

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

注意:部分源程序已經(jīng)給出。

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

linclude<stdio.h>

IdefineN100

*defineS1

*defineM10

intp[100]tnrsrm;

voidWriteDat(void);

voidJosegh(void)

voidmain()

(

E=M;

nwN;

smS;

Josegh();

WriteDat();

]

/砧果p?出到文件OUL&t中?/

voidWriteDat(void)

(

int1;

FILEefp;

Rw

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

/?以地■的方式,以1。個故繆為-他把故徽以川?出刊展幕匍文件。utdrn中?/

for;1>?0;i-T

printf("%4d”,p(i]);

fprintf(fp,"Md”,p(i]);

28if(i%10—0)〃如果i,被xo整修.射■出一個回東換行符

29(

30printf("\nM);

31fprintf(fp#"\n*);

32}

33)

34fclose(fp);

35

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

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

數(shù)各位上的數(shù)字均是奇數(shù),則統(tǒng)計出滿足此條件的個數(shù)ent并把這些四

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

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

件中。

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

程序中己定義數(shù)處:a(200].b{200],已定義變量:ent

請勿改動數(shù)據(jù)文件Hdat中的任何數(shù)據(jù)、主函數(shù)main()、讀的ISreadDat()和寫函數(shù)writeDatQ的內(nèi)容.

finclude<stdio.h>

IdefineMAX200

inta【MAX),b(MAX|,ent

4voidwriteDat();

e.voidjsVal()

6

e

voidreadDat()〃從An.dat文件中『取200個四位數(shù)存入數(shù)蛆a中

;1<MAX;i

18void

int

();〃?用襦數(shù)實現(xiàn)融11要求的功能

f「滿足條件的tt-Qd\n”,entI;

24

printf{"%db

printf(M\nw);

writeDat();

voidwriteDat()〃杷計W結(jié)小cm以及敷出b中將件條祥的四位口?用到outdai文件中

32

wH

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

34fprintf(fp/ent);

for(i-0;i<ent;

36fprintf(fp#Fd\N.b(i]);

fclose(fp);

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

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

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

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

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

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

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

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

填入你編寫的若干語句。

1;*include<stdio.h>

2!*include<string.h>

3;voidReadWrite();

4!intfindStr(char?stCfchar*3ubstr)

8'main0

charstr(8119substr(3];

intn;

printf("輸入字符中:w);

gets(str);

printf(“輸入子字符甲:");

15geta(substr);

16puts(atr);

17puts(substr);

18nwfindStr(str,substr);

19printfLn.\d\n”?n);

ReadWrite();

I

,?從文件Hctat中It取兩個字符甲.并■用rfi欣11后1E"!果慵出到文件OUL&I中?/

22voidReadWrite()

24charstr[81)rsubstr(3],ch;

25intn,lenri00;

e

26FILEerfrwf;

27rf=fopen(*£n.datw,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

人如臬子字符申的量后個字椅是同架按行符或是文鐘帖販料,明紀(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計H納暨n寫入到文件out.dau中

391*4;〃械環(huán)堂量士加】

40I

41fclose(rf);

42fclose(wf);

43

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

把這些數(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中,最后

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

i■include<stdio.h>

!fdefineMAX200

jInta(MAX)rb[MAX],ent?0;

;voidwriteDat();

!voidjsValO

j/TeadDAt從數(shù)界文忖in.dM中讀取200個四位數(shù)存入數(shù)組?中?/

?voidreadDat()

10

11inti;

FILE*fp;

131fp-fopen(-in.daf,Hr");

14;ford-0;i<MAX;i**)

15;fscanf(fp,&a(i));

16;fclose(fp);

17!

18jvoidmain()

19J(

20,int1;

21!readDat();

22;jsValO;〃調(diào)用”Vah)曲故,實現(xiàn)KH要求的功能

23\printf("湎足條件的數(shù)=Sd\n-,ent);

24?for(i■0;i<ent;1+?)

25;printf(0%d”,b(i]);

261printf;

27'writeDat():

28;|

?函數(shù)writeD叫)和端聚cm以及數(shù)赳b中符合條件的四位數(shù)■出到oul4at文件中?/

29;voidwriteDat()

30

31FILEefp;

32inti;

33fp=?fopen("out.dat",Ww");

34fprintf(fp#ent);

35for(1=0;i<ent;

36fprintf(fp/"$d\n”,b[i1)

37fclose(fp);

38

39.已知數(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ù)依次存入數(shù)組b中,然后對數(shù)組b的四位

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

數(shù)組b中的數(shù)輸出到文件Out.dato

例如i1239.9J.2.3>0,如讀數(shù)灣足條件存入敷蛆b中,且個Itcnfyrt+I.

8129.9.8.l-2<0,則讀數(shù)不滿足條件忽略,

注意:部分源程序存在lestc文件中?

程序中已定義數(shù)蛆,a[300bb(300J,巳定義交最:cm

請勿改動數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main。、讀話數(shù)readDstO和寫的UwriteDat()的內(nèi)容?

tInclude<stdio.h>

inta[300],b[300]<cnt-0;

3voidreadDat();

4voidwriteDat0;

5voidjsValue()

6

7

8

9!mainO

10;(

11:inti;

12\readDatO;

13JjsValueO;

14!writeDat();

R

15;printf("cnt-%d\n#ent);

16?for(i-0;i<ent;

17iprintf("b”d]-bd\n”.if

40.程序test.c的功能是:計算100以內(nèi)滿足以下條件的所有整數(shù)i的

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

小于100o請考生編寫函數(shù)countvalue實現(xiàn)程序要求,最后調(diào)用函數(shù)

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

注意:觸分源程序存放在g.c文件中.

請勿改動主函數(shù)mainO和輸出數(shù)據(jù)函故wri,eDAT()的內(nèi)容.

1;linclude<stdio.h>〃0>?&需句位明各程庫中包含vc6,0中的標(biāo)庶?人?幽?,故3人

2(voidwriteDATO;〃謂做xrASMT”的聲明遇句

3;intcntrsum;〃定叉全斶■展堂JtSUB

4!intisPrime(intnumber)〃■依“PrUnfl(number)文研nstber是西是麻依,如裳■索此副版回的債等卜

,1?否例?;豻ag的值等于。

5'1

6Iint。tag-1,〃定義身■1利tag,鼻旦“父■tag的初值零予1

7;1f(number"1)

8Ireturn0;〃如*n3?i:的值等于1.劃圖同。

9!for(1-2;tag“i<-number/2;i++)//安置1從2#蠟,旬次衣I1."同鬻依小于』『nuabe”2井

;M登?sg的值等于?N.■出II環(huán)

10-if(number1A??0)

;〃的足■于

11*?tag?0B*nunb?nflHtiQ

12ireturntag;〃第回安■“g的他

13\1

14?voidcountvalue()

15;(

16j

17?)

18;voidmain()

19i1

20?ent-sum-0;,/給全同殳微ent.,ua*切值。

21;countValue()s//調(diào)用選打計像

22;prlctfL渦I足條件的整數(shù)的個畋?,d\n,ent);〃在劇幕上■出謂足條件的0敢個?門什

23!printf(“耦足條件的整數(shù)的和值?mn-,sum);〃在鼻?上?出得足務(wù)樣的1W的m?u?

24;writeDATO〃,牝計,觸*;人刎文科wt.cuu中

25;1

26?voidwriteDAT0

27;(

281FILE?fpj〃電SLtfMHtfp

29?fp-fopen("out.dat",*ww);〃以只H的方式蚪打開文件out?dac.并IIfp指向此文”

H

30'fprintf(fp,"%d\ntd\n,cntrsum);〃紀(jì)拿敷的個數(shù)值ent?翱的夕ggV入“文?aut.g匕

31!fclose(fp);//XifiXftout.dat

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

41.已知有如下關(guān)系模式:RI(a,b,c),R2(c,d,a),R3(e,

f),R4(a,e,g),其中標(biāo)下劃線的屬性是主碼。請將上述關(guān)系模

式用適當(dāng)?shù)腅R圖表示出來,并用下劃線標(biāo)注出作為實體主碼的屬

性。(10分)

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

據(jù)表格:

教師

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

教師號教師名職稱工資

9868王文華教授8000null

9983李一斌副教授60009868

9985丁一講師刪9868

0783王潤澤講師刪9868

0899歐陽丹妮講師刪9868

課程

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

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

C2006311計算機(jī)原理9868

理版社

計算機(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ī)則:

□.每個教師有唯一的教師號,每個教師號對應(yīng)唯一的一名教師;

□.每門課程有唯一的課程號,每個課程號對應(yīng)唯一的一門課程;

□.每本教材有唯一的教材號,每個教材號對應(yīng)唯一的一本教材;

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

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

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

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

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

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

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

六、單選題[1分K2題)

43.與下述ER圖等價的UML類圖是()。

?A.

?C.

44.關(guān)系模型是數(shù)據(jù)庫系統(tǒng)最常用的一種數(shù)據(jù)模型。下列關(guān)于關(guān)系模型的

說法,錯誤的是()o

A.關(guān)系模型中的關(guān)系是一個二維表,表中的一行對應(yīng)關(guān)系中的一個元組

B.按照一定的規(guī)則可以將ER模型轉(zhuǎn)換為關(guān)系模型中的關(guān)系模式

C.關(guān)系模型是建立在集合論的基礎(chǔ)上的,關(guān)系模型中數(shù)據(jù)存取對用戶是

透明的

D.關(guān)系模型中的關(guān)系模式描述關(guān)系的動態(tài)結(jié)構(gòu),其內(nèi)容隨用戶對數(shù)據(jù)庫

的操作而變化

參考答案

LA概念模型是對信息世界建模,所以概念模型應(yīng)該能夠方便、準(zhǔn)確地

表示信息世界中的常用概念。概念模型的表示方法很多,其中最為常用

的是P.P.S.Chen于1976后提出的實體一聯(lián)系方法。該方法用E—R圖

來描述現(xiàn)實世界的概念模型,稱為實體一聯(lián)系模型(EntityRelationship

Model)簡稱E—R模型。故選A。

2.D解析:“實體一聯(lián)系方法”,簡稱E-R方法。它采用E-R模型將現(xiàn)實

世界的信息結(jié)構(gòu)統(tǒng)一用實體、屬性以及實體間的聯(lián)系來描述。

3.B解析:若順序表中結(jié)點(diǎn)個數(shù)為n,且往每個位置插入的概率相等,則

插入一個結(jié)點(diǎn)平均需要移動的結(jié)點(diǎn)個數(shù)為n/2。

4.D解析:具有兩個屬性的關(guān)系,只可能有兩種情況:一種情況是其中

一個屬性為主屬性,另一個為非主屬性,這樣就不存在非主屬性對碼的

部分函數(shù)依賴和傳遞函數(shù)依賴,屬于3NF;另一種情況是,兩個屬性均

為主屬性,沒有非主屬性,當(dāng)然根本談不到非主屬性對碼的部分函數(shù)依

賴和傳遞函數(shù)依賴,屬于3NF。所以任何一個具有兩個屬性的關(guān)系,一

定屬于3NF,從而也一定屬于1NF和2NF??梢娭挥羞x項D)是正確的。

5C解析:在上述4種轉(zhuǎn)換中,就緒一等待這種轉(zhuǎn)換不存在,所以是不

正確的。

6.D解析:合并規(guī)則:由X-Y,X-Z,可以得到X—YZ;偽傳遞規(guī)則:

由X-Y,WY—Z,可以得到XW-Z;分解規(guī)則:由X-Y,,可

以得到X-Z。掌握函數(shù)依賴推理規(guī)則中的自反律、增廣律、傳遞律。

7.D解析:關(guān)鍵字是屬性或?qū)傩缘募?,其值能惟一地?biāo)識一個元組。

8.C解析:在嵌入式SQL中,為能夠區(qū)分SQL語句與主語言語句,所

有的SQL語句都必須加前綴EXECSQLO但語句的結(jié)束標(biāo)志隨主語言

的不同而不同。

9.A解析:數(shù)據(jù)庫設(shè)計分為4個階段:需求分析、概念結(jié)構(gòu)設(shè)計、邏輯

結(jié)構(gòu)設(shè)計和物理設(shè)計。

10.D解析:PowerBuilder的主要特點(diǎn)包括提供豐富的數(shù)據(jù)表現(xiàn)風(fēng)格,可

定制的稱為“數(shù)據(jù)窗口”對象(該項技術(shù)已獲專利),可容易地對數(shù)據(jù)庫進(jìn)

行操作并能靈活地制作報告和商業(yè)圖形。這也是PowerBuilder與其他

應(yīng)用開發(fā)工具不同的地方。

11.交換局域網(wǎng)從目前的發(fā)展情況來看,局域網(wǎng)產(chǎn)品可以分為共享介質(zhì)

局域網(wǎng)和交換式局域兩類。

12.R.A=S.A或S.A=R.AR.A=S.A或S.A=R.A解析:自然連接是一種特

殊的等值連接,它要求兩個關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,

并且要在結(jié)果中把重復(fù)的屬性去掉。本題是自然連接,所以本題答案為

R.A=S.A或S.A=R.AO

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

14.水平分割、垂直分割

15.端到端(或End.tO.End)【解析】傳輸層的主要任務(wù)是向用戶提供可靠

的端到端服務(wù),透明地傳送報文。它向高層屏蔽了下層數(shù)據(jù)通信的細(xì)節(jié),

因而是計算機(jī)通信體系結(jié)構(gòu)中最關(guān)鍵的一層。

16眉號十六進(jìn)制【解析】IPv6的128位地址按每16位劃分為一個位

段,每個位段被轉(zhuǎn)換為一個4位的十六進(jìn)制數(shù),并用冒號隔開,這種表

示法稱為冒號十六進(jìn)制表示法。

17.機(jī)器機(jī)器解析現(xiàn)有的程序設(shè)計語言一般可以分為三類機(jī)器語言、

匯編語言和高級語言,機(jī)器語言和匯編語言又稱為低級語言。機(jī)器語言

是最初級且依賴于硬件的語言,全部用二進(jìn)制代碼形式表示,不易被人

識別,但可被計算機(jī)直接執(zhí)行。匯編語言用有助于記憶的符號和地址符

號來表示指令,有直觀和易理解的優(yōu)點(diǎn),但程序設(shè)計語言需經(jīng)過匯編程

序翻譯后才被計算機(jī)識別。高級語言是一種面向問題的程序設(shè)計語言,

獨(dú)立于計算機(jī)的硬件,需經(jīng)編譯后才能執(zhí)行。

18.自治【解析】計算機(jī)網(wǎng)絡(luò)利用通信線路將不同地理位置的多個自治

的計算機(jī)系統(tǒng)連接起來,以實現(xiàn)資源共享。

19.ALTERTABLE

20.通信原語通信原語

21.A

將局部E-R圖集成為全局的E-R圖時有可能發(fā)生3類沖突,即屬性沖

突,結(jié)構(gòu)沖突,命名沖突。

22.A解析:本題是對計算機(jī)的系統(tǒng)軟件和應(yīng)用軟件特性的考查。系統(tǒng)軟

件應(yīng)提供友好的人機(jī)界面;系統(tǒng)軟件與硬件密切相關(guān)而與具體應(yīng)用領(lǐng)域

無關(guān);應(yīng)用軟件是在系統(tǒng)軟件基礎(chǔ)上開發(fā)的。所以選項A所述是錯誤

的,正確答案為A。

23.C

24.D

25.B

26.D

27.C

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

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

29.B

30.A

31.【審題關(guān)鍵句】千位+十位組合與個位+百位組合,都是奇數(shù),兩數(shù)相

減結(jié)果大于等于0小于等于10,從大到小排序。

\n【解題思路】

舊①首先,本題要定義多個變量,包括兩侖循環(huán)變量循環(huán)isj;用來存

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

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

\n②通過for循環(huán)依次對數(shù)組中的每個四位數(shù)進(jìn)行分解,每分解一個四

位數(shù),根據(jù)題目要求,對其各位數(shù)進(jìn)行重新組合,形成兩個新的十位數(shù),

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

成一個十位數(shù),并將兩個新的十位數(shù)分別賦給變量newVl和newV2。

舊③數(shù)字重組完畢之后,再根據(jù)題目要求篩選滿足條件的四位數(shù),本題

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

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

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

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

值加1,當(dāng)for循環(huán)執(zhí)行完畢后,則將所有滿足條件的四位數(shù)全部存放

到數(shù)組b[cnt]qbo

\n⑤最后通過兩個for循環(huán),對數(shù)組b[cnt]中的元素按從大到小的順序排

序,排序過程中,可用newVl或newV2作為數(shù)據(jù)交換的中間變量。

\n【參考答案】

\n

\n

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

原字符的ASCII值。

\n【解題思路】

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

\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

33.\n【審題關(guān)鍵句】讀取正數(shù),統(tǒng)計個數(shù),右移后為奇數(shù)的個數(shù)及平均

值。

\n【解題思路】

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

平均值計算的元素是數(shù)組xx[i]右移一位之后為奇數(shù)的元素,參考答案的

第9條語句。

\n【參考答案】

\n

\n

34,\n【審題關(guān)鍵句】千位-百位-十位-個位,結(jié)果大于等于零且原四位數(shù)

是奇數(shù),統(tǒng)計出滿足此條件的個數(shù),并按從小到大的順序存入數(shù)組。

\n【解題思路】

\n本題類似第9套試題,通過審題可以發(fā)現(xiàn)主要有兩個不同點(diǎn):一是要

求統(tǒng)計的四位數(shù)的條件是“千位一百位-十位-個位>=0”,二是要求該四位

數(shù)是奇數(shù),這兩個不同點(diǎn)都體現(xiàn)在參考答案的第8條語句中,對該語句

進(jìn)行修改即可,其中,可以判斷奇數(shù)的表達(dá)式是

\n【參老答案】

\n

\n

\n

35.\n【審題關(guān)鍵句】圍圈問題。

\n【解題思路】

舊①定義整型變量i、j,表示出圈人位置的變量si和出圈人序號的變量

Wo并將S的值賦給變量sl(s的值已在源程序中賦值為1)。

\n②通過一個for循環(huán),將n個人的序號存入一維數(shù)組P中(n的值已在

源程序中賦值為100)o

\n③再建立一個for循環(huán),循環(huán)變量i從n開始,即從100開始,依次遞

減直到其值小于2時退出循環(huán)。由于每執(zhí)行一次循環(huán),人數(shù)就會減少1

個,因此,此處的for循環(huán)應(yīng)表示為遞減方式。在該循環(huán)體中,先計算

每次出圈人的位置,通過表達(dá)式“(sl+m.l)%i”計算每次出圈人的位置

(m的值已在源程序賦值為10)。若所得結(jié)果為0,則說明要開始報數(shù)的

是最后一個人,在此人前面的那個人就是要出圈的人,再通過一個循環(huán)

將要出圈的人移到數(shù)組最后。

\n【參考答案】

\n

\n

36.\n[審題關(guān)鍵句】各位都是奇數(shù),從大到小排序。

\n【解題思路】

\n本題類似第32套試題,通過審題可以發(fā)現(xiàn)主要是對四位數(shù)的篩選條

件有所不同,即判斷四位數(shù)的每一位數(shù)都為奇數(shù),參考答案的第8條語

句,只需將每位數(shù)的判斷條件改為奇數(shù)判斷即可。

W【參考答案】

\n

\n

37.\n【審題關(guān)鍵句】統(tǒng)計一個長度為2的子字符串在另一個字符串中出

現(xiàn)的次數(shù)。

\n【解題思路】

舊①定義字符指針p,q,并且q指向字符串str。定義計數(shù)整型變量ent,

設(shè)置其值等于0。

\n②在while循環(huán)中調(diào)用C語言的字符串庫函數(shù)strstr,返回子字符串

substr在字符串q第一次出現(xiàn)的位置,賦給變量P。用if語句判斷,如

果P的值為空,則說明在字符串str沒有找到子字符串,退出循環(huán)。否

則,變量ent加1,再把P的值加2(因為子字符串substr的長度為2)賦

給變量q,執(zhí)行下一次循環(huán)。直到字符串中不存在子字符串時,退出循

環(huán)結(jié)束。

\n③最后,返回子字符串substr在字符串str中出現(xiàn)的次數(shù)。

\n【參考答案】

\n

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

\n【解題思路】本題類似第35套試題,通過審題可以發(fā)現(xiàn)主要有兩個不

同點(diǎn):①判斷數(shù)值為奇數(shù),可通過a[i]%2進(jìn)行判斷,參考答案的第4條

語句;②要求進(jìn)行比較的元素大于后連續(xù)5

溫馨提示

  • 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

提交評論