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頁,還剩31頁未讀, 繼續(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é)校:班級:姓名:考號:

一、L選擇題(10題)

1.下列關(guān)于這個(gè)關(guān)系的敘述中,不正確的是

職員關(guān)系是S(S#,SNAME,SEX,AGE)主碼為S#

部門關(guān)系是C(C#,CNAME)主碼為C#

職員部門關(guān)系是SC(S#,C#,remark注碼為(S#,C#)

A.SC.C#是外碼B.SC.S#是外碼C.S是SC的參照關(guān)系D.C是SC的

目標(biāo)關(guān)系

2.在分布式數(shù)據(jù)庫系統(tǒng)中,邏輯數(shù)據(jù)庫被劃分成若干片段,其中按投影

操作來分片的稱為

A.水平分片B.垂直分片C.導(dǎo)出分片D.選擇分片

3.下列中斷中,不屬于強(qiáng)迫性中斷。

A.設(shè)備出錯(cuò)B.掉電C.時(shí)間片到時(shí)D.執(zhí)行print語句

4.在就緒隊(duì)列中,一旦有優(yōu)先級高于當(dāng)前運(yùn)行進(jìn)程優(yōu)先級的進(jìn)程存在時(shí),

便立即對進(jìn)程進(jìn)行調(diào)度,轉(zhuǎn)讓CPU,這叫做

A.可剝奪方式B.不可剝奪方式C.時(shí)間片輪轉(zhuǎn)D.實(shí)時(shí)調(diào)用

5.隔離是操作系統(tǒng)安全保障的措施之一。下列哪一項(xiàng)不屬于安全隔離措

施?

A.物理隔離B.時(shí)間隔離C.分層隔離D.密碼隔離

6.下列排序方法中,最壞排序時(shí)間不是0(n2)的是

A.快速排序B.堆排序C.起泡排序D.簡單選擇排序

7.關(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è)邏輯子集,且外模式的某些描述可以與概念

模式不同

8.下列哪一種方法不用于實(shí)現(xiàn)訪問控制?

A.存取控制表B.存取控制矩陣C.E1令D.保護(hù)鍵

9.以下關(guān)于數(shù)據(jù)的邏輯結(jié)構(gòu)的敘述中,哪一條是不正確的?

A.數(shù)據(jù)的邏輯結(jié)構(gòu)是數(shù)據(jù)間關(guān)系的描述

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

C.數(shù)據(jù)的邏輯結(jié)構(gòu)具體地反映數(shù)據(jù)在計(jì)算機(jī)中的存儲方式

D.數(shù)據(jù)的邏輯結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)

10.有關(guān)系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#)o其中S#為

學(xué)生號,SNAME為學(xué)生姓名,SEX為性別,C#為課程號,CNAME為課程

名。要查詢選修"計(jì)算機(jī)”課的全體女學(xué)生姓名的SQL語句是“SELECT

SNAMEFROMS,C,SCWHERE"子句。這里WHERE子句的內(nèi)容是

A.SS#=SCS#ANDSEX=^,ANDCNAME=5+算機(jī)'

B.SS#=SCS#ANDCC#=SCC#ANDCNAME=,計(jì)算機(jī)'

C.SEX=,女,ANDCNAME=,計(jì)算機(jī),

D.SS#=SCS#ANDCC#=SCC#ANDSEX=,女'ANDCNAME=,

計(jì)算機(jī)’

二、填空題(10題)

H.DBMS對數(shù)據(jù)庫進(jìn)行封鎖時(shí)采用的兩種基本鎖類型是排它鎖(X)和

12.數(shù)據(jù)庫恢復(fù)通?;跀?shù)據(jù)備份和o

13.UNIX內(nèi)核部分包括文件子系統(tǒng)和控制子系統(tǒng)。

14.計(jì)算機(jī)系統(tǒng)安全包括三個(gè)方面:秘密性、完備性和<

15.分布式數(shù)據(jù)庫中定義數(shù)據(jù)分片時(shí),必須滿足3個(gè)條件:完備性條件、

重構(gòu)條件和【】。

16.在口數(shù)據(jù)報(bào)分片后,通常用負(fù)責(zé)數(shù)據(jù)報(bào)的重組。

17.空閑塊表方式特別適合于文件物理結(jié)構(gòu)為」]_的文件系統(tǒng)

18.一旦CA驗(yàn)證了實(shí)體的身份,就產(chǎn)生一個(gè)證書,將這個(gè)公共密鑰和身

份進(jìn)行綁定。

證書中包括公共密鑰和密鑰所有者的全球惟一的。

