2021年陜西省咸陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第1頁(yè)
2021年陜西省咸陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第2頁(yè)
2021年陜西省咸陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第3頁(yè)
2021年陜西省咸陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第4頁(yè)
2021年陜西省咸陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試數(shù)據(jù)庫(kù)技術(shù)真題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021年陜西省咸陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試

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

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

一、1.選擇題(10題)

1.在數(shù)據(jù)庫(kù)系統(tǒng)階段,數(shù)據(jù)

A.具有物理獨(dú)立性,沒(méi)有邏輯獨(dú)立性

B.具有邏輯獨(dú)立性,沒(méi)有物理獨(dú)立性

C.物理獨(dú)立性和邏輯獨(dú)立性均沒(méi)有

D.具有高度的物理獨(dú)立性和邏輯獨(dú)立性

2.下面不屬于數(shù)據(jù)模型的組成。

A.數(shù)據(jù)的組織方法B.數(shù)據(jù)操作集合C.數(shù)據(jù)完整性集合D.數(shù)據(jù)的約束

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

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

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

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

4.用二維表數(shù)據(jù)來(lái)表示實(shí)體之間聯(lián)系的模型叫做

A.網(wǎng)狀模型B.層次模型C.關(guān)系模型D.實(shí)體-聯(lián)系模型

5.對(duì)線性表進(jìn)行二分法檢索,其前提條件是

A.線性表以順序方式存儲(chǔ),并且按關(guān)鍵碼值排好序

B.線性表以順序方式存儲(chǔ),并且按關(guān)鍵碼的檢索頻率排好序

C.線性表以鏈接方式存儲(chǔ),并且按關(guān)鍵碼值排好序

D.線性表以鏈接方式存儲(chǔ),并且按關(guān)鍵碼的檢索頻率排好序

6.在多道程序系統(tǒng)中,每組進(jìn)程中的每一個(gè)進(jìn)程均無(wú)限期地等待被該組

進(jìn)程中的另一個(gè)進(jìn)程所占有且永遠(yuǎn)不會(huì)釋放的資源,這種現(xiàn)象稱為

A.獨(dú)占B.等待C.睡眠D.死鎖

7.新一代數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工具應(yīng)具備的特征有

I.支持與多種數(shù)據(jù)庫(kù)連接

II,支持可視化圖形用戶界面

III,支持面向?qū)ο蟮某绦蛟O(shè)計(jì)

IV.支持開(kāi)放性

V.提供完善的數(shù)據(jù)對(duì)象

A.I,II和wB.I,II和mc.I,m和wD.全部

8.在高級(jí)語(yǔ)言中使用嵌入式SQL語(yǔ)句時(shí),所有SQL語(yǔ)句前必須添加前

綴()O

A.SYSSQLB.GOTOSQLC.EXECSQLD.DOSQL

9.數(shù)據(jù)獨(dú)立性是指()。

A.數(shù)據(jù)依賴于程序B.數(shù)據(jù)庫(kù)系統(tǒng)C.數(shù)據(jù)庫(kù)管理系統(tǒng)D.數(shù)據(jù)不依賴于

程序

10.數(shù)據(jù)庫(kù)是在計(jì)算機(jī)系統(tǒng)中按照一定的數(shù)據(jù)模型組織、存儲(chǔ)和應(yīng)用的()

A.文件的集合B.數(shù)據(jù)的集合C.命令的集合D.程序的集合

二、填空題(10題)

11.數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)提供數(shù)據(jù)定義語(yǔ)言(DDL)及它的翻譯程序,

DDL定義數(shù)據(jù)庫(kù)的模式、外模式和內(nèi)模式,并通過(guò)翻譯程序分別翻譯成

相應(yīng)的目標(biāo)模式,存放在【】。

12.m階B+樹(shù)的根結(jié)點(diǎn)至多有個(gè)子女。

13.操作系統(tǒng)之所以能夠找到磁盤(pán)上的文件,是因?yàn)橛写疟P(pán)上的文件名與

存儲(chǔ)位置的記錄。在DOS中,它叫做o

14.若一棵二叉樹(shù)中度為2的結(jié)點(diǎn)數(shù)為11,則該二叉樹(shù)的葉結(jié)點(diǎn)數(shù)為

