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

下載本文檔

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

文檔簡(jiǎn)介

2021年江蘇省鎮(zhèn)江市全國計(jì)算機(jī)等級(jí)考試

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

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

一、1.選擇題(10題)

1.下列有關(guān)分區(qū)存儲(chǔ)管理的敘述中,不正確的是()。

A.分區(qū)存儲(chǔ)管理能充分利用內(nèi)存

B.分區(qū)存儲(chǔ)管理有固定分區(qū)存儲(chǔ)管理和可變分區(qū)存儲(chǔ)管理

C.固定分區(qū)會(huì)浪費(fèi)存儲(chǔ)空間

D.分區(qū)存儲(chǔ)管理不能實(shí)現(xiàn)對(duì)內(nèi)存的擴(kuò)充

2.主存和CPU之間增加高速緩存的目的是()。

A.解決CPU和主存之間的速度匹配問題B.擴(kuò)大主存容量C.既擴(kuò)大主

存容量,又提高存取速度D.以上說法都不對(duì)

3.在一個(gè)長(zhǎng)度為n的順序表的表尾插入一個(gè)新元素的漸進(jìn)時(shí)間復(fù)雜度

2

A.O(n)B.O(l)C.O(n)D.O(log2n)

4.關(guān)系數(shù)據(jù)庫中,實(shí)現(xiàn)主碼標(biāo)識(shí)元組的作用是通過

A.實(shí)體完整性規(guī)則B.參照完整性規(guī)則C.用戶自定義的完整性D.屬性

的值域

5.數(shù)據(jù)庫系統(tǒng)的核心是_。()

A.編譯系統(tǒng)B.數(shù)據(jù)庫C.操作系統(tǒng)D.數(shù)據(jù)庫管理系統(tǒng)

6.利用二分法查找序列的前提條件是

A.序列不能過大B.要查找的數(shù)必須在序列中存在C.序列必須按順序

排好D.序列的個(gè)數(shù)必須為奇數(shù)個(gè)

7.下面所列的條目中:I.語法檢查II.語義檢查III.用戶存取權(quán)

限檢查IV.數(shù)據(jù)完整性檢查當(dāng)用戶發(fā)出查詢數(shù)據(jù)庫數(shù)據(jù)的命令時(shí),數(shù)

據(jù)庫管理系統(tǒng)需要進(jìn)行的檢查是_____0

A.I和nB.I、n和inC.II和inD.全部

8.若A-B為F所邏輯蘊(yùn)涵,且CU,則AC-BC為F所邏輯蘊(yùn)涵,這

是函數(shù)依賴的()推理規(guī)則。

A.分配律B.自反律C.傳遞律D.增廣律

9.關(guān)于分布式數(shù)據(jù)庫系統(tǒng),不正確的是

A.分布式系統(tǒng)的存儲(chǔ)結(jié)構(gòu)要比非分布式系統(tǒng)復(fù)雜

B.分布式系統(tǒng)用戶的操作與非分布式系統(tǒng)沒有什么不同

C.數(shù)據(jù)操作在邏輯上沒有變化

D.分布式系統(tǒng)的所有問題都是用戶級(jí)別的

10.在數(shù)據(jù)庫中可以創(chuàng)建和刪除表、視圖、索引,可以修改表。這是因

為數(shù)據(jù)庫管理系統(tǒng)提供了O

A.數(shù)據(jù)定義功能B.數(shù)據(jù)操縱功能C.數(shù)據(jù)維護(hù)功能D.數(shù)據(jù)控制功能

二、填空題(10題)

11.在順序表(4,7,9,12,13,14,18,19,22,29,50)中,用二分

法查找關(guān)鍵碼值11,所需的關(guān)鍵碼比較次數(shù)為O

12.Oracle數(shù)據(jù)庫系統(tǒng)中快速生成報(bào)表的工具是Oracle。

13.一般來說,商品化的數(shù)據(jù)庫管理系統(tǒng),如Oracle,其產(chǎn)品主要包括

數(shù)據(jù)庫服務(wù)器軟件、軟件和開發(fā)工具三類。

14.關(guān)系的數(shù)據(jù)操縱語言按照表達(dá)式查詢方式可分為兩大類【】和口

15.防火墻是指設(shè)置在不同網(wǎng)絡(luò)或之間的一系列部件的組

口O

16.計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域包括科學(xué)計(jì)算、事務(wù)處理、過程控制、輔助工程、

網(wǎng)絡(luò)應(yīng)用和多媒體的應(yīng)用等七大領(lǐng)域。

17.在“學(xué)生一選課一課程”數(shù)據(jù)庫中的三個(gè)關(guān)系如下:

S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,

CNAME,TEACHER)

