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

下載本文檔

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

文檔簡介

2022年遼寧省朝陽市全國計(jì)算機(jī)等級考試

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

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

一、1.選擇題(10題)

1.計(jì)算機(jī)病毒對于操作計(jì)算機(jī)的人()

A.只會感染、不會致病B.會感染致病,但無嚴(yán)重危害C.不會感染D.產(chǎn)

生的作用尚不清楚

2.建立Delphi程序的基本操作步驟中不包括

A.需求分析B.創(chuàng)建一個(gè)新的項(xiàng)目C.設(shè)計(jì)窗體D.編寫構(gòu)件響應(yīng)的事件

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

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

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

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

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

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

4.對于下列三種中斷:a.系統(tǒng)調(diào)用中斷、b.溢出中斷、c.調(diào)頁失誤

中斷,它們的中斷優(yōu)先級從高到低應(yīng)是。

A.abcB.acbC.bcaD.bac

5.對于下面的兩張表,從表一到表二的分析過程稱為

*-博偵:萬加

X04#ms*

的二粗三”測三"EtB.

20ISn2514

*1225515IS20!82)12

20151)27IS3)1725

卜碟岫山

二”三打曬

in勘J,加I*2m2m20t?l|20Ml

ini2012s?2S15

網(wǎng)122)35"ll15aIJ12

即?11uu力25

A.上卷B.下鉆C.切片D.轉(zhuǎn)軸

6.關(guān)于數(shù)據(jù)庫系統(tǒng)三級模式結(jié)構(gòu),下列論述中正確的是

A.三級模式結(jié)構(gòu)是數(shù)據(jù)庫惟一的一種分級模式結(jié)構(gòu)

B.外模式/概念模式映像為數(shù)據(jù)的物理獨(dú)立性提供支持

C內(nèi)模式與物理數(shù)據(jù)庫等價(jià),概念模式與邏輯數(shù)據(jù)庫等價(jià)

D.外模式是概念模式的一個(gè)邏輯子集,且外模式的某些描述可以與概念

模式不同

7.系統(tǒng)軟件是隨計(jì)算機(jī)出廠并具有通用功能的軟件。下列不屬于系統(tǒng)軟

件的是

A.操作系統(tǒng)B.信息管理系統(tǒng)C.數(shù)據(jù)庫管理系統(tǒng)D.服務(wù)性程序

8.由于頁面淘汰算法不合理或其他原因,使得可能出現(xiàn)剛被淘汰的一頁,

又要訪問,因而又被調(diào)入內(nèi)存,如此反復(fù),使系統(tǒng)出現(xiàn)頁面的頻繁調(diào)入

調(diào)出的情況,這種現(xiàn)象稱為()。

A.抖動B.缺頁C.死鎖D.循環(huán)

9.設(shè)散列表的地址空間為0到10,散列函數(shù)為h(k戶kmodll,用線性探

查法解決碰撞?,F(xiàn)從空的散列表開始,依次插入關(guān)鍵碼值95,14,27,

68,82,則最后一個(gè)關(guān)鍵碼82的地址為:

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

10.編譯程序和解釋程序都是O

A.目標(biāo)程序B.語言編輯程序C.語言處理程序D.語言連接程序

二、填空題(10題)

H.系統(tǒng)中有N個(gè)進(jìn)程,則進(jìn)程就緒隊(duì)列中最多有【】個(gè)進(jìn)程。

12.“報(bào)表向?qū)А敝性O(shè)置字段排序時(shí),一次最多能設(shè)置【】個(gè)字段

13.一個(gè)算法的時(shí)間復(fù)雜性通常用數(shù)量級形式表示,當(dāng)一個(gè)算法的時(shí)間復(fù)雜性與問題的規(guī)模

n無關(guān)時(shí),則表示為【】

14.在SQL語言中,若要刪除一個(gè)表,應(yīng)使用的語句是TABLEO