15.被認(rèn)為是真正意義上的安全產(chǎn)品一般其安全級(jí)別應(yīng)達(dá)到o

16.是用戶接入Internet的入口點(diǎn),一方面它為用戶提供Internet

接入服務(wù),另一方面,它也為用戶提供各類信息服務(wù)。

17.用高級(jí)語(yǔ)言編寫(xiě)的程序稱之為[】。

^.PowerBuilder10.0為使用.NET開(kāi)發(fā)工具的用戶提供了一套_口_工

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

代碼等。

19.SMTP的通信過(guò)程可以分成三個(gè)階段,它們是連接階段、

郵件傳遞階段和連接關(guān)閉階段。

20.關(guān)系數(shù)據(jù)模型包括關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和3個(gè)重要

部分。

三、單選題(10題)

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

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

模式

22.進(jìn)程具有并發(fā)性和()兩大重要屬性。

A.動(dòng)態(tài)性B.靜態(tài)性C.易用性D.封閉性

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

18依次散列于地址。?6中,用線性探測(cè)法解決沖突,則在地址空間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è)比較明顯的優(yōu)點(diǎn)是()

A.插入操作更加方便B.通常不會(huì)出現(xiàn)棧滿的情況C.不會(huì)出現(xiàn)??盏?/p>

情況D.刪除操作更加方便

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

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

別在用戶的客戶機(jī)和數(shù)據(jù)庫(kù)服務(wù)器上使用數(shù)據(jù)庫(kù)管理系統(tǒng)自帶的客戶

端工具執(zhí)行此更新操作語(yǔ)句,發(fā)現(xiàn)該語(yǔ)句執(zhí)行后長(zhǎng)時(shí)間無(wú)響應(yīng)。經(jīng)檢查

數(shù)據(jù)庫(kù)服務(wù)器CPU使用率小于1%,磁盤(pán)10也非常小。造成此現(xiàn)象可

能的原因是()

A.客戶機(jī)到數(shù)據(jù)庫(kù)服務(wù)器的網(wǎng)絡(luò)故障

B.更新操作涉及到的表沒(méi)有建立主碼

C.更新的字段沒(méi)有建立有效的索引

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

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

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

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

27.在概念設(shè)計(jì)和邏輯設(shè)計(jì)之間起橋梁作用的是()

A.DFDB.E-R圖C.數(shù)據(jù)結(jié)構(gòu)圖D.功能模塊圖

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

件中。

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

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

請(qǐng)勿改動(dòng)數(shù)據(jù)文件imdat中的任何數(shù)據(jù).主函數(shù)maiM)、速函readDatQ和寫(xiě)函數(shù)writeDat()的內(nèi)容.

1;finclude<stdio.h>

2!IdefineMAX200