現(xiàn)要查找選修“數(shù)據(jù)庫技術(shù)”這門課程且性別為“女”的學(xué)生姓名和成績(jī),

可使用如下的SQL語句:

SELECTSNAME,GRADEFROMS,SC,CWHERECNAME-數(shù)據(jù)庫

技術(shù),ANDS.S#=SC.S#ANDSEX=女AND【】。

18.多個(gè)事務(wù)在某個(gè)調(diào)度下的執(zhí)行是正確的,是能保證數(shù)據(jù)庫一致性的,

當(dāng)且僅當(dāng)該調(diào)度是______O

19.在混合式P2P網(wǎng)絡(luò)中,根據(jù)結(jié)點(diǎn)的能力可將結(jié)點(diǎn)分為用戶結(jié)點(diǎn)、搜

索結(jié)點(diǎn)和3種類型。

20.局域網(wǎng)所使用的傳輸介質(zhì)主要有雙絞線、光纖、無線

通信信道。

三、單選題(10題)

21.在需求分析階段中,業(yè)務(wù)流程的分析結(jié)果一般用()

A.E-R圖表示B.程序流程圖表示C.數(shù)據(jù)流圖表示D.數(shù)據(jù)結(jié)構(gòu)圖表示

22.在登錄日志文件時(shí),應(yīng)該

A.將更新數(shù)據(jù)庫與登錄文件兩個(gè)操作同時(shí)完成

B.將更新數(shù)據(jù)庫與登錄文件兩個(gè)操作按隨機(jī)的順序完成

C.先寫數(shù)據(jù)庫的更新,后登錄日志文件

D.先登錄日志文件,后寫數(shù)據(jù)庫的更新

23.設(shè)計(jì)與試運(yùn)行之后投入運(yùn)行,開始維護(hù)工作,過程中監(jiān)控、評(píng)價(jià)、調(diào)

整與修改以保證數(shù)據(jù)庫系統(tǒng)正常和高效地運(yùn)行。以下關(guān)于數(shù)據(jù)庫運(yùn)行維

護(hù)工作說法不正確的是()

A.數(shù)據(jù)庫轉(zhuǎn)儲(chǔ)與恢復(fù)

B.數(shù)據(jù)庫安全性、完整性控制

C.檢測(cè)并改善數(shù)據(jù)庫性能

D.數(shù)據(jù)庫的重組修改數(shù)據(jù)庫原有設(shè)計(jì)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)

24.關(guān)系數(shù)據(jù)模型有許多優(yōu)點(diǎn),但下面所列的條目中哪一條不是它的優(yōu)

點(diǎn)()。

A.A.結(jié)構(gòu)簡(jiǎn)單

B.高度非過程化

C.有標(biāo)準(zhǔn)語言

D.可表示復(fù)雜的語義

25.概念結(jié)構(gòu)設(shè)計(jì)的目標(biāo)是產(chǎn)生數(shù)據(jù)庫概念結(jié)構(gòu)(即概念模式),這結(jié)構(gòu)主

要反映()

A.DBA的管理信息需求B.應(yīng)用程序員的編程需求C.企業(yè)組織的信息

需求D.數(shù)據(jù)庫的維護(hù)需求

26.在建立表結(jié)構(gòu)時(shí)定義關(guān)系完整性規(guī)則()

A.使DBS能夠自動(dòng)維護(hù)數(shù)據(jù)完整性約束條件B.還需要編程實(shí)現(xiàn)數(shù)據(jù)完

整性約束條件C.沒有必要定義D.將使系統(tǒng)操作復(fù)雜

27.對(duì)于數(shù)據(jù)庫設(shè)計(jì)來說()是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的

主要成果。

A.數(shù)據(jù)流圖B.數(shù)據(jù)字典C.E-R圖D.關(guān)系模式

28.在計(jì)算機(jī)硬件系統(tǒng)的基本組成中,完成解釋指令、執(zhí)行指令的功能

部件是

A.運(yùn)算器B.控制器C.存儲(chǔ)器D.輸入輸出設(shè)備

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

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

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

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

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

能的原因是()

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

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

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

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

30.四個(gè)元素al、a2、a3和a4依次通過一個(gè)棧,入棧過程中允許棧頂元

素出棧。假設(shè)某一時(shí)刻棧的狀態(tài)如下:則不可能的出棧序列

是()

A.這種體系結(jié)構(gòu)由客戶、服務(wù)器以及客戶與服務(wù)器之間的連接三部分組

B.在這種結(jié)構(gòu)中,客戶機(jī)和服務(wù)器協(xié)同完成一項(xiàng)任務(wù)

C.連接客戶和服務(wù)器最廣泛采用的接口是開放數(shù)據(jù)庫連接