15.設(shè)根結(jié)點(diǎn)的層次為0,則高度為k的二叉樹的最大結(jié)點(diǎn)數(shù)為o

16.如果關(guān)系模式R的屬性之間不存在非平凡且非函數(shù)依賴的多值依賴,

則R的規(guī)范化程序達(dá)到了。

17.在一棵二叉樹中,度為0的結(jié)點(diǎn)個(gè)數(shù)為No,度為2的結(jié)點(diǎn)個(gè)數(shù)為甌則有No=[]

18.在稀疏矩陣所對應(yīng)的三元組線性表中,每個(gè)三元組元素按【】為主

序排列。

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

送報(bào)文。

20.在關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL中,實(shí)現(xiàn)數(shù)據(jù)檢索的語句(命令)是【】。

三、單選題(10題)

21.下列關(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ù)庫對象

22.E-R模型轉(zhuǎn)換成關(guān)系模型是在數(shù)據(jù)庫設(shè)計(jì)階段中的()階段。

A.概念設(shè)計(jì)B.邏輯設(shè)計(jì)C.物理設(shè)計(jì)D.實(shí)現(xiàn)

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

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

24.整個(gè)軟件生存期中時(shí)間最長蹬是()

A.需求分析B.設(shè)計(jì)C.程序編制D.運(yùn)行維護(hù)

25.下列不是TCP/IP參考模型中的應(yīng)用層協(xié)議()。

A.A.電子郵件協(xié)議SMTPB.網(wǎng)絡(luò)文件系統(tǒng)NFSC.簡單網(wǎng)絡(luò)管理協(xié)議

SNMPD.文件傳輸協(xié)議FTP

26.采用SPOOLing技術(shù)的主要目的是()。

A.提供內(nèi)存和磁盤的接口B.減輕用戶編程負(fù)擔(dān)C.提高CPU和設(shè)備交

換信息的速度D.提高獨(dú)占設(shè)備的利用率

27.數(shù)據(jù)庫的概念模型獨(dú)立于()。

A.具體的機(jī)器和DBMSB.實(shí)體聯(lián)系圖C.信息世界D.關(guān)系模型

28.ODBC是()

A.客戶機(jī)與服務(wù)器之間的接口標(biāo)準(zhǔn)B.數(shù)據(jù)庫查詢語言標(biāo)準(zhǔn)C數(shù)據(jù)庫

應(yīng)用開發(fā)工具標(biāo)準(zhǔn)D.數(shù)據(jù)安全性標(biāo)準(zhǔn)

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

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

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

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

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

30.概念模型()

A.依賴于DBMS和硬件B.獨(dú)立于DBMS和硬件C依賴于DBMSD.獨(dú)

立于DBMS

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

31.函數(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*l1mod256,mod為取余運(yùn)算,P是數(shù)組XX中某一

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

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

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

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

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

進(jìn)行處理。

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

??include

;tinclude

3finclude<ctype.h>

Aunsignedcharxx(50](80);

5intmaxline■0;/?文第的總行數(shù)?/

6intReadDat(void);

7voidWritoDat(void);

8voidencryptChar()

9

10

11

請勿改動主函敷mainO、讀函數(shù)ReadDaH)和泊出的數(shù)WritelM)的內(nèi)容,

IInclude<stdlo.h>

?include<string.h>

3?include<ctype.h>

4unsignedcharxx(50)(801;

5intmaxline-0;/?文章的總行數(shù)?/

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9

10

12voidmainO

13

14if(ReadDat())

15

16print,(“數(shù)據(jù)文件in.dat不能打開!\n\007”);

17return;

18

19encryptChar();

20WriteDat();

21

八從文件m.4bt中請取一■英文文章,存入到字料*收機(jī)XX中?/

22intReadDat(void)

23

24;FILE?fp;

25jinti-0;

26;unsignedchar*p;

27!www

if((fp-fopen(in.datrr*))-NULL)

281return1;

29;while(fgets(xx(i]r80,fp)!,NULL)

30

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

32if(p)*p-0;

33

34J

35maxline?1;

36fclose(fp);

37return0;

38)

