2021年江蘇省南京市全國計算機等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第1頁
2021年江蘇省南京市全國計算機等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第2頁
2021年江蘇省南京市全國計算機等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第3頁
2021年江蘇省南京市全國計算機等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第4頁
2021年江蘇省南京市全國計算機等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021年江蘇省南京市全國計算機等級考試

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

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

一、1.選擇題(10題)

1.在以下四個WWW網(wǎng)址中,網(wǎng)址不符合WWW網(wǎng)址書寫規(guī)

則。

A.

B.

C.

D.WWW..jp

2.在數(shù)字簽名技術(shù)中使用安全單向散列函數(shù)的原因是該函數(shù)

A.能用密鑰對明文加密

B.能用密鑰對密文加密

C.使得不同明文生成相同信息摘要的概率很小

D.使得信息摘要和明文具有相同長度,以便傳輸

3.下面系統(tǒng)中不屬于關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的是

A.OracleB.MS_QLServerC.IMSD.DB2

4.數(shù)據(jù)模型是____。

A.文件的集合B.記錄的集合C.數(shù)據(jù)的集合D.記錄及其聯(lián)系的集合

5,若用如下的SQL語句創(chuàng)建一個表S:CREATETABLES(S#char(16)

NOTNULL;SNAMEchar(8)NOTNULL,SEXchar(2),AGEinteger)向

表S中插入如下行時,哪一行可以被插入?

A.C9910011’李明芳二女,23,)

B.C9907461張民:NULL,NULL)

C(NULL,,陳道明,男,35)

D.('992345',NULL,'女',25)

6.下列屬于SQL語言特點的是

I.數(shù)據(jù)查詢

II,數(shù)據(jù)操縱

III.數(shù)據(jù)定義

IV.數(shù)據(jù)控制

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

7.下列關(guān)于網(wǎng)絡(luò)的敘述中,錯誤的是

A.網(wǎng)絡(luò)協(xié)議主要由語法、語義和時序組成

B.語法規(guī)定了用戶數(shù)據(jù)與控制信息的結(jié)構(gòu)與格式

C.時序是對事件實現(xiàn)順序的詳細(xì)說明

D.聯(lián)網(wǎng)計算機之間的通信不必遵循共同的網(wǎng)絡(luò)協(xié)議,可以相互之間制定

協(xié)議

8.下列不屬于物理設(shè)計的內(nèi)容是

A.存儲記錄的格式設(shè)計B.存儲方法設(shè)計C.優(yōu)化模式D.存取方法

9.二叉排序樹的平均檢索長度與二分法檢索的長度都是

A.O(nlog2n)

B.O(n2)

C.O(log2n)

D.O(n)

10.在一棵二叉樹的先序遍歷、中序遍歷、后序遍歷所產(chǎn)生的序列中,

所有葉節(jié)點的先后順序

A.都不相同B.完全相同C.先序和中序相同,而與后序不同D.中序和

后序相同,而與先序不同

二、填空題(10題)

11.IP服務(wù)的3個主要特點是__________面向非連接和盡最大努力投

遞服務(wù)。

12.在數(shù)據(jù)庫設(shè)計中,把數(shù)據(jù)需求寫成文檔,它是各類數(shù)據(jù)描述的集合,

包括數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、數(shù)據(jù)加工過程等的描述;

通常稱為【】。

13.網(wǎng)絡(luò)防火墻的主要類型是包過濾路由器、電路級網(wǎng)關(guān)和

網(wǎng)關(guān)。

14.在操作系統(tǒng)的存儲管理中,存儲共享的兩個目的是【】和實現(xiàn)進程

通信。

15.用戶調(diào)用、建立和【】文件操作來申請對文件的使用權(quán)。

16.數(shù)據(jù)管理經(jīng)過了人工管理、文件系統(tǒng)和【】3個發(fā)展階段。

17.搜索引擎在外觀、功能等方面都不相同,但其構(gòu)成一般包括搜索器、

索引器、和用戶接口4個部分。