19.散列表存儲的基本思想是:由結(jié)點(diǎn)的決定結(jié)點(diǎn)的存儲地址。

20.設(shè)K為R中的屬性或?qū)傩越M合,若K-U,則K為R的【】。

三、單選題(10題)

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

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

22影響優(yōu)化器的主要因素有:

A.由于現(xiàn)有索引不足,導(dǎo)致排序索引中不包括一個(gè)或幾個(gè)待排序的列。

B.Groupby和orderby子句中列的次序與索引次序一致。排列的列來自

不同的表。

C.建立的索引文件太多。

D.事務(wù)處理太多

23.如果兩個(gè)實(shí)體之間的聯(lián)系是M:N,則在轉(zhuǎn)換成關(guān)系模型時(shí),()引入

第三個(gè)交叉關(guān)系。

A.需要B.不需要C.無所謂D.將兩個(gè)實(shí)體合并

24.FoxProDOS是()

A.DOS下的數(shù)據(jù)庫B.DOS支持下的數(shù)據(jù)庫管理系統(tǒng)C.為DOS做的

FoxProD.DOS下的文字處理系統(tǒng)

25.SQLServer數(shù)據(jù)庫是由文件組成的。下列關(guān)于數(shù)據(jù)庫所包含的文件的

說法中,正確的是__________O

A.一個(gè)數(shù)據(jù)庫可包含多個(gè)主要數(shù)據(jù)文件和多個(gè)日志文件

B.一個(gè)數(shù)據(jù)庫只能包含一個(gè)主要數(shù)據(jù)文件和一個(gè)日志文件

C.一個(gè)數(shù)據(jù)庫可包含多個(gè)次要數(shù)據(jù)文件,但只能包含一個(gè)日志文件

D.一個(gè)數(shù)據(jù)庫可包含多個(gè)次要數(shù)據(jù)文件和多個(gè)日志文件

26.“把查詢sc表和更新sc表的grade列的權(quán)限受予用戶userl”的正確

SQL語句是()。

A.GRANTSELECT,UPDATE(grade)ONTABLEscTOuserl

B.GRANTSELECTsc,UPDATEsc,gradeTOuserl

C.GRANTSELECT,UPDATEONTABLEsC.gradeTOuserl

D.GRANTSELECTONTABLEsc,UPDATEONTABLEsc(grade)TO

userl

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

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

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

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

模式

29.若讓元素1,2,3依次進(jìn)棧,則出棧次序不可能出現(xiàn)哪一種情況?

A.3,2,1B.2,1,3C,3,1,2D,1,3,2

30.能夠?qū)owerDesigner中所有模型信息只讀訪問的模塊是()。

A.A.ProcessAnalyst

B.DataArchitect

C.Viewer

D.WarehouseArchitecture

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

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

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

Out.dat文件中。

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

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

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

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

1i■include<stdio.h>

2;?defineMAX200

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

4;voidwriteDat();

5!voidjsValO

6;(

7!

81)