3;inta[MAX),b(MAX|,ent-0;

4?voidwriteDat();

5?voidjsVal()

9;voidreadDat()〃從Arudat文件中博取200個(gè)四位數(shù)存入依姻a中

10!(

11jinti;

12jFILE*fp;

13?fp-fopen(*in.datw,*rH);

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

15jfscanf(fp/&a[i]>;

16?fclose(fp);

**I)

18!voidmain()

21|readDat();

221jsVal()?〃?川嫉值jsv.i,實(shí)現(xiàn)?求的功能

23?print/「滿足條件的數(shù)?Qd\n”,entI;

24?for(i?0;i<ent;i—)

25;printf("%ci”?b[i));

writeDat()〃把ilWM梨cm以及數(shù)也b中將什條外的四位效?也到om.dM更件中

int1;

wM

fp■fopen("out.dat#w*);

fprintf(fp/7d\n".ent);

for(i-0;i<ent;

fprintf(fp,Fd\n",b(i])/

fclose(fp);

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

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

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

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

出到文件Out.dat中。

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

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

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

位置上。

例如:位置012345678

源字符串a(chǎn)bcdhgfe

123498765

則處理后字符串hgfedcba

876594321

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

請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.dat中的任何敷據(jù)、主函數(shù)main()、讀曲數(shù)rcadD叫)和寫(xiě)的數(shù)writcD&U)的內(nèi)容.

1Jlinclude<stdio.h>

2j*include<string.h>

3;charxx[201f80);

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

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

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

組a中取出一個(gè)四位數(shù),如果該四位數(shù)大于該四位數(shù)以后的連續(xù)五個(gè)數(shù)

且該數(shù)是奇數(shù)(該四位數(shù)以后不滿五個(gè)數(shù),則不統(tǒng)計(jì)),則統(tǒng)計(jì)出滿足此

條件的個(gè)數(shù)ent并把這些四位數(shù)按從小到大的順序存入數(shù)組b中,最后

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

Out.dat文件中。

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

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

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

和寫(xiě)函數(shù)writeDat的內(nèi)容。

linclude<stdio.h>

^defineMAX200

inta(MAX)<b[MAX],ent

4voidwriteDat;

5voidjsValO

8

/?readDat()從數(shù)界文件in.dii中讀取2W個(gè)四位數(shù)存人數(shù)組■中?/

voidreadDat()

FILEefp;

13fp-fopen(-in.daf,"r");

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

15fscanf(fp,;

16fclose(fp);

17

18voidmain()

19

20,int1;

21!readDat();

22;jsValO;〃調(diào)用”Vah)曲故,實(shí)現(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

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

把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(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)用寫(xiě)函數(shù)writeDat把結(jié)果ent以及數(shù)組b中符合條件

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

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

程序中已定義數(shù)ftba(200bb(200J.已定義變ent

請(qǐng)勿改動(dòng)數(shù)據(jù)文件iftdal中的任何數(shù)據(jù).FA?main()?讀函數(shù)neadDatO和寫(xiě)函數(shù)writeDatQ的內(nèi)容.

1!Iinclude<stdio.h>

2\?defineMAX200〃定義宏支fltMAX,N值等于zoo

3!inta[MAX),b【MAX],ent-0;〃定義全局整整TB數(shù)蛆alMAX).biHAX?和支■st,其初值等于o

4\voidwriteDat();

5;voidjsVal()

6i1

e\)

9\voidreadDat()〃從in?dat文件中灌取200個(gè)四位*t存入數(shù)ifl■中

10

11inti;

12FILEefp;

13fp-fopon("in.dat","r");

14for(1?0;i<MAX;1>*?)

ISfscant(fp,;

16fcloae(fp);

17

18;voidmain()

19j(

20jint1;

21readDatO;

22jsValO;〃四用”v?M)的也實(shí)現(xiàn)?目要求的功健

23printf(”滿足條件的敢Td\n",ent);

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

25printf(ntd-,b(i]);

26printf;

27writeDat()s

28)

29voidwriteDatO〃化計(jì)算姑果國(guó)以及敷蝸b中符合條件的四位敏■出到OULW文件中

30?{

31FILE?fp;

32inti;

w

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

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

35ford?0;1<ent;I**)

36fprintf(fpr"%d\n"rb(iD;

37fclose(fp);

38

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

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

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

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

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

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

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

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

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

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

進(jìn)行處理。

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

內(nèi)谷。

?include<stdio.h>

tinclude<strlng.h>

3?include<ctype.h>

unsignedcharxx[50][80];

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

6intReadDat(void);

7!voidWriteDat(void);

8?voidencryptChar()

10!

11j)

12JvoidmainO

13?(

14iif(ReadDat0)

15\1

161printf(-數(shù)據(jù)文件in.daw不能打開(kāi)!\n\007"”

17return;

18

19encryptCharO;

WriteDat();

21

/?從文件ndu中謨?nèi)?英文文存人■無(wú)M號(hào)字折席敏煙?中?/

22intReadDat(void)

23

FILE*fp;

25int1-0;

26unsignedchar*p;

27if((fp*fopen(win.datw,^r"))?-NULL)

28return1;

29while(fgeta(xx[i],80<fp)!"NULL)

30

31p-strchr(xx[1]t*\n*);

32If(p)*p■0;

33

34J

35maxline-i;

36fclose(fp);

37return0;

38)

八把雄果XX?出到文件OULdtf中?/

39voidWriteDat(void)

40

41FILE*fp;

42inti;

M

43fp-fopen("out.datr"w");

44for(i*0;i<maxline;11??)

45(

w

46printfC%s\nrxx[1]);

47fprintf(fp,7s\n",xx[i));

48)

49fclose(fp);

50

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

xx中(每行字符串長(zhǎng)度均小于80)。請(qǐng)編制函數(shù)jsSort,其函數(shù)的功能是:

以行為單位對(duì)字符串變量的下標(biāo)為奇數(shù)的位置上的字符按其ASCII值

從小到大的順序進(jìn)行排序,下標(biāo)為偶數(shù)的位置上的字符仍按原來(lái)位置存

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

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

例如:位置01234567

源字符串hgfedcba

則處理后字符串hafcdebR

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

請(qǐng)勿改動(dòng)數(shù)據(jù)文件Hdat中的任何數(shù)據(jù)、主函數(shù)main。、讀函數(shù)re?n>at()和耳函敗writeDat()的內(nèi)容.

■include<stdio.h>

yllnclude<string.h>

3voidreadDat();

4voidwriteDat();

5charxx(20J(80]:

6voidjsSort()

e

9

10jvoidmain()

11;(

12?readDat();

13jsSort();

14writeDat();

15i)

;“從文件iadtf中謨?nèi)?0打數(shù)據(jù)存放到字柯串?dāng)?shù)蛆xx中?/

16!voidreadDat()

17?(

18?FILE?in;

19!inti■0;

20;char*p;

21!in?fopen("in.dat"/°r");

22{while(i<20&&fgets(xx[1],80,in)!-NULL)

j

23j(

2Ap?strchr(xx[i]**\n*);

25if(p)*p?0;

26if

27i)

?

28;fdose(in);

29!)

?/?把懦果出到OUt<fal文件中?/

30;voidwriteDat()

31\(

32FILE*OUt;

33?int1;

w

34out-fopen("out.date;

35for(1?0;i<20;

36

37printfxx[1]);

wH

3Bfprintf(out,%s\n,xx[1]);

39

40fclose(out);

41

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

把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(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)用寫(xiě)函數(shù)writeDat把結(jié)果ent以及數(shù)組b中符合條件的四位數(shù)輸出

到Out.dat文件中。

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

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

請(qǐng)勿改動(dòng)數(shù)據(jù)文件m.dat中的任何數(shù)據(jù)、主函數(shù)nwunO、讀的數(shù)rvadDatO和寫(xiě)曲數(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)陽(yáng)的敝加me寶現(xiàn)&U要求的功能

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

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

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

35printf(H\nM);

36writeDat();

37!)

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

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

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

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

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

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

out.dat中。

例如:

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

00000111,加上原來(lái)"2"的ASCII值01111010得至【J10000001結(jié)果。

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

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

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

請(qǐng)勿改動(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不能打開(kāi)!\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;)

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

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

位數(shù)的個(gè)位數(shù)位置上的值減去千位數(shù)位置上的值再減去百位數(shù)位置上

的值最后減去十位數(shù)位置上的值,如果得出的值大于等于零且原四位數(shù)

是偶數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)ent,并把這些四位數(shù)按從小到大

的順序存入數(shù)組b中,最后調(diào)用寫(xiě)函數(shù)writeDat把結(jié)果ent以及數(shù)組b

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

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

程序中已定義數(shù)組:限00],b(200],已定義變量Ient

請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)讀函數(shù)readDat()和寫(xiě)函?twriteDatO的內(nèi)容。

1jixncludG<stdio.h>

2\IdefineMAX200

3inta(MAX],b[MAXbent

4voidwriteDat();

5voidjsVal()

6

7

8

9voidreadDat()

10

11

12FILE*fp;

wR

13fp,fopen(in.dat/"

14ford-0;i<MAX;

15fscanf(fp,"Rd",J

16fclose(fp);

17

18voidmain0

19

int1;

readDat();

jsVal();

printf("滿足條件的數(shù)7d\rT.cn

for(i-0;i<ent;

printf(0%d",b(i]);

printf「\n”);

writeDat();

28J

29voidwriteDat()

30

31FILE#fp;

32inti;

33fp-fopen("out.datw,;

wn

34fprintf(fp,%d\necnt);

35for(1-0;i<ent;[?+)

36fprintf(fprbl:】);

37fclose(fp);

38

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

串?dāng)?shù)組XX中;請(qǐng)編制函數(shù)eneryptChar,按給定的替代關(guān)系對(duì)數(shù)組XX

中的所有字符進(jìn)行替代,仍存入數(shù)組XX對(duì)應(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ì)算后的無(wú)符號(hào)整型值(注意:中間變量定義

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

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

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

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

進(jìn)行處理。

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

finclude<stdio.h>

Iinclude<string.h>

3?finclude<ctype.h>

4unsignedcharxx[50][80];

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

6;intReadDat(void);

7?voidWriteDat(void);

8;voidencryptCharO

9J(

10;

unsignedintval;

11;

12;

13;voidmam()

14;(

15!if(ReadDatO)

16i(

:;iprintf("數(shù)據(jù)文件m.dat不能打開(kāi)!\n\007");

return;

19;

20jencryptChar();

21;WriteDat();

22jI

/?從文件tiLdm中諭取一篇英文文IL存人勃字符中數(shù)批1*中?/

23;intReadDat(void)

24!I

25JFILE*fp;

26\inti-0;

27!unsignedchar*p;

28\

if((fp-fopenLin.daL,)-NULL)

29-return1;

1

30?while(fgets(xx(i)#80,fp)?NULL)

31((

32j

p-strchr(xx[ih*\n*);

33iif(p),P-0;

34\if

35:

36;maxiine?i;

37;fclose(fp);

38!return0;

39;?

/?£結(jié)果MX■出到文件outdai中?/

40-voidWriteDat(void)

41

42FILE*fp;

43inti;

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

45for(i?0;i<maxline;1??)

46(

H

47printf("ls\nrxx[i]);

48fprintf(fp,Fs\n”,xx[ij);

49)

50fclose(fp);

51

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

41.設(shè)有高校選課系統(tǒng),需要對(duì)學(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)課程的成績(jī)。針對(duì)以上描述,完成下列設(shè)計(jì)內(nèi)

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

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

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

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

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

限)(4分)

42.設(shè)某教學(xué)管理系統(tǒng),其查詢模塊需要提供如下功能:I.查詢系信

息,列出各系編號(hào)、系名和系辦公電話;II.查詢某系教師的信息,

列出教師號(hào)、教師名、工資和聘用日期;m.查詢某教師講授的課程

信息,列出課程號(hào)、課程名和學(xué)分;IV.查詢講授某門課程的教師信

息,列出教師名和職稱;V.查詢某門課程的先修課程信息,列出先修

課程號(hào)和先修課程名。系統(tǒng)有如下業(yè)務(wù)規(guī)則:I.一個(gè)系可聘用多名

教師,一名教師只能受聘于一個(gè)系;II.一名教師可講授多門課程,

一門課程可由多名教師講授;m.一門課程可以有多門先修課程,也

可以沒(méi)有先修課程。(1)請(qǐng)根據(jù)以上查詢功能與業(yè)務(wù)規(guī)則,用ER圖

描述該系統(tǒng)的概念模型。(5分)(2)將ER圖轉(zhuǎn)換為滿足3NF的關(guān)

系模式,并說(shuō)明每個(gè)關(guān)系模式的主碼和外碼。(5分)

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

43.在SQLServer2008中,建立索引視圖的目的是為了提高數(shù)據(jù)查詢的

效率。下列關(guān)于索引視圖的說(shuō)法,錯(cuò)誤的是()o

A.當(dāng)很少對(duì)基表數(shù)據(jù)進(jìn)行更改操作時(shí),適合建立索引視圖

B.索引視圖的數(shù)據(jù)被物理地保存在數(shù)據(jù)庫(kù)中,因此建立索引視圖會(huì)占用

更多的存儲(chǔ)空間

C.對(duì)于經(jīng)常執(zhí)行連接和聚合操作的查詢,不適合建立索引視圖

D.如果GroupBy列具有高基數(shù)度的數(shù)據(jù)聚合,則不適合建立索弓【視圖

44.下列關(guān)于SQLServer2008身份驗(yàn)證模式的說(shuō)法,錯(cuò)誤的是()。

A.在“Windows身份驗(yàn)證模式”下,不允許sa登錄到SQLServer服務(wù)器

B.在“Windows身份驗(yàn)證模式”下,所有Windows用戶都自動(dòng)具有登錄到

SQLServer服務(wù)器的權(quán)限

C.不管是哪種身份驗(yàn)證模式,Windows中的Administrator無(wú)需授權(quán)就可

登錄到SQLServer服務(wù)器

D.安裝好SQLServer之后,可以根據(jù)需要隨時(shí)更改身份驗(yàn)證模式

參考答案

LD解析:數(shù)據(jù)獨(dú)立性是指應(yīng)用程序與數(shù)據(jù)之間相互獨(dú)立、互不影響,

數(shù)據(jù)獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性。在數(shù)據(jù)庫(kù)系統(tǒng)階段,數(shù)據(jù)具

有較高的物理獨(dú)立性和邏輯獨(dú)立性。

2.D解析數(shù)據(jù)模型數(shù)據(jù)的組織方法+數(shù)據(jù)操作集合+數(shù)據(jù)完整性集合。

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

插入一個(gè)結(jié)點(diǎn)平均需要移動(dòng)的結(jié)點(diǎn)個(gè)數(shù)為n/2o

4.C解析:在數(shù)據(jù)庫(kù)系統(tǒng)中,有3種數(shù)據(jù)模型:網(wǎng)狀模型使用網(wǎng)狀結(jié)構(gòu)

來(lái)表示實(shí)體之間的聯(lián)系;層次模型使用層次(樹(shù)型)結(jié)構(gòu)來(lái)表示實(shí)體之間

的聯(lián)系;關(guān)系模型用二維表數(shù)據(jù)來(lái)表示實(shí)體之間聯(lián)系。

5.A在進(jìn)行二分法查找時(shí),線性表節(jié)點(diǎn)必須按關(guān)鍵碼值排序,而且線性

表是按順序存儲(chǔ)方式存儲(chǔ)的

6.D解析:在多道程序系統(tǒng)中,每組進(jìn)程中的每一個(gè)進(jìn)程均無(wú)限期地等

待被該組進(jìn)程中的另一個(gè)進(jìn)程所占有且永遠(yuǎn)不會(huì)釋放的資源,這種現(xiàn)象

稱為系統(tǒng)處于死鎖狀態(tài)。掌握如何解除死鎖,以及睡眠、等待、獨(dú)占的

概念。

7.D解析:新一代數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工具應(yīng)具備的特征有:支持與多種數(shù)

據(jù)庫(kù)連接,支持可視化圖形用戶界面,支持面向?qū)ο蟮某绦蛟O(shè)計(jì),支持

開(kāi)放性,提供完善的數(shù)據(jù)對(duì)象等。掌握數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工具的發(fā)展趨勢(shì)

和目前存在的問(wèn)題。

8.C解析:在嵌入式SQL,中,為了區(qū)分SQL語(yǔ)句與宿主語(yǔ)句,所有

SQL語(yǔ)句前必須加上前綴標(biāo)識(shí)“EXECSQL”,并以“END-EXEC”作為語(yǔ)

句結(jié)束標(biāo)志,結(jié)束標(biāo)志在不同的宿主語(yǔ)言中是不同的。

9.D解析:數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫(kù)領(lǐng)域的一個(gè)常用術(shù)語(yǔ),包括數(shù)據(jù)的物理

獨(dú)立性和數(shù)據(jù)庫(kù)邏輯獨(dú)立性。數(shù)據(jù)的物理獨(dú)立性是指用戶的應(yīng)用程序與

存儲(chǔ)在磁盤(pán)上的數(shù)據(jù)庫(kù)中的數(shù)據(jù)是相互獨(dú)立的。也就是說(shuō),數(shù)據(jù)在磁盤(pán)

上的數(shù)據(jù)庫(kù)中是怎樣存儲(chǔ)的,是由DBMS管理的,用戶程序不需要了

解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲(chǔ)改

變時(shí),應(yīng)用程序不用改變。數(shù)據(jù)的邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)

據(jù)庫(kù)的邏輯結(jié)構(gòu)是相互獨(dú)立的,也就是說(shuō),數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用

戶程序也可以不變。

10.B解析:根據(jù)數(shù)據(jù)庫(kù)的定義可知,數(shù)據(jù)庫(kù)是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)的、

有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、

描述和存儲(chǔ),具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性、和易擴(kuò)展性,并

可為各種用戶所共享。

11.系統(tǒng)目錄/數(shù)據(jù)字典/DD系統(tǒng)目錄/數(shù)據(jù)字典/DD

12.m

13.FAT【解析】操作系統(tǒng)之所以能夠找到磁盤(pán)上的文件,是因?yàn)橛写疟P(pán)

上的文件名與存儲(chǔ)位置的記錄。在DOS里,它稱為文件表(FAT);在

Windows里,稱為虛擬文件表(VFAT);在mM的操作系統(tǒng)OS/2里,稱

為高性能文件系統(tǒng)(HPFS)。

14.12

15.B1B1解析:根據(jù)計(jì)算機(jī)系統(tǒng)對(duì)各項(xiàng)指標(biāo)的技術(shù)情況,TCSEC將系

統(tǒng)劃分為4組7個(gè)安全級(jí)別,按系統(tǒng)可靠性或可信程度逐漸增高依次

為:D、ChC2、Bl、B2、B3、AloBl級(jí)別的產(chǎn)品才被認(rèn)為是真正意

義上的安全產(chǎn)品,達(dá)到此級(jí)別的產(chǎn)品其名稱中多冠以“安全”或“可信”字

樣,作為區(qū)別于普通產(chǎn)品的安全產(chǎn)品出售。

16.ISPISP解析Internet服務(wù)提供商(ISP)是用戶接入Internet的入口點(diǎn)。

一方面它為用戶提供Internet接入服務(wù);另一方面,它也為用戶提供種

類信息服務(wù)。

17.源程序源程序解析:在計(jì)算機(jī)語(yǔ)言中,把用高級(jí)語(yǔ)言和匯編語(yǔ)言寫(xiě)

的程序稱為源程序,對(duì)應(yīng)的機(jī)器語(yǔ)言程序稱為目標(biāo)程序。

18.DataWindow.NETPowerBuilder美國(guó)Sybase公司研制的一種新型、快

速開(kāi)發(fā)工具,是客戶機(jī)/服務(wù)器結(jié)構(gòu)下,基于Windows3.x、Windows95和

WindowsNT的一個(gè)集成化開(kāi)發(fā)工具。它包含一個(gè)直觀的圖形界面和可

擴(kuò)展的面向?qū)ο蟮木幊陶Z(yǔ)言PowerScript,提供與當(dāng)前流行的大型數(shù)據(jù)庫(kù)

的接口,并通過(guò)ODBC與單機(jī)數(shù)據(jù)庫(kù)相連。PowerBuilder的主要特色是

DataWindow(數(shù)據(jù)窗口),通過(guò)DataWindow可以方便地對(duì)數(shù)據(jù)庫(kù)進(jìn)行

各種操作,也可以處理各種報(bào)表,而無(wú)需編寫(xiě)SQL語(yǔ)句,可以直接與

SybasesSQLServersInformixsOracle等大型數(shù)據(jù)庫(kù)連接。

19健立【解析】SMTP的通信過(guò)程可以分成三個(gè)階段:連接建立階段、

郵件傳遞階段和連接關(guān)閉階段。

20.關(guān)系完整性約束關(guān)系完整性約束

21.A

22.A

23.B解析:將23,14,9,6,30,12,18依次按散列函數(shù)K(k)=kmod7計(jì)算,

并按線性探測(cè)法解決沖突,得到的散列結(jié)果是14,18,23,9,30,12,6O

24.B

25.D

26.C

對(duì)應(yīng)于外模式的數(shù)據(jù)庫(kù)稱為用戶級(jí)數(shù)據(jù)庫(kù)。它是用戶可以看到并準(zhǔn)許

使用的數(shù)據(jù)庫(kù)。模式也叫做概念模式,它是全局邏輯級(jí)的,是數(shù)據(jù)庫(kù)

的整體邏輯結(jié)構(gòu)。內(nèi)模式對(duì)應(yīng)于數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu),是為了提高模式

對(duì)存儲(chǔ)設(shè)備的獨(dú)立性而設(shè)立的。

27.B

28.D

29.A解析:概念模型用于信息世界的建模,是將現(xiàn)實(shí)世界的客觀對(duì)象抽

象為某種信息結(jié)構(gòu)。這種結(jié)構(gòu)不依賴于具體的計(jì)算機(jī)系統(tǒng),不是某一個(gè)

DBMS支持的數(shù)據(jù)模型。實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。

30.C

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

\n【解題思路】

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

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

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

\n【參考答案】

\n

\n

32.\n[審題關(guān)鍵句】以行為單位從字符串左邊部分降序排序,排序后左

邊部分與右邊部分進(jìn)行交換。如果原字符串長(zhǎng)度為奇數(shù),則最中間的字

符不參加處理。

\n【解題思路】

\n①定義循環(huán)變量i、j、k和整型變量len、po

\n②第一層for循環(huán)中,循環(huán)變量i從0開(kāi)始,依次遞增直到其值等于

20,實(shí)現(xiàn)對(duì)20行數(shù)據(jù)的逐行處理。在循環(huán)體中,對(duì)于i行首先調(diào)用函數(shù)

strlen(xx[i])求得第i行字符串的長(zhǎng)度,并把其值賦給變量len,再用len

除以2,得到第i行字符串長(zhǎng)度的一半,賦給變量P。在第二層for循環(huán)

中,循環(huán)變量J從0開(kāi)始,依次遞過(guò)來(lái)增直到其值等于(p-1),在第三層

for循環(huán)中,循環(huán)變量k從J+1開(kāi)始,依次遞過(guò)來(lái)增直到其值等于P,比

較字符xx[i][j]ASCII碼值與xx[i][k]ASCII碼值的大小,如果字符xx[i]

啪的ASCII碼值小于xx皿k]的ASCII碼值,則兩者進(jìn)行互換實(shí)現(xiàn)對(duì)第

i行字符串左半部分的字符串按降序排列。

\n③用變量len的值對(duì)2求余數(shù),如果余數(shù)為1,則調(diào)用函數(shù)字符串拷貝

函數(shù)strcpy,把從字符串xx[i]+P+l開(kāi)始直到字符串xx國(guó)的結(jié)尾的子字

符拷貝到字符串變量str中,再調(diào)用字符串連接函數(shù)stmcat把字符串xx[i]

的中間字符連接到字符串變量str的后面,再調(diào)用字符串連接函數(shù)stmcat

把字符串xx[i]的左半部分的子字符串連接到變量str的后面;如果余數(shù)

不等于1,則調(diào)用字符串拷貝函數(shù)strcpy,把從字符串xx[i]+P開(kāi)始直到

字符串xx[i]的結(jié)尾的子字符拷貝到字符串變量str中,再調(diào)用字符串連

接函數(shù)stmcat把字符串xx[i]的左半部分的子字符串連接到變量str的后

面,實(shí)現(xiàn)字符串xx[i]左右部分子字符串的交換。

\n④調(diào)用字符串拷貝函數(shù)strcpy,把字符串變量str的值拷貝到字符串

xx[i],實(shí)現(xiàn)把排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組XX中。

\n【參考答案】

\n

\n

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

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

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

語(yǔ)句;②要求進(jìn)行比較的元素大于后連續(xù)5個(gè)數(shù),因此在設(shè)置判斷條件

時(shí),作為比較的兩個(gè)數(shù)之間應(yīng)該是大于關(guān)系,參考答案的第4條語(yǔ)句。

\n【參考答案】

\n

\n

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

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

\n【解題思路】

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

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

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

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

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

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

成一個(gè)十位數(shù),并將兩個(gè)新的十位數(shù)分別賦給變量newVI和newV2o

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

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

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

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

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

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

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

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

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

\n【參考答案】

\n

\n

35.\n【審題關(guān)鍵句】字符替代f(p)=p*llmod256,小于等于3

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論