D.客戶進(jìn)程與服務(wù)器進(jìn)程之間的通信層次與OSI參考模型有根本不同

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

31.設(shè)有n個(gè)人圍坐一圈并按順時(shí)針方向從1到n編號(hào),從第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è)人的順序表。請(qǐng)考生編寫

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

件out.dat中。

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

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

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

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

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

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

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

Iinclude<stdio.h>

2*defineN100

IdefineS1

A?defineM10

Sintp[100)9n,3.m;

6voidWriteDat(void);

7voidJoseqh(void)

8

9

10j)

11voidmain0

12

13m?M;

14n?N;

15s?S;

16Josegh();

17WriteDat0;

18

,?把結(jié)果p?出則文件ouutei中〃

19voidWriteDat(void)

20

21int1;

22FILEefp;。

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

/?以境■的方式,以io個(gè)效■為一1ft把總館pc1■出刊屏幕制文件oui.w中?/

24for(i-N-1;i>-0;i-)

2S

26printf(R%4d-,p(i]);

27fprintf(fp,“,4dLp(l]);

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

29(

30print£("\n0);

w

31fprintf(fp#"\n);

32}

33)

34fclose(fp);

35

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

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

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

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

出到文件out.dat中。

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

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

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

例如,位置012345678

源字符中dcbahgfe

432198765

則處理后字符中hgfcabcd

876591234

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

請(qǐng)勿改動(dòng)數(shù)據(jù)文件uuhl中的任何數(shù)據(jù).主函數(shù)main。、讀論數(shù)rcadDat()和寫函數(shù)writeDmO的內(nèi)容.

1;*include<stdio.h>

2?include<strlng.h>

3voidreadDat();

4voidwriteDat();

5charxx[20][80];

6voidJaSort()

7

8

9

10voidmain()

11(

12readDat();

13jsSort();

14writeDatO;

15

八從文件m&t申金取20TJ數(shù)據(jù)存放式字符中數(shù)出XX中?/

16voidreadDatO

17(

18FILEein;

19int1-0;

20char*p;

wwHw

21in-fopen(in.datrr);

22whiled<20“fgets(xx[i),80,in)!■NULL)

23(

24p-strehr(xx(i),?\n*);

25if(p)?p-0;

26

27

28fclose(in);

29}

人更站果xx■想邪文件outdat中?/

30voidwriteDat()

31(

32FILEeout;

33int1;

34out-fopon("out.datw,Wwn);

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

36I

MN

37print!(t8\nfxx(i]);

38fprintf(out#7s\n",xx(1));

39)

40fclose(out):

41

33.函數(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,加上原來“2"的ASCH值01111010得到10000001結(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)容。

j?include<stdio.h>

!■include<atring.h>

;charxx(501(801;

!intmaxline-0;/?文章的曲行數(shù)*/

5;intReadDat(void>;

6?voidWriteDat(void);

ivoidStrCharJR(void)

8

9

io;l

iivoidmain()

12

if(ReadDat())

(

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

return;

I

StrCharJRO;

WriteDat();

)

/?從文鐘in<hi中讀取篇英文文章存入到字符申數(shù)鈕“中?/

intReadDat(void)

I

FILE?fp;

inti?0;

charep;

0Hw

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

returnI;

while(fgets(xx(i],80rfp)!-NULL)

(

p?strchr(xx[i),

if(p)*p-0;

32

33

34roaxline?i;

35fclose(fp);

36return0;

37

/果u■出到文的outdai中?/

38voidWriteDat(void)

39

40FILEefp;

41inti;

42fp?fopen("out.datM,

43for(i-0;i<maxline;

44

45printf(**%3\n"rxx[i]);

46fprintf(fprxxll));

47

:?hfclose(tp);

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

源字符申abcdhgfe

123498765

則處理后字符串hgfedcba

87659432I

注;8,部分源程序存在test.c文件中.

潸勿改動(dòng)數(shù)據(jù)文件in.dat中的任何敷據(jù)、主函數(shù)tnain()?讀函數(shù)resdDat()和寫函數(shù)wnieDaU)的內(nèi)容.

1;include<stdio.h>

2?linclude<string.h>

3;charxx[20][801;

4voidreadDat();

5voidwriteDat();

6voidjsSort0

7

8

9

10voidmain()

11(

12re^idDat();

13jsSort(>;

14writeDat();

15)

/?從文件中讀取20打數(shù)據(jù)〃放到字符本觸爆u中?/

16voidreadDat()

17

18FILE?Ln;

19inti?0;

20char*p;

Hn

21in?fopen(in.datr"r");

22whiled<20“fgets(xx(i]v80,in)NULL)

23I

24p?strchr(xxtiJ,?\n*);

25if(p>*p?0;

26

27

28fclose(in);

29)

/?IE姑裳xx?出到文件out&rt中?/

30voidwriteDat()

31

32FILE*out;

33int1;

M

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

35ford-0;i<20;[?4)

36[

37printfxx[i]);

38fprintf(out,wts\nw,xx[i!);

39

40fclose(out);

41

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

把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(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ù)輸出到文件Outdat

中。

注意8部分潭程序存在(cstc文件中.

程序中已定義數(shù)組:a[200].b(200],已定義支代Ient

請(qǐng)勿改動(dòng)畋據(jù)文件in.drt中的任何數(shù)辨、主函數(shù)main。、讀的!ftreadDat()和寫函數(shù)writeDaU)的內(nèi)容.

finclude<stdio.h>

2IdefineMAX200〃定義宏變量MAX,K堂等于200

inta(MAX),b[MAX|#ent-0;〃定義■型敢組a【MAX),b【MAX]10支■cm,并*受?st的初值為D

4;voidwriteDatO;

5!voidjsValO

6?

7

8

9voidreadDat<)

10

int1;

12FILE#fp;

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

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

15fscanf(fp,"Qd",

16fclose(fp);

17

18voidmain()

19

20int1;

21readDat();

22jsVal(”〃■用jtvalO廉?dāng)?shù)實(shí)現(xiàn)dH姿求的功能

23printf足條件的效■Qd'n",ent);

24for(i-0;i<ent;

25printf(**%d*,b(i]);

26printf("\nw);

27writeDat();

28

29voidwriteDatO

30

31FILEefp;

32int1;

33fp-fopen(**out.datw,HwH);

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

35for(1-0;i<ent;

36fprinef(fp,b(l));

37fclose(fp);

38

36.已知數(shù)據(jù)文件INI.DAT和IN2.DAT中分別存有100個(gè)兩位十進(jìn)

制數(shù),并且已調(diào)用讀函數(shù)readDat把這兩個(gè)文件中的數(shù)存入數(shù)組a和b

中,請(qǐng)考生編制一個(gè)函數(shù)jsVal,實(shí)現(xiàn)的功能是依次對(duì)數(shù)組a和b中的數(shù)

按條件重新組成一個(gè)新數(shù)并依次存入數(shù)組C中,再對(duì)數(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中。

例如m123t24152115

bt3245172718IS

ct34SI12751155

播序Re*115512753451

注意i部分源程序存在文杵中?

程序中已定義s叩00卜b(100)和500]?

請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN1.DAT和IN2.DAT中的任何效榭.主曲數(shù)num().建浦敷reMDstO和"卡數(shù)wnteDuO的內(nèi)霖.

11?include<ttdio.h>

2;>defin?MAX100

3;intalMAXHb(MAXJ,c(MAXJ;

4,intent?0;/?奇■將6條的個(gè)家?/

5voidjsValC

6

8

INIDATmtN2.DAT4便100個(gè)角粒十IMUI存人也祖?鼻Ib中?/

9voidreadDat()

11intit

12FILE*fp;

13fp-topen("lnl.datH,*r");

14ford-0;1<MAX;

15tacanf(fp,"td",iafll);

16fclose(fp);

17fp?fopen(*in2.ctot","r**);

18for(i-0;1<MAX;

19fsconf(fp.”<T??b(in;

20fclose(fp);

22voidrnainO

23

24mtitvoidwriteDat();

25ford-0;1<MXXj

26c(l]?0;

27readDat(>;

29jsVal();

29ford-0;1<MAX“C110;

30prlntf<w%d\n",c(i));

31writoDatOi

32)

/?把幀果數(shù)期C,出到文鐘M3中?/

33voidwriteDat()

34'

35;FILE*tp;

36!mt1/

37jfp-fopen("out"w">;

381ford-0;1<MAX“c(i)>0;iP

39;fprlntf(fp,*ld\n",c(iH;

40;fclose(fp);

37.函數(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ù)的位置上的字符仍按原來位置存

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

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

例如:位置01234567

源字符串hgfedcba

則處理后字符串hafcdebs

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

請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主的敷mainO.I(的數(shù)re&dDat()和耳函效writuDat。的內(nèi)容.

1!?Iinclude<stdio.h>

2I?include<string.h>

3?voidreadDat();

4!voidwriteDat();

5;charxx(20)(801:

6!voidjsSort()

7!(

eJ

9!}

101voidmain()

12!readDat();

13;jsSort();

14jwriteDat();

15i)

;。從文件1中讀取20行數(shù)據(jù)存放到字符串長(zhǎng)電XX中”

16!voidreadDat()

17;(

18■FILE-in;

19jint1-0;

20;char*p;

21;in?/open("in.ddL.,,r");

22jwhile(1<20“fgets(xx[1]t80.in)NULL)

23;(

241p-strchr(xx[i]9?\n*);

25;if(p)*p■0;

26?

27j}

28;fciose(in);

29!)

/?把姑果XXa出到OUt&!文件中?/

30;voidwriteDat()

32.FILE*out;

33;int1;

wwR

34?out■fopen(out.datew");

35;for(1-0;i<20;I**)

36?(

37?printf(w%s\nH,xx(i]);

38;fprintf(out,"%s\nw,xx[1]);

39;)

40jCclose(out);

41J)

38.已知數(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)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b

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

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

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

請(qǐng)勿改動(dòng)數(shù)據(jù)文件m.dax中的任何數(shù)據(jù).主函數(shù)maiM).讀函數(shù)readDatO和寫函效wrilHM)的內(nèi)容?

1jtmcludc<stdio.h>

2!IdefineMAX200

3inta[MAX],b(MAXhent

4voidwriteDat():

5voidjsVal()

6

7

8

9voidreadDat()

10

11mt1;

12FILE*fp;

fp?fopen(Rin.datw,"r*1

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

15fscanf(fp,"d”,6a[i]

16fclose(fp);

17

18voidmain()

19

20inti;

21readDatO;

22jsVal();

23printf「滿足條件的數(shù)Td\rT.ent);

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

25printfC,%d",b|i]);

26printf;

27writeDat();

26

29voidwriteDat()

30

31FILEefp;

32inti;

33fp-fopen("out.dat1*,Mw,r);

34fprintf(fp#7d\n"rcnt>;

35for(1"0;i<ent;

36fprintf(fpr”*d\n**,bi:】)

fclose(fp);

38

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

把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(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ù)輸出到Outdat文件中。

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

存序中已定義數(shù)組:a[200|.b(200].已定義變lbent

請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、:函數(shù)讀函數(shù)rcadDal()和寫的敢writeDatO的內(nèi)容.

I

1??include<stdio.h>

2itdefineMAX200

3?inta[MAX).b[MAX|rent,

4;voidwriteDat();

5?voidjsVa1()

6;(

7;

8

9voidreadDat()

10<

11inti;

12FILE*fp;

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

14for(i-0;i<MAX;

15fscant(fp>rd”.&a(1]);

16fclose(fp);

)

18voidmam()

19(

20int1;

21readDat<);

22jsVal();

23printf("滿足條件的數(shù),ed\n”,ent);

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

25printf",b[i]);

26prlntf;

27writeDat();

28I

29voidwriteDat()

30I

31FILE*fp;

32int1;

ww

33fp=fopen(out.datr"w");

34fprintf(fp,cnt);

35for(ie0;i<ent;

36fprintf(fp#nid\nw,bill”

37fclose(fp);

38

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

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

的數(shù)減千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)大于零的個(gè)數(shù)ent,

再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的四位

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

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

例如i1239.9.1-2.3>O.則該數(shù)滿足條件存入敷組6中?且個(gè)數(shù)cnKcnt+l.

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

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

程序中已定義數(shù)組:a[3OObb(300],已定義受it:cm

請(qǐng)勿改動(dòng)數(shù)據(jù)文件in&rt中的任何數(shù)據(jù),主函數(shù)main。、讀話數(shù)readDatf)和寫函敷而處所。的內(nèi)容?

tinclude<stdio.h>

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

3voidreadDat0;

4voidwriteDat(>;

5voidjsValueO

6

7

8

9main()

10

11int1;

12readDat();

13jsValueO;

14writeDat();

X5printf("cnt-ldXn",ent);

16for(1?0;i<ent;i?十)

w,,

17prmtf(*b[%d]%d\nri.b

18

19voidreadDat()

20(

21FILE*fp;

22inti;

wRH

23fp=fopen(in.datrr");

24for(1?0;i<300;

25(scant(fp,",d/,&a(1]);

26fclose(fp);

27)

28voidwriteDat()

29

30FILE^tp;

31inti;

wwM

32fp-fopen(out.datr**wj;

Rw

33fprintf(fpr%d\nrent);

34for(1?0;i<ent;

35fprintf(fp,”d\n".b[i));

36fclose(fp>;

37

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

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

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

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

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

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

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

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

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

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

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

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

42.某教務(wù)管理系統(tǒng)使用SQLServer2008數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫軟硬

件配置信息如下:I.數(shù)據(jù)庫運(yùn)行在兩路IntelXeonE5-26092.4GHz

CPU(每路CPU4核心),128GB內(nèi)存、2塊300GB15000轉(zhuǎn)SAS硬盤

(RAID1)的服務(wù)器上;II.服務(wù)器操作系統(tǒng)為Windows200332位企

業(yè)版,安裝SP2補(bǔ)丁.數(shù)據(jù)庫為SQLServer2008Enterprise(32位),

數(shù)據(jù)庫中總數(shù)據(jù)量近130GB。近一個(gè)學(xué)期以來,用戶反映系統(tǒng)運(yùn)行緩慢,

經(jīng)程序員定位,確定為數(shù)據(jù)庫服務(wù)器響應(yīng)緩慢,需要進(jìn)行調(diào)優(yōu)。(10分)

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

43.在SQLServer2008中,常常會(huì)發(fā)生數(shù)據(jù)庫數(shù)據(jù)過大的情況,此時(shí)則

需要對(duì)表進(jìn)行處理,通??刹捎萌斯し指畋淼姆椒▋?yōu)化性能。下列有關(guān)

分割表的說法,錯(cuò)誤的是()o

A.水平分割后,得到的子表結(jié)構(gòu)相同

B.水平分割后,查詢表中所有數(shù)據(jù)時(shí)需要使用JOIN操作

C.垂直分割后,所有表中均需保留原有表的主碼

D.當(dāng)查詢表中所有數(shù)據(jù)時(shí),使用分割表方法會(huì)增加查詢表達(dá)式的復(fù)雜度

44.設(shè)有購買表(顧客號(hào),商品號(hào),購買時(shí)間)?,F(xiàn)要查詢顧客A與顧客

B購買的相同商品。有下列查詢語句:I.SELECT商品號(hào)FROM購買

表WHERE顧客號(hào)=’A'AND商品號(hào)IN(SELECT商品號(hào)FROM購

買表WHERE顧客號(hào)='B')II.SELECT商品號(hào)FROM購買表WHERE

顧客號(hào)='A'EXCEPTSELECT商品號(hào)FROM購買表WHERE顧客號(hào)

=’B'III.SELECT商品號(hào)FROM購買表WHERE顧客號(hào)

=’A'INTERSECTSELECT商品號(hào)FROM購買表WHERE顧客號(hào)

=’B'W.SELECT商品號(hào)FROM購買表WHERE顧客號(hào)=’A

'UNIONSELECT商品號(hào)FROM購買表WHERE顧客號(hào)='B'上述語

句中,能夠?qū)崿F(xiàn)該查詢要求的是()o

A.僅I和nB.僅I和nic.僅I和wD.僅in

參考答案

LA解析:分區(qū)管理的基本思想是將內(nèi)存分成若干連續(xù)的區(qū)域,有可變

分區(qū)和固定分區(qū),?分區(qū)管理的主要缺點(diǎn)是不能充分利用內(nèi)存,也不能對(duì)

內(nèi)存進(jìn)行擴(kuò)充。固定分區(qū)會(huì)浪費(fèi)一些內(nèi)存空間,可變分區(qū)會(huì)引起碎片的

產(chǎn)生。

2.A

3.B解析:在一個(gè)長(zhǎng)度為n的順序表的表尾插入一個(gè)新元素不需要進(jìn)行

節(jié)點(diǎn)移動(dòng),直接插入即可。對(duì)應(yīng)的漸進(jìn)時(shí)間復(fù)雜度為0(1)。

4.A解析:實(shí)體完整性是保證表中的記錄唯一的特性,即在一個(gè)表中不

允許有重復(fù)的記錄。參照完整性與表之間的聯(lián)系有關(guān),它的含義是:當(dāng)

插入、刪除或修改一個(gè)表中的數(shù)據(jù)時(shí),通過參照引用相互關(guān)聯(lián)的另一個(gè)

表中的數(shù)據(jù),來檢查對(duì)表的數(shù)據(jù)操作是否正確。用戶定義的完整性規(guī)則

通常是由用戶定義,用來對(duì)屬性值進(jìn)行約束的規(guī)則。實(shí)現(xiàn)主碼標(biāo)識(shí)元組

實(shí)際上就是要通過主碼保證記錄唯一的特性,因此本題的正確答案應(yīng)該

是A。

5.D解析:數(shù)據(jù)庫系統(tǒng)一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、應(yīng)用系

統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。DBMS是數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)和核心。

6.C解析:本題主要考查了二分法查找的排序方法。利用二分法查找序

列的前提條件是序列必須按順序排好。

7.B解析:當(dāng)用戶發(fā)出查詢數(shù)據(jù)庫數(shù)據(jù)的命令時(shí),數(shù)據(jù)庫管理系統(tǒng)的語

言翻譯處理層首先對(duì)語句進(jìn)行語義分析和語法分析。接著,根據(jù)數(shù)據(jù)字

典中的內(nèi)容進(jìn)行審核用戶的存取權(quán)限。因此需進(jìn)行的查詢包括語法檢查、

語義檢查和用戶存取權(quán)限檢查,正確答案為選項(xiàng)B。

8.D解析:Armstrong公理系統(tǒng)包括3條基本的推理規(guī)則:①自反律。若

YXU,則X-Y為F所邏輯蘊(yùn)含。②增廣律。若X-Y為F所邏輯蘊(yùn)

含,且ZU,則XZ-YZ為F所邏輯蘊(yùn)含。③傳遞律。若X—Y及Y-Z

為F所邏輯蘊(yùn)含,則X-Z為F所邏輯蘊(yùn)含。由以上的說明可以看出,

題干所給的推理規(guī)則符合增廣律的格式。

9.D解析:分布式系統(tǒng)的特點(diǎn)。分布式系統(tǒng)的所有問題是(或應(yīng)當(dāng)是)內(nèi)

部的、實(shí)現(xiàn)級(jí)別的問題,而不是外部的、用戶級(jí)別的問題。

10.A解析:系統(tǒng)的基本功能包括:1)數(shù)據(jù)庫定義功能;2)數(shù)據(jù)操作功能;

3)數(shù)據(jù)庫的運(yùn)行管理和控制功能;4)數(shù)據(jù)庫的建立和維護(hù)功能;5)數(shù)據(jù)

庫存取功能。其中數(shù)據(jù)庫定義功能包括在數(shù)據(jù)庫中可以創(chuàng)建和刪除表、

視圖、索引,可以修改表等。

11.4或4次4或4次解析:二分查找又稱為折半查找,首先用待查元

素的關(guān)鍵字與線性表中間位置的一個(gè)元素的關(guān)鍵值做比較,若相同則查

找成功,否則以這個(gè)中間值為界將線性表分為兩個(gè)子表,假設(shè)子表1中

的所有元素的關(guān)鍵值都小于中間元素,子表2中的所有元素的關(guān)鍵值都

大于中間元素,待查元素比中間元素值小,說明待查元素在子表1中,

完成了一次查找,這是一次失敗的查找,因?yàn)閁并不在序列表中,所

以一共進(jìn)行了四次比較。

12.Reports

13.聯(lián)接產(chǎn)品聯(lián)接產(chǎn)品

14.關(guān)系代數(shù)關(guān)系演算關(guān)系的數(shù)據(jù)操縱語言按照表達(dá)式查詢方式可分為

關(guān)系代數(shù)和關(guān)系演算

15.網(wǎng)絡(luò)安全域【解析】防火墻是指設(shè)置在不同網(wǎng)絡(luò)或網(wǎng)絡(luò)安全域之間

的一系列部件的組合。

16.人工智能【解析】概括起來,計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域包括科學(xué)計(jì)算、

事務(wù)處理、過程控制、輔助工程、人工智能、網(wǎng)絡(luò)應(yīng)用和多媒體的應(yīng)用

等七大領(lǐng)域。

17.SC.S#=C.C#或C.C#=SC.S#在急性這些操作的時(shí)候需將這

些關(guān)系聯(lián)系起來

18.可串行化的或可串行化可串行化的或可串行化解析:本題考察調(diào)度

可串行化的概念。

如果多個(gè)事務(wù)在某個(gè)調(diào)度下的執(zhí)行結(jié)果與這些事務(wù)在某串行調(diào)度下的

執(zhí)行結(jié)果一致,則稱該調(diào)度為可串行化的調(diào)度??纱谢嵌鄠€(gè)事務(wù)并

發(fā)執(zhí)行的正確性準(zhǔn)則。所以答案為:可串行化的。

19.索弓|結(jié)點(diǎn)【解析】在混合式P2P網(wǎng)絡(luò)中,根據(jù)結(jié)點(diǎn)的能力可將結(jié)點(diǎn)

分為用戶結(jié)點(diǎn)、搜索結(jié)點(diǎn)和索引結(jié)點(diǎn)3種類型。

20.光纜【解析】局域網(wǎng)所使用的傳輸介質(zhì)主要有雙絞線、光纜、光纖、

無線通信信道。

21.C

22.D解析:為保證數(shù)據(jù)庫是可恢復(fù)的,登記日志文件時(shí)必須遵循以下兩

條原則:1、登記的次序嚴(yán)格按并發(fā)事務(wù)執(zhí)行的時(shí)間次序;2、必須先寫

日志文件,后寫數(shù)據(jù)庫。

23.D

24.D

關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束3大要素

組成。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)單一,在關(guān)系模型中,現(xiàn)實(shí)世界的實(shí)體以

及實(shí)體問的各種聯(lián)系均用關(guān)系來表示。關(guān)系操作的特點(diǎn)是集合操作方

式,即操作的對(duì)象和結(jié)果都是集合。關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)

系演算均是抽象的查詢語言,這些抽象的語言與具體的DBMS中實(shí)現(xiàn)

的實(shí)際語言并不完全一樣,但它們能用作評(píng)估實(shí)際系統(tǒng)中查詢語言能

力的標(biāo)準(zhǔn)或基礎(chǔ)。關(guān)系模型的一個(gè)優(yōu)點(diǎn)是高度非過程化。

25.A

26.A

27.B

28.B解析:馮?諾依曼提出的存儲(chǔ)程序工作原理決定了計(jì)算機(jī)硬件系統(tǒng)

的5個(gè)基本組成部分,即運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)

備。運(yùn)算器是計(jì)算機(jī)中執(zhí)行各種算術(shù)運(yùn)算和邏輯運(yùn)算的部件,也叫算術(shù)

邏輯單元。存儲(chǔ)器是計(jì)算機(jī)中具有記憶能力的部件,它能根據(jù)地址接收

和保存指令或數(shù)據(jù),并能根據(jù)命令提供有關(guān)地址的指令或數(shù)據(jù)。

控制器的主要作用是使整個(gè)計(jì)算機(jī)能夠自動(dòng)地執(zhí)行程序,并控制計(jì)算機(jī)

各功能部件協(xié)調(diào)一致地動(dòng)作。執(zhí)行程序時(shí),控制器先從主存中按順序取

出程序中的一條指令,解釋該指令并形成數(shù)據(jù)地址,取出所需的數(shù)據(jù),

然后向其他功能部件發(fā)出執(zhí)行該指令所需的各種時(shí)序控制信號(hào)。然后再

從主存中取出下一條指令執(zhí)行,如此循環(huán),直到程序完成。計(jì)算機(jī)自動(dòng)

工作的過程就是逐條執(zhí)行程序中指令的過程。

輸入設(shè)備的主要功能是將數(shù)據(jù)、程序等用戶信息變換為計(jì)算機(jī)能識(shí)別和

處理的信息形式。

輸出設(shè)備的主要功能是將計(jì)算機(jī)中的二進(jìn)制信息變換為計(jì)算機(jī)用戶所

需要并能識(shí)別的信息形式。

29.D

30.C

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

\n【解題思路】

也①定義整型變量i、j,表示出圈人位置的變量si和出圈人序號(hào)的變量

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

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

源程序中賦值為100)o

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

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

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

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

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

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

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

\n【參考答案】

\n

\n

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

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

符不參加處理。

\n【解題思路】

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

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

的設(shè)置即可。

\n【參考答案】

\n

\n

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

原字符的ASCH值。

\n【解題思路】

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

\n②在第一個(gè)for循環(huán)語句中,循環(huán)變量i從。開始,依次遞增直到其值

等于文章最大行數(shù)maxline。在第二個(gè)for循環(huán)中,從每行第1個(gè)字符開

始,依次遞增直到其值等于該行字符串的最大長(zhǎng)度,然后在循環(huán)體中指

定每次循環(huán)時(shí),將第i行第i個(gè)位置上的字符的ASCII值的二進(jìn)制數(shù)右

移4位,然后將所得的值再加上原字符的ASCII碼值。

\n【參考答案】

\n

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

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

符不參加處理。

\n【解題思路】

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

?、诘谝粚觙or循環(huán)中,循環(huán)變量i從0開始,依次遞增直到其值等于

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開始,依次遞過來增直到其值等于(P-D,在第三層

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

較字符xx[i皿ASCH碼值與xx[i][klASCII碼值的大小,如果字符xx[i]

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

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

⑺③用變量len的值對(duì)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]左右部分子字符串的交換。

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

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

\n【參考答案】

\n

\n

35.\n[審題關(guān)鍵句]四位數(shù)的千位<=百位<=十位<=個(gè)位,且四位數(shù)是偶

數(shù),統(tǒng)計(jì)出滿足此條件的個(gè)數(shù),按從小大的順序存入數(shù)組。

\n【解題思路】

\n①首先,本題要定義多個(gè)變量,包括兩個(gè)循環(huán)變量循環(huán)i、i,一個(gè)用

于數(shù)據(jù)交換的整型變量ab,以及分別用來存放四位數(shù)分解之后各位數(shù)的

變量qw(千位)、bw(百位)、SW(十位)和gw(個(gè)位)。

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

位數(shù),根據(jù)題目要求,判斷其“千位<=百位<=十位<=個(gè)位”的條件是否滿

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(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)論