j/*readDAt()從數(shù)京文件in.dM中法取200個(gè)四位數(shù)存入數(shù)姐?中?/

9JvoidreadDat()

10j(

11;inti;

12!FILE-fp;

13ifp-fopen(Rin.dat","r");

14;for(i?0;i<MAX;i*+)

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

16ifclose(fp);

175)

18jvoidmain。

19J(

20,int1;

21!readDat();

22jsValO;〃調(diào)用j5Vm曲數(shù),實(shí)現(xiàn)眩目■求的功能

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

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

25;printf(0%d3b(il);

26!printf;

27jwriteDat();

28;\

?,?嗑敏writcDutO無結(jié)果cm以及數(shù)組b中符合條件的四口散?出到outdat文科中?/

29;voidwriteDat()

30;(

31!FILErp;

32;inti;

33jfp-fopen(-out.dat",Ww");

34?fprintf(fp#ent);

35;for(1=0;i<ent;i+4)

36,fprintf(fp,b[11);

37ifclose(fp);

38

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

注廢:部分源程序存在lestx文件中.

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

請勿改動(dòng)數(shù)據(jù)文件m.dat中的任何數(shù)據(jù)、主函數(shù)mainO、讀函數(shù)rcadDatO和寫函數(shù)writuDaK)的內(nèi)亂

?

1.1include<stdio.h>

2|IdefineMAX200

3jintaIMAX】.ent-0;

4;voidjsValO

5!|

6?

7!)

8!voidreadDat()〃從xn?dat文件中讀取200個(gè)四位數(shù)存入1H0a,中

92(

10?int1;

11?FILE*fp;

12;fp?fopen("In.dat*"#

13*for(1?0;i<MAX;

14;fscanf(tpr6a(1]);

15-fclose(fp);

16;十

17;writeDat()〃星計(jì)算站累cat以及4Hnb中符合條件的岡付數(shù)?出到ouufaa文件中

18j(

19?FILEefD;-

voidmain()

28

29mt1:

30readDat();

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

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

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

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

35printf(H\nM);

36writeDat();

37!)

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

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

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

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

出到文件Out.dat中。

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

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

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

位置上。

例如位置012345678

源字符串a(chǎn)bcdhgfe

123498765

則處理后字符串hgfcdcba

876594321

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

請勿改動(dòng)敷據(jù)文件in.dat中的任柯數(shù)據(jù)、主函數(shù)main()、讀函數(shù)gWEM)和號的數(shù)*FteDaU)的內(nèi)容.

1?flnclude<stdio.h>

2jfinclude<string.h>

3;charxx120)(801;

4;voidreadDat();

5!voidwriteDat();

6?voidjsSort()

7八

8!

9!)

10!voidmain()

皿!<

12ireadDat();

13:jsSortO;

14;writeDat("

15;>

i”從文件uuta中讀取20竹家犯存放到字箝率酸組?中?/

16;voidreadDat()

18?FILE*in;

19-inti?0;

20!char*p;

wn

21;in?fopen(in.date”L);

22?whiled<20“fgetsfxxfi],80,in)!-NULL)

23?(

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

25jif(p)*p?0;

26;…;

27j)

28:fclose(in);

29;)

;/?紀(jì)貼果XX*出到文件OUUta中?/

30?voidwriteDat<)

31;{

32jFILE*out;

33;Int1;

34|out-fopen(*out.dat",;

35!for(i-0;1<20;i?甘

36i1

37-printfCtaNn",xx[i]);

38jfprintf(out,”八小.xx[iJ);

39;)

40;fclose(out);

41i}

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

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

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

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

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

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

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

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

題。

例如:sell[i]=temp;

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

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

14include<stdio.h>

2Iinclude<?trlng.h>

3?IncludeOtdlib.h>

4fdefineMAX100

5typed?fstruct

6(

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

8charnc(lll:/?MW?/

9intdj;/??餅?/

10intsi;/?■■?/

11longje;/????/

12)PRO;

13PRO8011【MAX);

14voidReadDat();

15voidWritet>at();

16voidSortDat()

17

16

19

20voidmain()

21<

22momoot(selli0.stzeof:

23ReadDat();

24SortDat();

25WriteDatO;

26)

21voidReadDat()

28I

29FILEefp;

30charatr(80),ch(ll);

31Int1;

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

33for(i?0;1<100;

34(

35fgetBtstXr80,fp);

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

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

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

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

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

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

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

43)

44fclose(fp);

45}

46voidWrlteOat()

47<

48FILEefp;

49inti;

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

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

52

w

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

sttllll)?je);

54;

55!fclose(fp);

56h

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

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

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

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

注意:施分源程序存在tesLc文件中.

請勿改動(dòng)數(shù)據(jù)文件中的任何數(shù)據(jù)以及L函數(shù)main。和輸出函數(shù)rcadwritcDAT。的內(nèi)容.

1?include<stdio.h>〃inciuaig句說明各慳序中包含2.0中的標(biāo)準(zhǔn)■人■出理術(shù)數(shù)Mdio.h

2;voidreadwriteDAT();/7曲敷re?d>*nieDAT0ift明請句

3;intis?(intm)數(shù)m邦新m是否為素?cái)?shù),如果是K數(shù)則返回i,否則返回o

4(

5;lot1;〃定義變量1

6for(i-2;i<m;〃殳■i從2依次域增到施■1

7;if(m%1?0)return0;〃如果m快被iQ除,返回o

8\return1;〃杏財(cái)也回1

9)

10;voidnum(intm,intk.intxx(])

11;

12!

13;

14?main()

15I(

16?intm,n,xx(1000);〃定義變量m,nxxtlOOO]

171printf(,AnPleaseentertwointegers:0);

18\

scanf(-%dr%d-r&m,&n);〃從讀入四個(gè)敗代妗受侵m,n

19?num(mrn,xx);〃■網(wǎng)域熟muntintmmtk.mf?4D實(shí)現(xiàn)將大于Wtm且*Xm的k個(gè)Mt”入敷ft1*x

20ifor(m-0;m<n;m++)〃變量0從。依次增增到n-1

21?printf("%d”,xx(m]);〃?出數(shù)蛆元腐

22:printf("\nw);〃?出一個(gè)回車換行將

23?readwriteDATO;//■用曲ftZwritcDATOie結(jié)果?出到om.dai文件中

24;)

25\voidreadwriteDATO//也數(shù)r“dwrtteMT(i的定義密句

26j<

27\

intm.ntxx(1000),i;〃定義MP變■s.n,t卬數(shù)組xxIlOCiO】

28;FILETfr*wf;〃定義文件指計(jì)安■4,wf

29jrf-fopen(-in.daf,"");〃以只&的方式的打開文件in.Mt,并用rf摘向這個(gè)文件

30iwf-fopen<wout.daf,、”);〃以只寫的方式的打開文件。ut.daj并網(wǎng)wf幅向這個(gè)文件

31\ford-0;i<10;1**)〃餐耳變量L從。依次蜂端到9

32!(

33|fscanf(rf,w%d%dR,&m,&n);〃從文件in由讀入唐個(gè)數(shù)值味冷m.n

;

34nure(mrnrxx);〃■用■數(shù)射0tnum(fn?k.xx(])實(shí)現(xiàn)將大于■敢mH竄Bm的k個(gè)拿數(shù)存入敏蛆u

35;for(m-0;m<n;m*+)〃循環(huán)殳■金從。依次埸地到n-1

36!fprintf(wf"%d。xx[m]);〃把故相元*xxlm]寫入到文忖ouc.dat中

37;fprintf(wf,w\nw);〃紀(jì)回+鐵行舒寫入到文件SR.AH:中

38\)

39!fclose(rf);〃美團(tuán)?入文件in.dat

40?fclose(wf);//關(guān)冊■出文件cut.da匕

41\

36.函數(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ù),則最中間的字符不參加處理,字符仍放在原位置上。

例fch位置012345678

源字符率dcbahgfe

432198765

則處理后字符中hgfcabcd

876591234

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

請”改動(dòng)數(shù)據(jù)文件id&l中的任何數(shù)據(jù)、主的數(shù)皿0、讀訥數(shù)readDatO和寫函數(shù)wriSDatO的內(nèi)容.

1;Iinclude<stdio.h>

2tinclude<string.h>

?voidreadDat();

4;voidwriteDat();

5!charxx[20][801;

;voidjsSortO

void

readDat();

jsSort();

writeDat();

八從文件in.da*申斌取20打數(shù)痣存放=字符中散盥xx中

voidreadDat()

FILEein;

19jint1-0;

20!char*p;

www

21]in-fopen(in.datr*r);

22?while(i<20“fgets(xx[1NUIX)

23\

24;?dtrchr(xx[i),,\n?)

25jf<p>>p■0;

26:

28close(in);

29

/?紀(jì)姑果xx?出現(xiàn)文件outdar中?/

30voidwriteDat()

*E*out;

33iint

wH

34;out-fopen(out.datt,,

35!for(i-0;i<20;1?,)

36\

37?I

38;

39i1

40jfclose(out);

〃!

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

中。

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

程序中已定義數(shù)組IA[200].b(200b已定義安盤ient

請勿改動(dòng)數(shù)據(jù)文件in.dai中的任何數(shù)據(jù)、主函數(shù)main。、讀的數(shù)rcadDat。和寫南數(shù)writeDaif)的內(nèi)容,

1jfinclude<stdio.h>

2-IdefineMAX200〃定義宏受■MAX,X僮等于200

3?inta(MAX)fb(MAX),ent-0;〃定義整型散煙a【MAX),b【MAX】和支?ent,陽Hitcm的初值為4

4;voidwriteDat();

5!voidjsVal()

6-I{

10

ILE#fp;

p-fopen(**in.dat"/"r

14or(i-0;1<MAX:

1sfscanf(fp,"W",ia[i|

16close(fp);

17

18

19

21readDat();

22jsVal();〃?用jsVal力函數(shù)實(shí)觀裳掌的功能

23prtntf<?清足條件的數(shù)Td'RLent);

24for(i■0;

voidwriteDat()

E?fp;

fopen(wout.datR,"

fprintf(£p^H%d\nw,b(l

fclose(tp);

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

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

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

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

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

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

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

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

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

1;Iinclude<stdio.h>

2iIdefineMAXNUM200

3!intxxIMAXNUMl;

4jinttotNuin'0;〃文件In.dat中共利多少個(gè)正?數(shù)

5?inttotCnt?0;〃料合條村的正整敷的個(gè)故

6jdoubletotPjz"0.0;//平均值

7jintReadDat(void);

8!voidWriteDat(void);

9jvoidCalValue(void)

10;(

11i

12;I

13-voidmain()

14;|

15!int1;

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

17!xx[i]■0;

18?if(ReadDat())

19j(

20\printf「數(shù)據(jù)文件fn.dat不能打開!\0。八

21?return;

22j)

23!CalValue();

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

25?printf(”符合條件的正整數(shù)的個(gè)數(shù)=totCnt);

26?printf(”平均值T.21f\n”,totPjz);

27\WriteDat();

281)

i/?讀取這并F個(gè)正整數(shù)并存入觸UIxx中?/

29;intReadDat(void)

30!(

31;FILE*fp;

32;inti-0;

33!if((fp?fopenCin.datM,"r">>--NULL)

34?return1;

35?while(!feof(fp))

36?(

37Jfscanf(fp?"Qd."■

38i!)

39jfclose(fp);

40;return0;

41>)

\/?IC計(jì)IT結(jié)聚存入文件out.dm中?/

421voidWriteDat(void)

43\

44!FILE*fp;

wHH;

45I!fp■fopen("out.dat,w)

R

46;fprintf(fp,%d\n%d\n%.21f\totNutn?totCntttotPjz)

5|fclose(fp);

48:

39.程序test.c的功能是:計(jì)算出自然數(shù)SIX和NINE滿足條件

SIX+SIX+SIX=NINE+NINE的個(gè)數(shù)ent,以及滿足此條件的所有SIX與

NINE的和SUMO請編寫函數(shù)countValue實(shí)現(xiàn)程序的要求,最后main

函數(shù)調(diào)用函數(shù)writeDAT把結(jié)果ent和sum,輸出到文件Out.dat中。

其中的S,I,X,N,E各代表一個(gè)十進(jìn)制數(shù)字,允許代表的數(shù)字相同,

但s和N不能為0。例如:944+944+944=1416+1416注意:部分源程序

存放在test.c文件中。

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

Iinclude<stdio.h>

intent,sum;

voidwriteDAT();

voidcountvalue()

voidmain()

(

ent-sum*0;

countvalue();

12printf「滿足條件的個(gè)數(shù)”d\n".ent);

13printf("滿足條件所有的SIX與NINE的和Td\n”,sum);

14writeDATO;

15I

把怯果cm和win■出*文件outdii中?/

16voidwriteDAT()

17

18FILE-fp;

19fp?fopen(wout?datw,"ww);〃以只寫的方式打開文件out.dau

20fprintf(fp,,?id\n%d\nw,ent,sum);〃把精果cm用sum?出到文件川㈤中

21fclose(fp);〃關(guān)閉文件out&i

22

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

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

程序中已定義數(shù)組:M200].b(200],巳定義變lbent

請卦改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、上點(diǎn)數(shù)mam(h讀的數(shù)readDatO和寫函數(shù)writeDatO的內(nèi)容?

1;*include<stdlo.h>

2\IdefineMAX200

3jinta(MAX],“MAX],ent-0;

?

4;voidwriteDat();

5jvoidjsVal()

8!J

9;voidreadDat()〃從in.dat文件“以取200個(gè)四位假存入數(shù)組a中

10;(

11?int1;

12;FILETp;

RwR

13?fp■fopen(in.datrr*);

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

15;fscant(fp,”d",sail”;

16!fclose(fp);

17i)

18;voidmain()

readDat();

isVal();〃0用南斂swa1八,也現(xiàn)■目要哀的功疑

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

24for(i-0;1<ent;

25printf(w%db(i]);

26printf(w\n**);

27writeDat();

28)

29voidwriteDat()〃把計(jì)算站票h以及敬Iflb中行合條件的網(wǎng)位依■出巽wdu文件中

30(

31FILEwfp;

32int1;

MW

33fp-fopen("out.datrw**>;

34fprintf(fp/ent);

35for(i-0;1<ent;

36fprintf(fp,b[i]);

37fclose(fp);

36

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

說明理由。(10分)

42.設(shè)有某商業(yè)單位需要建立商務(wù)數(shù)據(jù)庫用以處理銷售記賬,它記錄的數(shù)

據(jù)包括:顧客姓名,所在單位及電話號碼;商品名稱,型號,產(chǎn)地及單

價(jià);某顧客購買某商品的數(shù)量及日期。假定無同名顧客,無同型號商品,

由話公用靦客可存不同日期買同一商品。(1)請畫出該單位的商務(wù)ER

圖模型并優(yōu)化。(6分)(2)將ER模型換成關(guān)系模型并規(guī)范化到3NF。

(4分)

六、單選題[1分K2題)

43.下列有關(guān)數(shù)據(jù)庫系統(tǒng)及相關(guān)內(nèi)容的說法中,錯(cuò)誤的是()。

A.數(shù)據(jù)庫系統(tǒng)是由計(jì)算機(jī)軟硬件組成的復(fù)雜系統(tǒng),其體系結(jié)構(gòu)與系統(tǒng)硬

件平臺密切相關(guān)。

B.數(shù)據(jù)庫管理系統(tǒng)提供了查詢、插入、刪除、更新等通用數(shù)據(jù)操作,但

沒有提供各種面向具體應(yīng)用領(lǐng)域的業(yè)務(wù)處理。

C.數(shù)據(jù)庫中的數(shù)據(jù)是按照一定的數(shù)據(jù)模型組織和存儲的、可供多個(gè)用戶

共享的、具有最小冗余度的相關(guān)數(shù)據(jù)集合。

D.數(shù)據(jù)字典記錄數(shù)據(jù)庫系統(tǒng)運(yùn)行時(shí)數(shù)據(jù)庫操作情況的日志信息,通常由

數(shù)據(jù)庫管理員管理和維護(hù)。

44.在某信息管理系統(tǒng)中需管理職工的照片信息,由于照片數(shù)據(jù)量較大,

照片信息是否存儲在數(shù)據(jù)庫中成為討論的焦點(diǎn)問題。下列關(guān)于照片存儲

與使用的說法,錯(cuò)誤的是()o

A.將照片存儲在數(shù)據(jù)庫中可能會(huì)導(dǎo)致備份時(shí)間較長,備份空間占用較多

B.將照片存儲在文件系統(tǒng)中,在數(shù)據(jù)庫中只存儲照片文件的路徑信息,

可以大幅度降低數(shù)據(jù)庫的數(shù)據(jù)量

C.將照片存儲在數(shù)據(jù)庫中雖然會(huì)導(dǎo)致數(shù)據(jù)庫的數(shù)據(jù)量較大,但可以方便

地實(shí)現(xiàn)多臺機(jī)器共享照片數(shù)據(jù),也可以大幅度提高用戶訪問照片數(shù)據(jù)的

速度

D.與將照片存儲在文件系統(tǒng)中相比,將照片存儲在數(shù)據(jù)庫中更容易實(shí)現(xiàn)

人員信息和照片數(shù)據(jù)的一致性

參考答案

LD解析:關(guān)系中的某個(gè)屬性不是該關(guān)系的主碼或只是主碼的一部分,

但卻是另一個(gè)關(guān)系的主碼時(shí),稱該屬性為外碼。參照關(guān)系也稱從關(guān)系,

被參照關(guān)系也稱主關(guān)系,他們是指以外碼相關(guān)聯(lián)的兩個(gè)關(guān)系。注意:由

于SC.C#是外碼,而C的主碼為C#,所以S和C都是SC的參照關(guān)系,

故D)不正確。掌握參照完整性規(guī)則,實(shí)體完整性規(guī)則。

2.B解析:投影操作是對表中屬性(列)的操作。

3.C解析:中斷源一般可分為兩類:強(qiáng)迫性中斷和自愿性中斷。強(qiáng)迫性

中斷包括輸入/輸出中斷、硬件故障中斷、時(shí)鐘中斷、控制臺中斷和程序

性中斷。A和D屬于其中的輸入/輸出中斷;B屬于硬件故障中斷。時(shí)

間片到時(shí)屬于自愿性中斷。

4.A解析:進(jìn)程調(diào)度中使用優(yōu)先級調(diào)度法時(shí)又可把算法分為兩種方式:

可剝奪方式和不可剝奪方式。使用可剝奪方式時(shí),系統(tǒng)把處理機(jī)分配給

優(yōu)先級最高的進(jìn)程。一旦系統(tǒng)中出現(xiàn)了另一個(gè)優(yōu)先級更高的進(jìn)程,調(diào)度

程序?qū)⑼V拐谶\(yùn)行的進(jìn)程,把處理機(jī)CPU分配給新出現(xiàn)的優(yōu)先級更

高的進(jìn)程。

5.C解析:本題考查操作系統(tǒng)安全方法中的隔離。選項(xiàng)A物理隔離是使

不同安全要求的進(jìn)程使用不同的物理實(shí)體;選項(xiàng)B時(shí)間隔離是使不同的

進(jìn)程在不同的時(shí)間運(yùn)行:選項(xiàng)D密碼隔離是指進(jìn)程以其他進(jìn)程不了解

的方式隱藏?cái)?shù)據(jù)和計(jì)算。以上三項(xiàng)都屬于隔離措施,而選項(xiàng)C分層隔離

是實(shí)現(xiàn)操作系統(tǒng)安全的另一種方法,是從分層方面考慮的,不是隔離措

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

6.B解析:快速排序、起泡排序、簡單選擇排序的最壞排序時(shí)間是0(哨,

故A),C),D)選項(xiàng)正確;堆排序最壞排序時(shí)間是O(nlog2n),故B)選項(xiàng)

錯(cuò)

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

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

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

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

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

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

8.D解析:訪問控制服務(wù)是用于控制與限定網(wǎng)絡(luò)用戶對主機(jī)、應(yīng)用、數(shù)

據(jù)和網(wǎng)絡(luò)服務(wù)的訪問權(quán)限。常用的訪問控制服務(wù)是通過對用戶的身份確

認(rèn)與訪問權(quán)限設(shè)置來確定用戶身份,以及主機(jī)、應(yīng)用、數(shù)據(jù)或服務(wù)訪問

類型的合法性。更高安全級別的訪問控制,可以通過用戶口令的加密存

儲與傳輸、以及使用一次性口令、智能卡、個(gè)人特殊性標(biāo)志等方法提高

身份認(rèn)證的可靠性。對照本題的4個(gè)選項(xiàng)可知,正確答案為D(保護(hù)鍵)。

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

素間的邏輯關(guān)系而不管其在計(jì)算機(jī)中的存儲方式,數(shù)據(jù)的邏輯結(jié)構(gòu)分為

線性結(jié)構(gòu)和非線性結(jié)構(gòu)。從上面的敘述可知選項(xiàng)C所述內(nèi)容與數(shù)據(jù)的邏

輯結(jié)構(gòu)特性不符。

10.D解析:要查詢選修,計(jì)算機(jī),課的全體女學(xué)生姓名,要涉及到3個(gè)表,所

以首先要確定這3個(gè)表的連接條件:S.S#=SC.S#ANDC.C#=SC.C#,然后

再寫出SEX=,女,ANDCNAME㈢計(jì)算機(jī),。

11.共享鎖或S鎖共享鎖或S鎖解析:給數(shù)據(jù)項(xiàng)加鎖的方式有多種。最

基本的兩種是:

①共享鎖如果事務(wù)T獲得了數(shù)據(jù)項(xiàng)Q上的共享型鎖(記為S),則T可讀

Q但不能寫Q。

②排他鎖如果事務(wù)T獲得了數(shù)據(jù)項(xiàng)Q上的排他型鎖(記為X),則T既可

讀Q又可寫Q。

12.日志日志

13.進(jìn)程【解析】UNIX的系統(tǒng)結(jié)構(gòu)可分為兩大部分,一部分是操作系

統(tǒng)的內(nèi)核,另一部分是系統(tǒng)的外殼。內(nèi)核部分由文件子系統(tǒng)和進(jìn)程控制

子系統(tǒng)組成;外殼由Shell解釋程序、支持程序設(shè)計(jì)的各種語言、編譯

程序和解釋程序、實(shí)用程序和系統(tǒng)調(diào)用接口等組成。

14.可用性可用性解析:計(jì)算機(jī)系統(tǒng)安全有以下三個(gè)方面:秘密性、完

備性和可用性。秘密性是指系統(tǒng)資源只允許授權(quán)的用戶進(jìn)行操作;完備

性是指系統(tǒng)資源只允許合法的用戶進(jìn)行修改;可用性是指合法的用戶可

以隨時(shí)使用全部系統(tǒng)資源。

15.不相交條件不相交條件解析:分布式數(shù)據(jù)庫中的數(shù)據(jù)分片是通過關(guān)

系代數(shù)的基本運(yùn)算實(shí)現(xiàn)的,數(shù)據(jù)分片的主要方法有3種:水平分片、垂

直分片和混合型分片。在定義各種分片時(shí)必須遵守3個(gè)條件,即完備性

條件、重構(gòu)條件和不相交條件。

16.目的主機(jī)【解析】在接收到所有分片的基礎(chǔ)上,主機(jī)對分片進(jìn)行重

新組裝的過程稱為IP數(shù)據(jù)報(bào)重組。IP協(xié)議規(guī)定,只有最終的目的主機(jī)

才可以對分片進(jìn)行重組。

17.順序結(jié)構(gòu)文件系統(tǒng)建立一張空閑塊表,該表記錄了全部空閑的物理模

塊,適合于文件物理結(jié)構(gòu)為順序結(jié)構(gòu)的文件系統(tǒng)

18.標(biāo)識信息【解析】一旦CA驗(yàn)證了實(shí)體的身份,就產(chǎn)生一個(gè)證書,

將這個(gè)公共密鑰和身份進(jìn)行綁定。證書中包括公共密鑰和密鑰所有者的

全球惟一的標(biāo)識信息。這個(gè)證書由認(rèn)證中心進(jìn)行數(shù)字簽名。

19.關(guān)鍵碼值關(guān)鍵碼值

20.候選碼候選碼

21.C

22.A

23.A

24.B

25.D

26.A解析SQL語言用GRANT語句向用戶授予數(shù)據(jù)訪問權(quán)限,GRANT

語句的一般格式為:

GRANT<權(quán)限>[,<權(quán)限>]…

[ON<對象類型><對象名>兒〈對象名〉]...

TO〈用戶>[,(用戶>]…

[WITHGRANTOPTION]

所以正確的是選項(xiàng)A)。

27.B

28.A

29.C解析:棧是限制僅在表的一端進(jìn)行插入和刪除運(yùn)算的線性表,通常

稱插入、刪除的這一端為棧頂(Top),另一端稱為棧底(Bottom)。當(dāng)表中

沒有元素時(shí)稱為空棧。

根據(jù)上述定義,每次刪除(退棧)的總是當(dāng)前棧中“最新”的元素,即最后

插入(進(jìn)棧)的元素,而最先插入的是被放在棧的底部,要到最后才能刪

除。根據(jù)上述原理,C)3,1,2,既然先出棧的是3,說明1,2已經(jīng)進(jìn)棧,

那么1不可能在2之前出棧。

30.B

【答案】B

【解析】DataArchitect是可以對PowerDesigner中所有模型信息進(jìn)行

訪問的只讀模塊。

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

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

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

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

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

\n【參考答案】

\n

\n

32.\n【審題關(guān)鍵句】個(gè)位+千位與百位+十位,偶數(shù),整除,從大到小排

序。

\n【解題思路】

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

件有所不同,體現(xiàn)在兩個(gè)方面:①分解后重新組合成兩位數(shù)的方式不同,

參考答案的第8、9條語句重新指定兩位數(shù)的組合方式:②新組合的兩

位數(shù)的偶數(shù)的判斷及整除判斷,參考答案的第10條語句。注意,兩個(gè)

整除關(guān)系表達(dá)式要用或運(yùn)算符(II)連接,且用括號括起來先進(jìn)行整除運(yùn)算

(因?yàn)榛蜻\(yùn)算級別比與運(yùn)算級別低,因此要括起來),再與奇偶性判斷表

達(dá)式進(jìn)行與()運(yùn)算。

W【參考答案】

\n

\n

\n

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

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

符不參加處理。

\n【解題思路】

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

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

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

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

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

中,循環(huán)變量J從。開始,依次遞過來增直到其值等于(P-1),在第三層

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

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

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

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

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

函數(shù)strcpy,把從字符串xx[i]+P+l開始直到字符串xx[i]的結(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開始直到

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

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

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

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

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

W【參考答案】

\n

\n

34.\n【審題關(guān)鍵句】計(jì)算金額,按金額從小到大進(jìn)行排列,相同的則按

產(chǎn)品代碼從小到大排列,結(jié)果存入結(jié)構(gòu)數(shù)組。

\n【解題思路】

\n本題類似第57套試題,通過審題可以發(fā)現(xiàn)主要是排序條件的設(shè)置要

求有所不同,參考答案的第8行進(jìn)行修改即可。

\n【參考答案】

\n

\n

35.【審題關(guān)鍵句】將大于整數(shù)m且緊靠m的k個(gè)素?cái)?shù)存入數(shù)組。

\n【解題思路】

W①首先定義一個(gè)計(jì)數(shù)變量ent并賦初值為0o

W②利用while循環(huán)統(tǒng)計(jì)大于整數(shù)m且緊靠m的k個(gè)素?cái)?shù),當(dāng)計(jì)數(shù)變量

ent的值與變量k的值相等的時(shí)候,則退出while循環(huán)。每執(zhí)行一次循環(huán)

時(shí),變量m的值加1,然后調(diào)用函數(shù)isP判斷當(dāng)前的m值是否為素?cái)?shù),

如果是素?cái)?shù),貝U將m的值賦給數(shù)組xx[cnt],同時(shí)計(jì)算變量ent的值加

1,即當(dāng)數(shù)組xx[O]中保存了一個(gè)素?cái)?shù)之后,在T一次素?cái)?shù)判斷成立時(shí)將

保存到XX[1]的位置上,依次類推。

W【參考答案】

\n

\n

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

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

符不參加處理。

\n【解題思路】

\n本題類似第77套試題,通過審題可以發(fā)現(xiàn)主要是對字符串左邊部分

排序時(shí)所采用的排序方式不同,參考答案的第11行,修改if條件語句

的設(shè)置即可。

W【參考答案】

\n

\n

37.\n【審題

溫馨提示

  • 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)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論