18.用數(shù)組順序存儲完全二叉樹的各結(jié)點,則當(dāng)i>0,且i<二

【】時,結(jié)點A[i]的右子女是結(jié)點A[2i+1],否則結(jié)點A[i]沒有右子女。

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

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

20.當(dāng)前廣域網(wǎng)采用的拓?fù)錁?gòu)型多數(shù)是_________拓?fù)洹?/p>

三、單選題(10題)

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

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

創(chuàng)建表

22.在定義一個關(guān)系結(jié)構(gòu)時,應(yīng)該說明()

A.字段、數(shù)據(jù)項及數(shù)據(jù)項的值B.屬性名、屬性數(shù)據(jù)類型及位數(shù)C.關(guān)系

名、關(guān)系類型及作用D.記錄名、記錄類型及內(nèi)容

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

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

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

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

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

24.操作系統(tǒng)在控制和管理進程的過程中,涉及到()這一重要數(shù)據(jù)結(jié)構(gòu),

這是進程存在的惟一標(biāo)志。

A.FCBB.FIFOC.FDTD.PCB

25.在對全局E-R模型進行優(yōu)化時,通常利用規(guī)范化理論中的()概念消

除冗余關(guān)系。

A.無損聯(lián)接B.函數(shù)依賴C.范式D.邏輯蘊涵

26.在關(guān)系數(shù)據(jù)庫系統(tǒng)中,一個關(guān)系相當(dāng)于()

A.一張二維表B.一條記錄C一個關(guān)系數(shù)據(jù)庫D.一個關(guān)系代數(shù)運算

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

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

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

28.對于學(xué)生信息表S(SNUMBER,SNAME,SEX,AGE,

DEPT)(STUDENT由學(xué)號SNO,姓名SNAME,性別SEX,年齡AGE,

所在系DEPT5個屬性組成,其中SNUMBER為主碼),求年齡20?23

歲之間的學(xué)生姓名和年齡,正確的語句是()。

A.SELECTSNAME,AGEFROMSWHEREAGE>20ANDAGE<23

B.SELECTSNAME,AGEFROMSWHEREAGEBETWEEN20AND

23

C.SELECT*FROMSWHERE.AGEBETWEEN20AND23

D.以上均不正確

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

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

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

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

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

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

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

C.將此功能涉及到的表進行合并,然后對合并后的表進行查詢

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

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

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

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

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

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

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

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

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

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

題。

例如:sell[i]=temp;

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

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

2IIInclude<string.h>

3;^include<stdlib.h>

4\fdefineMAX100

5?typedefstruct

6?(

7Icharcta[5];產(chǎn)品代碼?/

I

8jcharme(11];/?產(chǎn)品名稱?/

9-intdj;單價?/

10!intsi;/?ft*?/

11ilongje;/?金??/

12?}PRO;

13jPROsell[MAX];

14;voidReadDatO;

15!voidWriteDat();

i

161voidSortDat()

17

18