八把她JRu-出現(xiàn)文件ouLdM中?/

voidWrileDat(void)

40(

.jFILE*fp;

42;int1;

43jfp■fopen(wout.dat",Hww);

44;for(i*0;i<maxline;,ix)

45:(

46iprintfxx[i]);

47j

fprintf(fp,"%s\nw,xx(i]);

48!)

49;fclose(fp);

voidmain()

13

14if(ReadDat())

15(

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

17return;

18

19encryptChar();

20WriteDat();

21)

/?從文件adM中it取一?英文文我.存入弘學(xué)料冷敷超xx中?/

22intReadDat(void)

23i

24FILE?£p;

25int1-0;

26unsignedchar*p;

Mww

27if((fp*fopen(in.dat*rr))-NULL)

28return1;

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

30(

31p■strchr(xx(l)9?\n?);

32if(p)*p-0;

33i+儲

34I

35maxline*1;

36fclose(fp);

37return0;

38I

/?杷州-出N文件outdat中?/

39voidWriteDat(void)

40(

41FILE*fp;

42inti;

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

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

45(

Mw

46printf(%s\ntxx[i]);

47fprintf(fpr*%s\n*rxx[1]);

48)

49fclose(fp);

50

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

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

其功能要求:

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

2.求這些正整數(shù)右移1位二進(jìn)制位后,產(chǎn)生的新數(shù)是奇數(shù)的數(shù)的個(gè)數(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)容。

1;linclude<stdlo.h>

2IIdeflneMAXNUM200

3;intxxlMAXNUM];

4!inttotNum-0;〃文件In.dec中共有名少個(gè)正餐數(shù)

5iinttotCnt-0;〃符合條件的正整數(shù)的個(gè)數(shù)

6doubletotPjz?0.0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

voidmain()

15!int1;

16;ford-0;i<KAXNUM;i*4)

17|xx[i]-0;

18?if(ReadDat())

19\(

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

21\

return;

22;J

23;CalValue();

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

25?printfL符合條件的正整數(shù)的個(gè)數(shù)個(gè)tocCnt);

26printf("平均值\n“,totPjz);

27WriteDat();

28)

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

29intReadDat(void)

30(

31FILE*fp;

32int1-0;

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

34return1;

35while(!feof(fp))

36I

37

fscanf(fp#7dJ.&xx(i+*]);

38)

39fclose(fp);

40return0;

41)

〃把計(jì)算站累存入文件,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

33.程序test.c的功能是:將大于整數(shù)m且緊靠m的k個(gè)素?cái)?shù)存入數(shù)組

XXo請考生編寫函數(shù)num(intm,intk,intxx口)實(shí)現(xiàn)程序的要求,最后調(diào)

用函數(shù)readwriteDATO把結(jié)果輸出到Out.dat文件中。

例如,若輸入17,5,則應(yīng)輸出:19,23,29,31,37O

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

請”改動數(shù)據(jù)文件indat中的任何數(shù)據(jù)以及上函數(shù)main。和輸出函數(shù)rcadwritcDATO的內(nèi)容.

1-#include<stdio.h>〃mdudc調(diào)句說明魯程片中包含vc6.0中的標(biāo)港■人■出"語數(shù)Mdx>.h

2!voidreadwriteDAT();//fififtrekHmeDATOift明野句

3intisP(intm)〃京數(shù)isPHnt皿以新m是否為素?cái)?shù),如果是素效則返出1,否則返回o

4(

5Inti;〃定義變*:

6for(i-2;i<m;〃父**從2依次焉增到土】

7if(m%1-0)return0;〃如瞿m便被1■除,返回o

8return1;〃否射煙回1

9}

10voidnum(intm,intk.intxx(])

11

12

13

14main()

15(

16intm,n,xxflOOO);〃定又受Itm,c能敷配xxliooo】

17printf(n\nPleaseentertwointegers:**);

18scanf(Fd,*d。Mn,&n);〃從便負(fù)讀入兩個(gè)敗受■m,n

19num(m,n,xx);〃&網(wǎng)函IknuEnntn,mtk.mtu[D實(shí)理將大于靴數(shù)m的k個(gè)虐效標(biāo)入

20for(m-0;m<n;mi)〃空從0依次逢增到nT

21prmef("%dxx(m));〃■出我如兀虞xxi。]

22prlntf("\nw);〃■出一個(gè)網(wǎng)車按If符

23readwriteDAT<);用函畋ZunteDATOie儲鬢■出到omdai文件中

24)

25voidreadwriteDATO”也敷rgdwrtsMT(i的定義附句

26<

27inte,n.xx(1000)?i;〃定義整型變■o.c,£知敏鋁xx[100。]

28FILETf,*wf;〃定義文件指什攵wf

29rf-fopen(win.dac",*rw?;〃以只愧的方式的,升文件s.ut,并用”指向這個(gè)文件

wM

30wf-fopenCout.dat*rw);〃以只用的方式的打開文件。ut.da匕?并用wf指向這個(gè)文ft

31for(i-0;i<10;£?+),/謂跖交量幺從。依次通用到9

32(

H

33fscanf(rftFd%d,3n,&n);〃從文件in&i深入唐個(gè)數(shù)(ftM紿m.n

?

34nuw(mrn.xx);〃用?收威1fcmlm(m?k.u[])實(shí)現(xiàn)特大于?鼓mtn的k個(gè)IHft存入數(shù)tgxx

35for(m-0;m<n;m*+)〃1!環(huán)土■?!從。依次

36fprintf(wf,"%d”,xx[m));〃把數(shù)但元*xx[m]耳入到文flota.gu中

wSRH

37fprintf(wfr*\n);〃紀(jì)國車快打杼寫人劍文件.&:中

38}

39fclose(r£);〃關(guān)閉?入文件in.da匕

40fclosefwf);〃關(guān)閉?法文件out.5匕

41

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

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

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

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

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

件out.dat中°

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

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

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

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

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

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

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

!<include<stdio.h>

2?defineN100

3IdefineS1

4?defineM10

5intp[100]9n,s,m;

6voidWriteDat(void);

7voidJosegh(void)

e

9

10

11voidmain()

12(

13m?M;

14N;

15

16Josegh();

17WriteDat();

18}

,?把姑祟p■出到文件ouutet中?/

19voidWriteDac(void)

20(

21int1;

22FILEefp;,

23fp■fopen("out.dat*,"ww);

,?以電?的方式,以10個(gè)敗掘?yàn)橐籺tt把Ihaai]■出利腳幕和文件曲.如中?/

24for(i-N-1;1>?0;i-T

25(

26printf(R%4d”,

27fprintf(fp,"i4dR>p(i]);

28if(i410—0)〃如果i?被10■除.出一個(gè)回車換行符

29(

30prlntf(**\nw);

31fprintf(fp,"\n*);

32}

331

34fclose(fp);

35

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

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

fInclude<stdio.h>

2?include<strlng.h>

3*include<stdlib.h>

4IdefineMAX100

5typedefstruct

6(

7chardm{5];/?產(chǎn)品代利?/

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

9intdj;/?華優(yōu)?/

10intsi;/?**?/

11longje;/??/

12}PRO;

13PROsell(MAX];

14voidReadDatO;

ISvoidWriteDat();

16voidSortDat()

17

18

19;

20;void

21;(

22;momset(sellt0,sixeof(sell));

23jReadDat();

24;SortDat();

25!WritoDat();

;

26)

27;voidReadDat()

28!I

291FILE?“>;

30\charstr(80],ch[111;

31Jinti;

325

fp?fopen("in.dat"r*r">/

33!for(1?0;1<100;£??)

34;(

35;fgets(str,80,fp>;

36!memepy(sell(1)stt,4);

37;nioroepy(sellli).me,str?4,10);

38:memepy(ch,str*14,4);ch(4)-0;

39isellfl].dj-atol(cb);

40;memepy(ch,str*18,5);ch(5)-0;

41;8ell(i].si?atoi(ch);

42?scllID.je-(lon^>sell(i).dj?sellfi].si;

43;>

44;fclose(fp);

45;)

46?;voidWriteDat0

47;(

48;FILE*fp;

49jint1;

50?fp-fopen("out,datw,;

51\ford?0;1<100;

52!(

53;fprlntf(fp,"%8IsUd*SdH01d\n*r3011(1].dm,5ell(ibincrsell(lj.djrsellli).si,

:seXHU.jeH

541)

55Jfclose(fp);

563

36.函數(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)系:尸p*17mod256,mod為取余運(yùn)算,p是數(shù)組)xx中某一個(gè)字

符的ASCH值,f(p)是計(jì)算后的無符號整型值C主意:中間變量定義成整

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

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

注意,部分源程序存放在teste文件中,原始數(shù)據(jù)文件在放的格式品*每行的寬度均小于8。個(gè)字符.臺標(biāo)點(diǎn)杼號相至

格,井也按此替代關(guān)系進(jìn)行處理.

謫如改動主國數(shù)miinO、RedD?0和■出的依WmeDmO的內(nèi)容.

11!include<etdio.h>

2itinclude<string.h>

3??Include<ctype.h>

4?unsignedcharxx[50)[80];

5;intmaxline■0;/?文章的總行政?/

61xntReadDat(void);

7ivoidWriteDat(void);

8;voidencryptChar()

9;(

10;unslqnedintval;

11

12

13voidmam()

14(

15if(ReadDat())

16(

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

18return;

19\

20encryptChar();

21WrlteDatO;

)

22,?從文件ULdlt中讀取一■英文文拿,存入到無符號字例串故第O中?/

23intReadDat(void)

24(

25FILE?fp;

26inti*0;

27unsignedchar*p;

wR

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

29return1;

30while(fgets(xx[i]#80,fp)!-NULL)

31(

1

32p■strehr(xx[i]t\n*);

33if(p)*p-0;

34

35J

36maxline-1;

37fclose(fp);

38return0;

)

39/?把站累XX■出到文竹outdat中?/

40voidWrlteDat(void)

41(

42FILEwfp;

43int1;

44fp-fopen("out.dat*,Www);

45for(i-0;i<maxline;

46(

47printfxx(i]);

48fprintf(fp,"tsXn",xxli]);

49)

50fclose(fp);

51

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

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

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

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

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

件中。

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

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

請勿改動數(shù)據(jù)文件irtdat中的任何數(shù)據(jù)、主的數(shù)皿加0、讀函數(shù)readDatO和寫函數(shù)writeDatO的內(nèi)容.

tinclude<stdio.h>

IdefineMAX200

3inta(MAX),b(MAX!,ent-0;

voidwriteDat();

voidJSVAI()

6

7

8

9voidreadDat()〃從xc.dat文件中S取200個(gè)四位敷存入數(shù)忸a中

10(

11inti;

12FILEefp;

13fp-fopenLin.daL.*r*>;

14for(i?0;1<MAX;ii)

w

15fscanf(fp,?*%d/&a[1]);

16fclose(fp);

17)

18voidmain()

19(

20inti;

21readDat();

22javal();〃■用嫉數(shù))avalO,實(shí)聞IH要求的功健

23prinef("滿足條件的數(shù),Qd'n”,ent);

24for(i?0;i<ent;£*?)

25prlntf("%d”?b[i]);

26printf("\n**);

27writeDat();

28?

29voidwriteDat()〃祖計(jì)%防果cm以及數(shù)也b中整合條外的四位依■用到ourdu文件中

30(

31FILE*fp;

32int1;

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

34fprintf(fp/rd\n",ent);

35for(i-0;i<ent;

36fprintf(fp,"?d\n".b(i]);

37fclose(fp);

38

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

例如,ai123124152115

b*3245172718IS

ciMSI12751155

播序IIS512753451

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

程序中已定義8叩00卜b(100)和班001?

請勿改動數(shù)拐文件IN1.DAT和IN2,DAT中的任何依據(jù)?主函數(shù)nuun().讀函ItreadD叫)小與#數(shù)wnteDatO的內(nèi)*.

1'?include<ttdio.h>

2itdeflneMAX100

3\inta(MAXltbfMAXJ,c[MAX]/

4?intent?0;/?卷■符含餐件數(shù)的個(gè)我?/

5;voidJsVal<)

6!I

1;

?>

j,?紀(jì)”據(jù)文件INIDATf0N2.DAT中的100個(gè)一粒十〃入駐?國b中〃

9-voidreadDat<)

10?(

11-int1)

12?FILE?fp;

13:fp-fopenClnl.daCM?*r*);

14!ford-0;1<MAX;…)

15\tacanf<fp,Fd-.(afUH

16-fcloaelfp);

17jfp?fopen("in2.d4t","r*J;

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

19?fscanf(fp<"W?5bH1);

20;fclose(fp):

21j)

22IvoidmainO

23!(

24jintitvoidwriteDat();

25jford-0;1<MMU

26jc(l)-0;

27-readDat();

28■jsVal<);

29;for(i-0;1<MAX“efil>0;

30!prlntf(wtd\n*,c(l)):

31iwritoDat()i

32j)

;/?紀(jì)恰果數(shù)期c?由到文傳wufat中?/

33-voidwriteDat()

34?(

35;FILE*fp;

36!int1;

37;fp?fopen("out.dtt*,3);

38Jford-0;1<MAX“c(i)>0Jiz)

391fprlntf(fp,*ld\n*tc(ll)/

40\fclose(fp);

41!)

39.函數(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ù)wmeDat把結(jié)果xX輸出到文件out.dat中。

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

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

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

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

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

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

進(jìn)行處理。

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

內(nèi)容。

1;finclude<stdio.h>

2!tinclude<string.h>

3j?include<ctype.h>

4?unsignedcharxx(50](80);

5!intmaxline?0;/?文章的總行效?/

i

6;intReadDat(void);

7JvoidWriteDat(void);

8?voidencryptChar()

9

10

11

12?voidmainO

13!(

14;if(ReadDatO)

15i{-

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

?

17return;

18i?

19jencryptCharO;

20|WriteDat();

21

;,?從文件m&i中讀取一?英文文章.存入更無符號字料申依祖口中〃

22;intReadDat(void)

23!I

24;FILE*fp;

25Jinti-0;

26iunsignedchar*p;

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

28return1;

29\while(fgeta(xx11),80*fp)!?NULL)

30;

31!p-strchr(xx(l],,Xn*);

32;if(p)*p■0;

向if

34)

35;maxline■i;

36!fclose(fp);

371return0;

38JI

八把怖果H■出JM文件OUL&l中”

39j

voidWriteDat(void)

40:(

41!FILE*fp;

42;int1;

43:fp-fopen("out.datw,**wH);

44ifor(i-0;i<maxline;1?>)

45(

46!0w

printC(%s\nrxx[i]);

;

47fprintf(fpr7s\n”,xx(ij);

回)

49!fclose(fp);

50;

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

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

的數(shù)減千位數(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.dato

例如?1239.9.!-2-3>O,則該數(shù)滿足條件存入數(shù)組b中?且個(gè)數(shù)cn*cnt+1.

8129.9-8-l-2<0,則該數(shù)不滿足條件忽略?

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

程序中已定義數(shù)組:a[300J,W300].已定義受lbent

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

tinclude<stdio.h>

2inta(300],b[300)tcnfO;

3voidreadDat();

voidwriteDat(>;

voidjsValue()

7

8

9mainO

10;(

11!int1;

12readDat();

13jsValue();

14writeDat();

15printf(Hcnt-%d\n**/ent);

16for(i*0;i<cot;t?十)

printf(*b(%d]wW\n*,1#b(il);

181

19?voidreadDat()

20\(

21;FILE*fp;

22?int1;

23;fp=foperH"in.daL,**L);

24!for(1■0;i<300;"?)

25?fscanf(£p,&a(1))

26-fclose(fp);

27?1

28;voidwrlteDat()

29\(

30?FILEefp;

31iinti;

HHM

32!fp-fopen(out.dat**rw);

H

33jfprintf(fp,*%d\nrent);

34;for(1-0;i<ent;i—)

HR

35;fprlntf(fp,%d\n,b[i]);

36?fclose(fp);

37;1

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

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

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

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

性。(10分)

42.設(shè)有商品表(商品號,商品名,單價(jià))和銷售表(銷售單據(jù)號,商品

號,銷售時(shí)間,銷售數(shù)量,銷售單價(jià))。其中,商品號代表一類商品,商

品號、單價(jià)、銷售數(shù)量和銷售單價(jià)均為整型。請編寫查詢某年某商品的

銷售總毛利的存儲過程,毛利=銷售數(shù)量x(銷售單價(jià)一單價(jià))。要求商

品號和年份為輸入?yún)?shù),總毛利用輸出參數(shù)返回。(10分)

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

43.設(shè)在SQLServer2008中,某關(guān)系表需要存儲職工的工資信息,工資

的范圍為2000?10000,設(shè)用整型類型存儲。下列數(shù)據(jù)類型中最合適的

是()。

A.intB.smallintC.tinyintD.bigint

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

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

?A.

I職:-----3^4部門

1?

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

Iy

?B.

?C.

D.

職|LUL)——3[部門

1?

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

<-/___

參考答案

1.C

2.A解析:建立一個(gè)Delphi程序時(shí),用戶二般只,需在一個(gè)窗體對象上

放置所需要的各種構(gòu)件,然后對其特征賦值,并編寫代碼以控制事件。

Delphi程序設(shè)計(jì)的基本步驟為:開始創(chuàng)建一個(gè)新的項(xiàng)目一設(shè)計(jì)窗體一將

所需構(gòu)件放入窗體中的適當(dāng)位置一處理窗體、編寫構(gòu)件響應(yīng)的事件一編

譯、運(yùn)行程序。需求分析不是Delphi程序設(shè)計(jì)的基本步驟,因此本題的

答案為A。

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

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

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

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

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

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

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

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

據(jù)這個(gè)思想渣找的順序即為R[6],R[2],R[4],R[3]。

4.C

5.D解析:根據(jù)轉(zhuǎn)軸的定義:改變一個(gè)報(bào)告或頁面顯示的維的方向,將

一個(gè)三維立方體轉(zhuǎn)變成一系列的二維平面等。題目中的年度維與季度維

進(jìn)行轉(zhuǎn)軸,改變了維的方向。

6.D解析:三級模式結(jié)構(gòu)并不是數(shù)據(jù)庫惟一的一種分級模式,所以A不

正確;內(nèi)模式/概念模式映像為數(shù)據(jù)的物理獨(dú)立性提供支持,外模式/概

念模式映像為數(shù)據(jù)的邏輯獨(dú)立性提供支持,所以B不正確;外模式是用

戶觀念下的數(shù)據(jù)結(jié)構(gòu)的邏輯描述,在數(shù)據(jù)庫中某個(gè)用戶一般只會剛到概

念模式中的一部分記錄集,因此,外模式是概念模式的一個(gè)邏輯子集,

外模式允許某些描述與概念模式不同,所以D正確。

7.B解析:系統(tǒng)軟件是隨計(jì)算機(jī)出廠并具有通用功能的軟件,它包括操

作系統(tǒng)、語言處理程序、數(shù)據(jù)庫管理系統(tǒng)和服務(wù)性程序。注意:因?yàn)橄?/p>

統(tǒng)軟件包括操作系統(tǒng)、語言處理程序,數(shù)據(jù)庫管理系統(tǒng)和服務(wù)性程序,

所以信息管理系統(tǒng)不屬于系統(tǒng)軟件,故選B)。掌握系統(tǒng)軟件的概念和用

戶軟件的概念,以及二者的區(qū)別。

8.A解析:在虛擬存儲技術(shù)中,利用程序執(zhí)行的局部性原理,程序的一

次執(zhí)行不必將所有的數(shù)據(jù)全部調(diào)入內(nèi)存,而只調(diào)入用到的部分,當(dāng)需要

外存中的數(shù)據(jù)時(shí)再調(diào)入,此時(shí)需要根據(jù)頁面淘汰算法將頁面中某些頁面

調(diào)出內(nèi)存,這樣就可能會因?yàn)轫撁嫣蕴惴ǖ牟磺‘?dāng)引起抖動現(xiàn)象。

9.C解析:本題是對散列表存儲問題的考查。散列表的基本思想是:由

結(jié)點(diǎn)的關(guān)鍵碼值決定結(jié)點(diǎn)的存儲地址,即以關(guān)鍵碼值k為自變量,通過

一定的函數(shù)關(guān)系h(稱為散列函數(shù)),計(jì)算出對應(yīng)的函數(shù)值h(k)來,把這個(gè)

值解釋為結(jié)點(diǎn)的存儲地址,將結(jié)點(diǎn)存入該地址中。在散列表中,不同的

關(guān)鍵碼值可能對應(yīng)到同一存儲地址,這種現(xiàn)象叫碰撞,處理碰撞基本有

兩種方法:拉鏈法和線性探索法。在本題中,所采用的散列函數(shù)為

h(k)=kmodll,用線性探查法解決碰撞。計(jì)算順序如下:①

h(95)=95modll=7,存在地址為7的位置;②坂9尸14mo祖1=3,存在地址

為3的位置;③h(27尸27moe111=5,存在地址為5的位置;④

h(68)=68modll=2,存在地址為2的位置;⑤h(82)=82modll=5,與關(guān)鍵碼

為27的存儲位置發(fā)生碰撞,采用線性探索的方法解決,即將82存在5

以后的首個(gè)開放位置,在本題中即為6,所以82存在地址為6的位置。

因此本題正確答案為選項(xiàng)C。

10.C解析:語言處理程序分為兩大類:解釋程序和翻譯程序,翻譯程序

也稱編譯程序。解釋程序是指對輸入的用程序語言(源語言)書寫的程序

(源程序)直接解釋執(zhí)行源程序的語言處理程序;編譯程序是指將源程序

改造成另一種語言程序(目標(biāo)語言程序)的語言處理程序。改造前后二者

在邏輯上是等價(jià)的。

11.N-1

12.4利用報(bào)表向?qū)斫?bào)表,在設(shè)置字段排序時(shí),一次最多不超過4

個(gè)

13.0(1)一個(gè)算法花費(fèi)的時(shí)間與算法中語句的執(zhí)行次數(shù)成正比例,哪個(gè)

算法中語句執(zhí)行次數(shù)多,它花費(fèi)時(shí)間就多。一個(gè)算法中的語句執(zhí)行次數(shù)

稱為語句頻度或時(shí)間頻度。當(dāng)一個(gè)算法的時(shí)間復(fù)雜性與問題的規(guī)模n無

關(guān)時(shí),則表示為0(1)

14.DR0P

15.2k+l-

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論