20!voidmain(>

21[(

22'memset(sellt0,sizcof(sell));

23?ReadDat();

24iSortDatO;

25!WriteDat(”

26;1

27;voidReadDat()

28;(

29FILE#fp;

30charstr(80)9ch[1I];

31inti;

32fp,fopen("in.dat",Hrw>;

33for(l?0;1<100;1+?)

34(

35fgets80.fp);

36memcpy(sell(1).dm,stt/4);

37metncpy(sell(i).me,atr*4f10);

38metnepy<ch.str*14.4);ch[41-0;

35sell(1?.dj■atol(cb);

40oteincpy(ch?str*18f5);ch(Sl*0;

41sell(i).91-atol(ch);

42sailfl).je?(long)sell[i]?dj?sell(i].si;

43)

44fclose(fp);

45)

46voidWritoDat0

47

48FILE*fp;

49int1;

50fp?fopen("out?da**?**);

51fox(1?0/1<100;

52I

53fprlntf(fp,"%BIs%4d%SdH01d\n**,9?11(1].dmrsell(i),me,sell(1j.djrsell(1).slf

sellfi].je);

55fclose(fp);

56

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

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

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

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

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

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

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

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

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

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

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

tInclude<stdio.h>

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

3voidreadDat();

4voidwriteDat0;

5voidjsValue()

6

7

8

9!mainO

10;(

11:inti;

12\readDatO;

13JjsValueO;

14!writeDat();

R

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

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

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

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

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

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

請勿改動數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、上函數(shù)main。、讀的數(shù)readDatO和月函數(shù)而teDatO的內(nèi)容.

1I#include<stdlo.h>

2|tdefineMAX200

3*inta(MAX],b[MAX]ent,0;

?t

4jvoidwriteDat();

5?voidjsVal()

6j(

8J|

9;voidreadDat()〃從in.dat文件M《取200個網(wǎng)位數(shù)存入數(shù)ifia中

10;(

XIJxnt£s

12;FILE*fp;

Rn

13*fp-fopen(in.datr

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

15;fscanf(fp,f1]):

16!fclose{fp);

17;|

18;voidmain()

19!

20;

21\readDat();

22?isVai();〃,用曲數(shù)isvalU,求廈?目要氽的功傕

23jprint—”滿足條件的數(shù),%d\n**/ent);

24!for(i?0;1<ent;

25;printf("%dIb(i]);

26jprintf(H\nw);

27?writeDat();

28;J

29voidwriteDat()〃把計簿的IEent以及數(shù)能b中希合條件的四位數(shù)?出舞Mdii文件中

30(

31FILE*fp;

32inti;

33fp-fopen("out.datM,Hww);

34fprintf(fp/ent);

35for(i-0;i<ent;

36fprintf(fp,w%d\n**/b[i]);

37fclose(fp);

38

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

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

行為單位把字符串中的所有字符的二進制ASCII值右移4位,高位補

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

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

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

out.dat中。

例如:

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

00000111,加上原來“2"的ASCII值01111010得至1J10000001結(jié)果。

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

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

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

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

:j?include<stdio.h>

!iinclude<string.h>

3\charxx[501(80];

4!intmaxline=0;/?文聿的總行數(shù),/

5?intReadDat(void);

6;voidWriteDat(void);

7jvoidStrCharJR(void)

8

9

10

111voidmain0

12;I

13!if(ReadDatO)

14f1

15printf("效據(jù)文件in.dat不能打開!\n\007">;

16return;

17j?

18?StrCharJRO;

19;WriteDat();

20

;八從文"中讀取iJI英文文章存入到字符串?dāng)縡iiXi中?/

21jintReadDat(void)

22!I

23JFILE?fp;

24!inti-0;?

25;char.p;

26if((fp-fopen(?*in.dat",,????))-NULL)

27return1;

28!whlle(fgets(xx(i|,80rfp)!-NULL)

29

,:p=strchr(xx[i)f,Xn,);

31if(p)*p-0;

32if

33!)

34maxiine-i;

35!fclose(fp);

36ireturn0;

37P

J/?把結(jié)果”■出到文仰OUL&1中?/

38?voidWriteDat(void)

39p

40FILEwfp;

41!inti;

42fp?fopen("out.datM,www);

43for(i-0;1<maxline;i**)

44(

R

45printf(is\n"rxx(i});

wM

46fprintf(fp,%s\nfxx[1i);

47

48fcloseIfp);

49

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

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

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

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

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

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

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

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

填入你編寫的若干語句。

^include<stdio.h>

*include<string.h>

voidReadWrlte();

a

4intfindStr(char3trtchar?substr)

8main0

9

charstr(811?substr[3];

intn;

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

gets(str);

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

15gets(substr);

16puts(str);

17puts(aubstr);

w

18nfindStr(str,substr);

19prlntfLn,Ad\ne?n);

ReadWrite();

I

,?從支件in.chi中It取兩個字符刖.并輯用電依fifidS“O,?后1E郎果■出到文件即如中?/

22voidReadWrite()

23(

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

25intn,lenrim0;

#e

26FILErfrwf;

wwH

27rf=fopen(*£n.datrr);

MM

28wf-fopen(out.datrm;

29while(1<5)

30|

31fgets(str,80,rf);〃從文件m&i申城取長度為R的字符中存入到字符中

32fgets(substr#10,rf);〃從文件m&t中讀取長度為Q的子字符中存入到字符率,ubstr

33len?'strlen(substr)-1;//尼f字符鷹gubstx的長度K1的

ch-substr(lenI;〃把子字符州的量后一個字箝的CMC嬉字符cb

"如果十字符串的最后-個字構(gòu)是回年投行符改是文件站販?zhǔn)?,明紀(jì)子字符串的量后一個字符的值設(shè)宣力0”

35if(ch~?\n911ch~Oxla)

36substr[len]?0;

flnd£tr(4tr?■ubstr)返Z1子字符串substr在字符率Atr中出現(xiàn)的次數(shù)*/

37n-findStr(str,substr);

38fprintf(wf,Fd\n".n);“JC計II納粵n寫入到文件。ut.dau中

39144;〃謂環(huán)登量上加】

40I

41fclose(rf);

42fclose(wf);

43

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

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

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

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

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

請”改動數(shù)據(jù)文件in.dat中的任何效據(jù)以及I函數(shù)main。和輸出函數(shù)rcadwritcDAT。的內(nèi)容.

1-#include<stdio.h>//include謂句說明善程序中包畬“6.。中的標(biāo)讖?人■出桂南效《d4b

2voidreadwrxteDAT();//曲效reidvrueDATO注明請句

3intis?(intm)〃索數(shù)isP《inLm畀斷m是否為K敗,如果是素數(shù)網(wǎng)返回i,否副返回0

4(

5int1;〃定義受■上

6for(i?2;i<m;1*?)〃變■x從2依次iS增列!nT

7if(m%i■?0)return0;〃如里m陡被i■除,返回o

8return1;〃杏財也回1

9)

10voidnum(intM,intk,intxx())

11

12

13

14main()

15(

16intm,n,xxflOOO];〃魔又變量m,nxxLIOOO]

17printf(M\nPleaseentertwointegers:w);

H

18scanf(-%dr%df&n);〃從讀入四個數(shù)M蛤變出m,n

19num(m*n,xx>;〃0用函dmuntintm.mtk.mixxU)實現(xiàn)科大于Mtm且*1Km的k個K效存入敷itixx

20for(m-0;m<n;m++)〃攵■?從。依次瑁增*n-1

21printf("td**.xx(m});〃?出數(shù)蛆兀腐xx]。]

22printf("\nn);〃■出,個回車換行椅

23readwriteDATO;//M用的數(shù)MUECDATOIC結(jié)果■出到outdai文仲中

24)

25voidreadwriteDATO〃也數(shù)mdwrtteMTH的定義謖句

26(

27intm.n.xx(1000),i;〃定義M《變■m.c,f和數(shù)組xx[1000】

28FILE?rf,*wf;〃定義文件文wf

29rf-fopenCin.daf,"”);〃以只&的方式的打開文件HKSJ并用cf指向這個文件

30wf-fopen(”out?dat-,Hww);〃以只用的方式的打開文件。ut.daj件陽〃指向這個文科

31for(i-0;i<10;1?+)八博可交量上從。依次建』到9

32(

33fscanf(rf<Fd%dR,&m,&n);〃從文件m.&t讀入兩個數(shù)值味給m.n

34num(tnrn.xx);〃■用lAfft鼎0tnum(fn?k?u[p實現(xiàn)笄大于整陂mH竄Hm的k個拿數(shù)存入般紈u

35for(m-0;m<n;m*+)〃循環(huán)交量?從。俄次爆?列n-1

36fprintf(wf,"idxx[m]);〃把數(shù)ifl元*xxg寫人到文樣out.dat中

37fprintf(wfr"n");〃IC回書例寫人到文件sR.dat中

38)

39fclose(rf);〃關(guān)閉?入文件in.dat

40fclose(wf);〃關(guān)冊■出文件at.cut

41

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

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

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

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

出到文件Out.dat中。

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

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

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

位置上。

例如位置012345678

源字符串a(chǎn)bcdhgfe

123498765

則處理后字符串hgfcdcba

876594321

注意:部分源程序存在9SI.C文件中.

請勿改動敷據(jù)文件in.dat中的任柯數(shù)據(jù)、主函數(shù)main()、讀函數(shù)pidDaM)和寫的數(shù)wnteDatO的內(nèi)容.

1?:linclude<stdio.h>

2j?include<string.h>

3:charxx120](80);

voidreadDat();

5voidwriteDat();

6voidjsSort()

7

8

9

10voidmain()

11(

12readDatO;

13jsSortO;

14writeDat();

15

,?從文件mxfau中讀取20打敗第存放到字符東依蛆?中?/

16voidreadDat()

17

18FILE-in;

19inti-0;

20char*p;

wwR

21in=fopen(in.dat"rr);

22while(i<20“fgets(xx{i],80rin)NULL)

23

24p-strchr(xxfij9?\n*);

25if(p)*p?0;

26If

27)

28fclose(in);

29

/?牝站Kx、*出到文科ouubi中?/

30voidwriteDat()

31I

32FILEeout;

33int1;

out-fopen(*out.dat",Ww*);

for(i-0;1<20;if

36[

ww

37printf(^s\n/xx[1]);

38fprintf(outr"%s\n*rxx(i));

39)

40fclose(out);

41?}

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

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

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

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

替代關(guān)系:)=p*17mod256,mod為取余運算,p是數(shù)組)xx中某一個字

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

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

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

注意,部分源觀序存放在ttstc文件中,除施數(shù)據(jù)文件存放的格式是:悠行的寬度均小于80個字符.含標(biāo)點符號沖空

格,井也按出仲代關(guān)嘉進行處理?

請勿改動主函觸mainO、讀函數(shù)RedD?O和■出函數(shù)WmeDitO的內(nèi)容.

1!Iinclude<3tdio.h>

2?iinclude<string.h>

3??Include<ctype.h>

4?unsignedcharxx[50][80);

5jintmaxline■0)/?文章的總行破?/

61xntReadDat(void);

7;voidWritoDat(void):

Q;voidenoryptCharO

9j(

10;unslQnedintval:

11

12

13voidmam()

14(

15if(ReadDat())

16(

17printfLift據(jù)文件in,dat不能打開!\n\007w);

18return;

19

20encryptChar();

21WriteDatO;

I

22八從文件ilLdBi中博取一?英文文章.存入到無符號?押申數(shù)粗?中?/

23intReadDat(void)

24(

25FILEwfp;

26inti00;

27unsignedchar*p;

28if((fp-fopen「mdaL,F))-NULL)

29return1;

30while(fgets(xx[1],80/fp)!-NULL)

31(

32p?strchr(xx[1],*\n*);

33if(p)*p-0;

34

35)

36maxline-1;

37fclose(fp);

38return0;

39/?把站梁xx?出到文件outdat中?/

40voidWriteDat(void)

41(

42FILE*fp;

43int1;

44fp■fopen("out.datH,;

45for(1-0;i<maxline;

46(

w,

47printf(%s\n'/xx[1]);

48fprintf(fp,xx(i]);

49J

50fclose(fp);

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

串?dāng)?shù)組XX中,請編制函數(shù)ConvertCharA,其函數(shù)的功能是:以行為單

位把字符串中的所有小寫字母改寫成該字母的下一個字母,如果是字母

Z,則改寫成字母a,大寫字母和其他字符保持不變。把已處理的字符串

仍按行重新存入字符串?dāng)?shù)組XX中。最后main函數(shù)凋用函數(shù)WriteDat

把結(jié)果XX輸出到文件Out.dat中。

例,原文:Adb.Bcdza

abck.LLhj

結(jié)果:Aec.Bdcab

hrdlITik

原始數(shù)據(jù)文件存放的格式是:銀行的窗度均小于80個字符,含標(biāo)點符號和空格.

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

請勿改動主函數(shù)main。、讀函數(shù)ReadDaM)和■出函數(shù)WritcDmO的內(nèi)容.

1、tinclude<stdio.n>

2!!include《string.h>

3?charxx[50][80];

4;intmaxline■0;/*文*的總打數(shù)?/

5jintReadDat(void);

6;voidWriteDat(void);

7?voidConvertCharA(void)

8

9

10

11?voidmainO

12!l

13jif(ReadDat())

14(

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

16return;

17j}

18ConvertCharA();

19jWrlteDatO;

2。?I

!,?從文件m&t中it取一■英文文章存入到字符率數(shù)盥u中〃

21;intReadDat(void)

22!(

23\FILEwfp;

24|inti?0;

25?char*p;

26jif((fp-fopen("in.dat","r"))—NULL)

27return1;

28\while(fgeta(xx(i]r80rfp)!-NULL)

29{(

30p-strchr(xx[1],f\n*);

31if(p)*p-0;

32if

33i,

34;maxline-i;

35fclose(fp);

36return0;

37I

/?紀(jì)結(jié)果U?出到文件OUL&t中?/

38voidWriteDat(void)

39(

40FILE#fp;

41int1;

42fp?fopen(**out*wM);

43for(1-0;1<maxline;i++)

44(

45print/xx[i]);

46fprintf(fp,"%s\n*rxx(i]);

47\

48!fclose(fp);

49

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

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

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

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

制函數(shù)SortDat,其功能要求:按產(chǎn)品代碼從小到大進行排列,若產(chǎn)品代

碼相同,則按金額從小大進行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell

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

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

題;產(chǎn)品代碼比較請用函數(shù)stremp進行解題。例如:sell[i]=temp;

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

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

finclude<stdio.h>

finclude<string.h>

linclude<stdlib.h>

?define!4AX100

typedefstruct

(

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

char;/?產(chǎn)品名瓊?/

intdj;/?,價?/

intsi;/?收■?/

longje;/?金??/

)PRO;

PROsell[MAX];

voidReadDat();

voidWriteDat();

voidSortDatO

19

voidm41n0

mernsct(AolU。,slzeof(sell));

ReadDat()f

SortDa匕0;

WriteDat():

/?試取B100個帆2記景先俘人削I種a》HI中?/

voidReadD&t()

FILE?fp;

30charstr[80]tch[11);

31intLi

32fp-fopen"r")?

33for(4.?0;1<100;IT)

34(

35fgets(str,80#fp);

36memizpy(sellUI.dw,strf4”

37memcpy(sell(1].mefstr?4,

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

39sei1[1J.dj.<toi(ch);

40memepy(chfstr1*18,5):ch15]-0;

sell[1].al-atoi(ch)f

42sellfi].je?(long)sell(i].d

431

44fclose(fp);

45

八把姑星■出到文"gt&t中。

?dm,aellfil.me,sell(i|.dj,sellli].si

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

性。(10分)

六、單選題口分K2題)

43.設(shè)在SQLServer2008中,用戶U1在DB1數(shù)據(jù)庫中創(chuàng)建了#Temp表。

下列關(guān)于#Temp表的說法中,正確的是()。

A.只有在創(chuàng)建#Temp表的連接中才可以查詢#Temp表數(shù)據(jù)

B.在所有用戶U1發(fā)起的連接中,都可以查詢#Temp表數(shù)據(jù)

C.在創(chuàng)建#Temp表的連接未斷開時,DB1數(shù)據(jù)庫的所有用戶都可以查詢

#Temp表數(shù)據(jù)

D.在創(chuàng)建#Temp表的連接斷開時,DB1數(shù)據(jù)庫的所有用戶仍可以查詢

#Temp表數(shù)據(jù)

44.設(shè)有選課表(學(xué)號,課程號,成績),現(xiàn)要統(tǒng)計每門課程的選課人數(shù),

并將結(jié)果保存到新表:選課情況表。下列語句中正確的是()o

A.SELECT課程號,COUNT(*)選課人數(shù)FROM選課表INTO選課情

況表GROUPBY課程號

B.SELECT課程號,COUNT(*)選課人數(shù)INTO選課情況表FROM選

課表GROUPBY課程號

C.SELECT課程號,COUNT(*)FROM選課表INTO選課情況表(課

程號,選課人數(shù))GROUPBY課程號

D.SELECT課程號,COUNT(*)INTO選課情況表(課程號,選課人數(shù))

FROM選課表GROUPBY課程號

參考答案

1.B解析:WWW網(wǎng)址中,用來表示國家的域名應(yīng)該放在最后一部分。

因此本題中B不符合WWW網(wǎng)址的書寫規(guī)則。

2.C解析:在數(shù)字簽名技術(shù)中使用安全單向散列函數(shù)的原因是該函數(shù)使

得不同明文生成相同信息摘要的概率很小.因此正確答案為選項C。

3.C解析我們常用的關(guān)系數(shù)據(jù)庫管理系統(tǒng)主要有Oracle,MSSQLServer,

IBMDB2,Sybase等。

4.D解析:數(shù)據(jù)模型是客觀事物及其聯(lián)系的數(shù)據(jù)描述,數(shù)據(jù)模型不僅表

示存儲了哪些數(shù)據(jù),而且以一定的結(jié)構(gòu)形式表示了各種數(shù)據(jù)之間的聯(lián)系。

因此,數(shù)據(jù)模型是記錄及其聯(lián)系的集合。

5.B解析:根據(jù)該表的語法,S#,SName不能為空,因此選項C),D)不

能被插入。在選項A)中,由于各列均為字符,所以應(yīng)用引號表示,而該

選項中的“女”沒加引號,所以選項A)也不能被插入。

6.D解析:SQL語言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義、數(shù)據(jù)控制功能

于一體。掌握關(guān)系數(shù)據(jù)庫系統(tǒng),關(guān)系代數(shù)和關(guān)系演算。

7.D解析:網(wǎng)絡(luò)協(xié)議主要由語法、語義和時序3部分組成。語法規(guī)定了

用戶數(shù)據(jù)與控制信息的結(jié)構(gòu)與格式。語義規(guī)定了用戶控制信息的意義以

及完成控制的動作與響應(yīng);時序是對事件實現(xiàn)順序的詳細(xì)說明。聯(lián)網(wǎng)計

算機之間的通信必須遵循共同的網(wǎng)絡(luò)協(xié)議,可以相互之間制定協(xié)議。注

意:因為聯(lián)網(wǎng)計算機之間的通信必須遵循共同的網(wǎng)絡(luò)協(xié)議,所以D)錯。

掌握網(wǎng)絡(luò)協(xié)議的概念和網(wǎng)絡(luò)協(xié)議的組成。

8.C解析:物理設(shè)計的內(nèi)容包括:存儲記錄的格式設(shè)計、存儲方法設(shè)計、

存取方法。掌握數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計的過程,如何解決系統(tǒng)開銷問題。

9.C解析二叉排序樹的平均檢索長度與二分法檢索的長度都是O(log2n)o

掌握二叉樹的存儲方式和線索二叉樹的概念。

10.B解析:根據(jù)“根-左-右”,“左-根-右”,“左-右-根”的先序、中序、后

序遍歷原則,可以知道,在3種遍歷所產(chǎn)生的序列中,所有葉節(jié)點的先

后順序是完全相同的。

11.不可靠的數(shù)據(jù)投遞服務(wù)【解析】IP服務(wù)的3個主要特點是不可靠的

數(shù)據(jù)投遞服務(wù)、面向非連接和盡最大努力投遞服務(wù)。

12.數(shù)據(jù)字典數(shù)據(jù)字典解析:數(shù)據(jù)字典(DD)是各類數(shù)據(jù)描述的集合。數(shù)

據(jù)字典通常包括數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程5個

部分。

13.應(yīng)用級【解析】網(wǎng)絡(luò)防火墻包括包過濾路由器、應(yīng)用級網(wǎng)關(guān)和電路

級網(wǎng)關(guān)。

14.節(jié)省內(nèi)存空間存儲共享是指兩個或多個進程共用內(nèi)存中相同的區(qū)域,

目的是節(jié)省內(nèi)存空間,實現(xiàn)進程間通信,提高內(nèi)存空間的利用效率

15.打開

打開

用戶調(diào)用建立和打開文件操作來申請對文件的使用權(quán)。

16.數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)解析:數(shù)據(jù)管理技術(shù)的發(fā)展,與硬件、軟件

和計算機應(yīng)用的范圍有密切關(guān)系。數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)過了3個階段:

人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫階段。

17.檢索器【解析】搜索引擎在外觀、功能等方面都不相同,但其構(gòu)成

一般包括搜索器、索引器、檢索器和用戶接口4個部分。

18.[(n-l)/2][(n-l)/2]解析:根據(jù)完全二叉樹的定義及順序存儲結(jié)構(gòu)的特

點,可知答案為Kn-l)/2]。

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

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

20.網(wǎng)狀型【解析】在網(wǎng)狀型拓?fù)錁?gòu)型中,結(jié)點之間的連接是任意的沒

有規(guī)律。網(wǎng)狀型拓?fù)涞闹饕獌?yōu)點是系統(tǒng)可靠性高。目前實際存在與使用

的廣域網(wǎng)結(jié)構(gòu)基本上都采用網(wǎng)狀型拓?fù)錁?gòu)型。

21.A

22.B

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

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

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

24.D解析FCB(文件控制塊)是系統(tǒng)為管理文件而設(shè)置的一個數(shù)據(jù)結(jié)構(gòu),

是文件存在的標(biāo)志,記錄了系統(tǒng)管理文件所需要的全部信息;FIFO是

先進先出,一般表示某些算法(隊列操作、存儲頁面淘汰等);PCB是進

程控制塊,描述進程的基本情況以及進程的運行變化過程。

25.B

26.A

27.A

28.B解析:需要查詢的是姓名和年齡屬性,故主句為SELECTSNAME,

AOEoWHERE子句中可以使用BETWEEN進行查詢,BETWEEN指

定允許取值的范圍,AND前面是低值,后面是高值。年齡在20到23歲

之間的條件表達式應(yīng)為BETWEEN20AND23o

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

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

30.C

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

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

\n【解題思路】

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

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

\n【參考答案】

\n

\n

\n

32.\n[審題關(guān)鍵句】個位-千位-百位-十位數(shù)大于零的個數(shù),把所有滿足

此條件的數(shù)依次存入數(shù)組,按從大到小的順序排序。

\n【解題思路】

\n本題類似第9套試題,通過審題可以發(fā)現(xiàn)有兩個不同點:①要求統(tǒng)計

的四位數(shù)的條件是“個位一千位-百位一十位數(shù)大于零的個數(shù)”,參考答案

的第8條語句修改if語句的判斷條件即可。②將統(tǒng)計結(jié)果按從大到小的

順序排序,參考答案的第13條語句,修改兩數(shù)組元素的大小比較符即

可。另外,對于數(shù)據(jù)交換的整型變量tmp可以自定義其變量名。

\n【參考答案】

\n

\n

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

序。

\n【解題思路】

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

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

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

位數(shù)的奇數(shù)的判斷及整除判斷,參考答案的第10條語句。

\n【參考答案】

\n

\n

34.\n[審題關(guān)鍵句】字符的ASCII值右移4位二進制位,高位補。后加

原字符的ASCII值。

\n【解題思路】

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

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

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

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

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

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

\n【參考答案】

\n

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

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

\n【解題思路】

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

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

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

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

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

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

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

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

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

\n【參考答案】

\n

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

\n【解題思路】

\n①首先定義一個計數(shù)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論