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

下載本文檔

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

文檔簡介

2022年山西省臨汾市全國計算機(jī)等級考試

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

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

一、1.選擇題(10題)

i.下列對進(jìn)程間相互通信的描述錯誤的是

A.進(jìn)程互斥是指每次只允許一個進(jìn)程使用臨界資源

B.進(jìn)程控制是通過原語實現(xiàn)的

C.P、V操作是一種進(jìn)程同步機(jī)制

D.管道不是一種進(jìn)程高級通信機(jī)制

2.對含有n個元素的散列表進(jìn)行檢索,平均檢索長度為o

A.O(n2)

B.O(nlog2n)

C.O(log2n)

D.不直接依賴于n

3.發(fā)生中斷時被打斷程序的暫停點稱為

A.中斷源B.斷點C.中斷響應(yīng)D.中斷處理程序

4.數(shù)據(jù)庫功能可分為前端和后端。下列敘述錯誤的是

A.后端負(fù)責(zé)存取結(jié)構(gòu)、查詢計算和優(yōu)化、并發(fā)控制以及故障恢復(fù)

B.前端包括表格生成器、報表書寫工具、圖形用戶界面工具等

C.前端與后端之間通過過程化語言來接口

D.在集中式系統(tǒng)中,前端和后端在同一個系統(tǒng)中運行

5.下列關(guān)于進(jìn)程的敘述中,正確的是______o

A.進(jìn)程申請CPU得不到滿足時,其狀態(tài)變?yōu)榈却隣顟B(tài)

B.在單CPU系統(tǒng)中,任一時刻有一個進(jìn)程處于運行狀態(tài)

C.優(yōu)先級是進(jìn)行進(jìn)程調(diào)度的重要依據(jù),一旦確定不能改變

D.進(jìn)程獲得處理機(jī)而運行是通過調(diào)度而得到的

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

入第三個交叉關(guān)系?

A.需要B.不需要C.無所謂D.將兩個實體合并

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

有葉結(jié)點的先后順()。

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

后序相同,而與前序不同

8.關(guān)系數(shù)據(jù)庫中有三種基本操作,從表中取出滿足條件的屬性成分的操

作稱為O

A.選擇B.投影C.連接D.掃描

9.下列屬于人工管理階段的特點的是

A.數(shù)據(jù)能夠保存B.數(shù)據(jù)無專門軟件進(jìn)行管理C.數(shù)據(jù)能共享D.數(shù)據(jù)具

有獨立性

10.IBM的商務(wù)智能解決方案的基本結(jié)構(gòu)不包括()。

A.數(shù)據(jù)倉庫B.數(shù)字圖書館C.多維分析模型D.前臺分析工具

二、填空題(10題)

U.從工作特性的角度可將設(shè)備分類為[]設(shè)備和存儲設(shè)備,運算器,

控制器

12.數(shù)據(jù)包過濾技術(shù)是在_________對數(shù)據(jù)包進(jìn)行選擇。通過檢查數(shù)據(jù)

流中每個數(shù)據(jù)包的源地址、目的地址、所用的端口號、協(xié)議狀態(tài)等因素,

或它們的組合來確定是否允許該數(shù)據(jù)包通過,它通常安裝在路由器上。

13.在關(guān)系數(shù)據(jù)模型中,二維表的列稱為屬性,二維表的行稱為o

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

15.用二維表的形式來表示實體之間聯(lián)系的數(shù)據(jù)模型叫做。

16.從被管理設(shè)備中收集數(shù)據(jù)有兩種方法:輪詢法和基于中斷法,將兩者

結(jié)合起來的(Trap—directedPolling)是執(zhí)行網(wǎng)絡(luò)管理最有效

的方法。

17.進(jìn)行并、差、交集合運算的兩個關(guān)系必須具有相同的即元

組結(jié)構(gòu)相同。

18.不可逆加密機(jī)制包括Hash算法和消息認(rèn)證碼,用于數(shù)字簽名和

19.因特網(wǎng)主要由通信線路主機(jī)和信息資源四部分組成。

20.設(shè)有如下關(guān)系:學(xué)生(學(xué)號,姓名,性別,年齡,班號)其關(guān)鍵字是學(xué)

號,將學(xué)號為10的學(xué)生姓名改為“王華”的SQL語句是【】。

三、單選題(10題)

21.下列角色中,具有數(shù)據(jù)庫中全部用戶表數(shù)據(jù)的插入、刪除、修改

權(quán)限且只具有這些權(quán)限的角色是__________O

A.db_ownerB.db_datareaderC.db_datawriterD.public

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

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

23.在E-R圖和數(shù)據(jù)流圖中都使用了方框,下列說法中有錯誤的是()

A.在E-R圖中表示實體B.在E-R圖中表示屬性C.在數(shù)據(jù)流圖中表示起

點D.在數(shù)據(jù)流圖中表示終點

24.某單道批處理系統(tǒng)中有四個作業(yè)J0B1、JOB2、JOB3和JOB4,它

們到達(dá)“輸入井”的時刻和需要的運行時間如下表所示:

作業(yè)進(jìn)入系統(tǒng)時間估計運行時間(分鐘)

J0B18:3080

J0B28:5020

J0B39:2040

J0B49:3035

假設(shè)9:30開始進(jìn)行作業(yè)調(diào)度,按照最高響應(yīng)比作業(yè)優(yōu)先算法,首先被調(diào)

度的作業(yè)是

A.JOB1B.JOB2C.JOB3D.JOB4

25.下列關(guān)于時鐘的敘述中,哪一條是不正確的?()

A.A.時鐘中斷可以屏蔽

B.時鐘是操作系統(tǒng)運行的必要機(jī)制

C.時鐘可以分成硬件時鐘和軟件時鐘

D.利用時鐘中斷可以實現(xiàn)進(jìn)程的輪轉(zhuǎn)運行

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

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

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

27.FoxProDOS是()

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

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

28.在SQLSever中創(chuàng)建用戶數(shù)據(jù)庫,實際就是定義數(shù)據(jù)庫所包含的文件

以及文件的屬性。下列不屬于數(shù)據(jù)庫文件屬性的是_________0

A.初始大小B.物理文件名C.文件結(jié)構(gòu)D.最大大小

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

要反映()

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

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

30.下面哪些是參數(shù)調(diào)整中需要關(guān)注的對象。

A.內(nèi)存分配B.磁盤I/OC.資源競爭D.以上全部

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

31.已知在in.dat中存有若干個(個數(shù)<200)1四位十進(jìn)制數(shù)字組成的正

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

數(shù)CalValueO,其功能要求:

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

2.求這些正整數(shù)右移1位二進(jìn)制位后,產(chǎn)生的新數(shù)是偶數(shù)的數(shù)的個數(shù)

totCnt,以及滿足此條件的這些正整數(shù)(右移前的值)的算術(shù)平均值totPjz。

最后main函數(shù)調(diào)用函數(shù)WriteDat把所求的結(jié)果輸出至out.dat文件

中。

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

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

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

Iinclude<stdio.h>

2IdefineMAXNUM200

3intxx(MAXNUM];

4inttotNum?0;〃文件in.dat中共有多少個正整it

5inttotCnt-0;〃符合條件的正■散的個數(shù)

6doubletotPjz,0?0j〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain()

14(

15int1;

16ford-0;i<MAXNUM;i++)

17xx[i],0;

18if(ReadDat())

19(

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

21return;

22I

23CalValue();

24printf("文件in.dat中共有正整數(shù)個totNum);

25printf("符合條件的正整數(shù)的個數(shù)個\G”,totCnt);

26print—”平均值7?21f\n-,totPjz);

27WriteDat();

28I

,?讀取這芾干個正0敏并存入敏但u中?/

29!intReadDat(void)

?

30iI

31:FILEefp;

32?int1?0;

331£((fp-f0pen("in.datw,wr"))-NULL)

34ceturn1;〃如果,n,<Ut文代為空,附運際】

/?whileTK執(zhí)行,痛邪文杵Dust的納總遢出?/

35while(!feof(fp)>

361

37fscanf(fp?"Qd,4xx:1+?/);〃從文件,n.datitH,個Mr存入xx[幻中?WHlID】

38I

39fclose(fp);

40return0;〃£文件,n.<Uc若干個:E?敏?取并正■存入收皿“中第四。

41

,?總計算的最存入文件gt.dat中?/

42voidNriteDat(void)

43(

44FILE-fp;

45fp-£open("out.cUit*r"w*);

,;,H

fprintf(tpf"td\n%d\nt.21£\nftotNuxn,totCntttotPjz);

47fclose(fp);

48

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

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

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

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

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

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

字),如果新組成的兩個數(shù)ab-cd〉=0且ab.cd<=10且兩個數(shù)均是奇數(shù),

同時兩個新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到

小的順序存入數(shù)組b中,并要計算滿足上述條件的四位數(shù)的個數(shù)cnto

最后main函數(shù)調(diào)用寫函數(shù)writcDat把結(jié)果ent以及數(shù)組b中符合條件

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

注意I部分源程序存在也C文件中.

程序中已定義數(shù)BPOObb{200],已定義變量,ent

請勿改動數(shù)據(jù)文件ndai中的任何數(shù)據(jù).主由敷mag).讀咕數(shù)reMDatO和寫的數(shù)writeDatO的內(nèi)容.

?include<stdio.h>

?defineMAX200〃京義宏交■MAX,其值等于20。

3inta[MAX),b(MAX),ent-0;〃定義全局整甲-1?敷蛆.IMAX。b[3即受?enj耳初值尊于0

4voidwriteDat();

5voidjsVal()

6

7

8

9voidreadD&tO〃從in.dat文件中g(shù)取20。個四位數(shù)存入敷m.中

10(

11inti;

FILE?fp;

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

14for(1-0;i<MAX;1V*)

1Stscanf(fp,"%d",fcafi]);

16fclose(fp);

17

18ivoidmainO

19;1

20?int1;

21readDat();

22jsValO;〃四用””【()偷敷實現(xiàn)■目?求的功能

23prlntf「滿足條件的IftTd'n".ent);

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

25printf(w%db[i]);

26printf("\nw);

27writeDat();

28)

29voidwriteDat()〃耙計11結(jié)果cm以及敏姐b中符合條件的四位敷?出到文件中

30

31FILETp;

32inti;

33fp-fopen("out.datw,Ww");

34fprintf(fp,"%d\n"rent);

35ford?0;i<ent;[?*)

Hw

36fprintf(fpr%d\n,b(iH;

37fclose(fp);

38

33.已知在文件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,其功能要求:按金額從大到小進(jìn)行排列,若金額相等,

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

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

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

題。

例如:sell[i]=temp;

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

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

fInclude<stdio.h>

?Include<strlng.h>

^include<8tdlib.h>

,defineMAX100

5typedefstruct

6(

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

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

9intdj;/?單價?/

10intsi;/?**?/

11longje;/??/

12}PRO;

13PROsell[MAX);

14;voidReadDat();

15!voidWriteDat();

16voidSortDat()

17

18

19

20voidmainO

21(

22nmas?t(sell00,sizcof(sell));

23ReadDat();

24SortDat();

25!WritoDat();

26;)

271voidReadDat<)

28;(

29FILEwfp;

30charstr(80),ch[111;

31inti;

32fp?fopen("ln.dat"r"L”

33for(l*0;1<100;£??)

34(

35fgets<str?80<fp);

36memcpy(sell[1]str.4);

37reotncpy(sell(l).mcrstr?4,10);

38metncpy(ch,4);ch(4)-0;

39sell(1).dj-atol(cb);

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

41sell(1).91?atol(ch);

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

43

44fclose(fp);

45

46voidwritoDat()

47

48FILE*fp;

49int1;

50fp?topen("out?dat","w">;

51ford?0;1<100;

52I

53fprlntf(fp,"%Bla%4dISdHOldXn*,9011(11.dmFsell[i].me,sell(1j.djr>ell(1J.sl?

sell(1).je);

54

55fclose(fp);

56

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

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

位數(shù)的千位數(shù)位置上的值小于等于百位數(shù)位置上的值,百位數(shù)位置上的

值小于等于十位數(shù)位置上的值,以及十位數(shù)位置上的值小于等于個位數(shù)

位置上的值,并且原四位數(shù)是偶數(shù),則統(tǒng)計出滿足此條件的個數(shù)ent并

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

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

中。

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

程序中已定義數(shù)紈:4200].b(2OOJ,已定義變量tent

請勿改動It據(jù)文件in.dai中的任何數(shù)據(jù)、主的數(shù)main。、讀的數(shù)reMDa")和寫函數(shù)writeDatO的內(nèi)容

finclude<stdio.h>

2?defineMAX200〃定義宏變量MAX,H值等于20。

3inta(MAX),b(MAX|/ent-0;〃定義載翔a【MAx),b【MAX】和受■st,先1?,6t的初值為胃

4voidwriteDat();

5voidjsVaK)

6,

8

9voidreadDatO

ic

int1;

12FILE#fp;

13fp?fopen("in-dat","r")

14ford-0;i<MAX;

15fscanf(fp,7d-,

16fclose(fp);

17

18voidmain()

19

20int1;

21readDat();

22jsValC);〃?用"實現(xiàn)姿求的功能

23printf("滿足條件的數(shù)7d\n".ent);

24for(1?0;i<ent;

25printf("%db[l]);

26printf("\nw);

27writeDaC();

28

29voidwriteDatO

30

31FILE?fp;

32int1;

R

33fp-fopen(*out.datr"w");

34fprintf(fp,ent);

35ford-0;1<ent;

36fprintf(fp,*%d\nw,b(lj);

37fclose(fp);

38

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

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

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

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

出到文件Out.dat中。

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

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

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

位置上。

例如t位置012345678

源字符串a(chǎn)bcdhgfe

123498765

則處理后字符串hgfcdcba

87659432I

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

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

1?tinclude<stdio.h>

2??include<string.h>

3-charxx[201[80);

4voidreadDat();

5voidwriteDatO;

6voidjsSort()

7

8

9

10voidmain()

readDat0;

jsSort();

writeDat();

/?從文件metal中讀取20行敗據(jù)存放到字符東歌用xx中?/

16voidreadDatO

17

18FILE*in;

19inti?0;

20char*p;

21in=fopen(win.dat**,wrR);

22whiled<20“fgets(xx(ilt80,in)NULL)

23

24p-strchr(xx?iJr*\n*)

25if(p)*p-0;

26

27

28fclose(in);

29

?用到文科oui.det中?/

30voidwriteDac()

32FILEeout;

33int1;

34out-fopen(,?out.dat","

35for(1*0;1<20;

36

37printfxx[1));

38fprintf(out,xxij);

39

40fclose(out);

41

36.已知數(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ù)按從小到大的順序進(jìn)行排序。最后main函數(shù)調(diào)用寫函數(shù)writeDat把

數(shù)組b中的數(shù)輸出到文件out.dat中。

例如?6712.6+2-7+1.則該數(shù)滿足條件存入數(shù)組b中,且個數(shù)cm=cm+l.

8)29,8*9!-H2.則該數(shù)不海足條件忽略.

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

程序中已定義效fibo[300],b[300).已定義變量,cm

請勿改動數(shù)據(jù)文件imdat中的任何數(shù)據(jù)、主的數(shù)mainO、讀函數(shù)readDaU)和寫函數(shù)wrUcDaiQ的內(nèi)容.

1jiinclude<stdio.h>

2;inta(300),b(300],cnt-0;

3!voidwriteDat();

4jvoidreadDat();

5-voidjsValue()

6;(

7;

8\)

9?main()

10;(

int1;

12;readDat();

13i

jsValueO;

14writeDat();

w

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

16for(i?0;i<ent;

ww

17printf(b[td]-%d\nr1,

18

19JvoidreadDat()

20

21FILE,fp;

22inti;

23fp?fopen("in.dat"#Hrw);

24for(i-0;i<300;

25facanf(fpfFdJ,

26fclose(fp);

27I

28voidwriteDat()

I

30FILEefp;

31int1;

wH

32fp?fopen(°out.dat**rw);

33fprintf(fp,Fd\n",ent);

34for(i-0;i<ent;i**)

Rw

35fprintf(fpr%d\nrb[l));

36fclose(fp);

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

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

中的所有字符進(jìn)行替代,仍存入數(shù)組XX對應(yīng)的位置上,最后調(diào)用函數(shù)

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

替代關(guān)系:f(p)=p*“mod256,mod為取余運算,P是數(shù)組XX中某一

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

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

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

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

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

進(jìn)行處理。

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

1?include<stdio.h>

2?include<string.h>

3?include<ctype.h>

4unsignedcharxx[50][80];

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9I

10unsignedintval;

11

12

13voidmain()

14(

15if(ReadDatO)

16(

17printf("數(shù)據(jù)文件m.dat不佬打開!\n\007");

18return;

19)

20encryptChar();

21WriteDat();

22I

,?從文付mdal中口:取一■莢文文??存人父字符中數(shù)mu中?/

intReadDat(void)

24

25FILE*fp;

26inti-0;

27unsignedchar*p;

28if((fp-fopen(-in.datH,)-NULL)

29return1;

30while(fgets(xx(1),80,fp)-NULL)

31I

32p=strehr(xx(i)#*\n*);

33if(p)*p-0;

34If

35

36maxline-i;

37fclose(fp);

38return0;

39>

/????u■出到文件outdai中?/

40voidWriteDat(void)

41

42FILE*fp;

43inti;

44fp■fopenfout.dat**,W

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

46(

47printf("laXn",xx{iB;

48fprintf(fprFs\n",xx(i]);

49

50fclose(fp);

51

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

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

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

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

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

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

字),如果新組成的兩個位數(shù)ab〉cd,ab必須是偶數(shù)且能被5整除,cd必

須是奇數(shù),同時兩個新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位

數(shù)按從大到小的順序存入數(shù)組b中,并要計算滿足上述條件的四位數(shù)的

個數(shù)ent。最后main函數(shù)調(diào)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b中

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

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

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

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

!linclude<stdio.h>

j?defineMAX200

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

4!voidwrlteDat();

5!voidjsVal()

6

7

8

9voidreadDat()〃從m.dat文件中it取200個四位數(shù)存入數(shù)超a中

10j(

11-int1;

12?FILE*fp;

13;fp-fopen(Hin.datw,-r*1);

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

15!fscant(tp.wtd",;

16;fclose(fp);

17;}

18;voidmain()

19;(.

20!inti;

21ireadDat("

22jjsValO;〃調(diào)用南敏”vc(>,去觀的動能

23ipr£ntf「海足條件的敏Td\n”,ent);

24ifor(i-0;i<ent;11??)

251printf(w%d-,b[iD;

26?prlntf("\nw);

27writeDat();

28?

29voidwriteDat()〃把計算的果cm以及敷蛆b中希臺條忖的四位依■出jMouidm文件中

30(

31FILE,£p;

32inti;

33fp?fopenLout.dat".Rww);

w

34fprintf(fp,%d\n",ent);

35for(i-0;i<ent;£??)

36fprintf(fprb[l]);

37fclose(fp);

38

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

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

位數(shù)的千位數(shù)位置上的值減去百位數(shù)位置上的值再減去十位數(shù)位置上

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

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

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

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

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

程序中已定義敏蝸,4200].H200],已定義ent

請勿改動數(shù)據(jù)文件Hdat中的任何敗猿、主穗敷讀承敬rradDitO和寫函數(shù)*期加()的內(nèi)心

1?linclude<stdio.h>

2;IdefineMAX200

3;intd{MAXhb[MAXJ,ent-0;

4?voidwriteDat();

5;voidjsVal()

611

7;

ei>

9!voidreadDat()

10;1

11jint1;

12!FILE*£p;

13ifp-fopen("in.dat*,*rr,):

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

15?fscanf(fp,"QdL&a[i]);

16■(close(fp);

17!)

18Ivoidmain()

19i1

20?int1;

21;readDat0;

22ijsValO;

231prlntf足條件的數(shù)cnt);

24;for(1-0;i<ent;ii)

25!printf(0%d-,bfi]);

26jprintf(",\nw|;

27;writeDat();

28!)

29;voidwriteDat<)

30?(

31?FILE?fp;

32;inti;

w

33.fp"(open(*out.dat,*f**w>;

34jfprintf(fp*ent);

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

w

36!fprintf(fpr-td\nrb(i));

37:fclose(fp);

38

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

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

其功能要求:

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

2.求這些正整數(shù)右移1位二進(jìn)制位后,產(chǎn)生的新數(shù)是奇數(shù)的數(shù)的個數(shù)

totCnt,以及滿足此條件的這些正整數(shù)(右移前的值)的算術(shù)平均值totPjzo

最后main函數(shù)調(diào)用函數(shù)WriteDat把所求的結(jié)果輸出至文件out.dat

中。

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

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

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

tinclude<5tdlo.h>

IdefineMAXNUM200

3intxxlMAXNUM);

4inttotNum■0;〃文件in.dau中大有多少個正整數(shù)

5inttotCnt-0;//符合條件的正整數(shù)的個也

6doubletotPjz-0.0;〃平均

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain()

14I

15int1;

16ford-0;i<MAXNUM;

17xxIi]?0;

18if(ReadDat())

19(

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

21return;

22I

23CalValue();

24printf("文件in.dat中共有正整故個totNum);

25prin"L符合條件的正餐般的個數(shù)“d個totCnt);

26printf(”平均值7totPjz);

27WriteDat();

28)

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

29intReadDat(void)

30(

31FILE*fp;

32int1-0;

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

34return1;

35while(!feof(fp))

36I

37fscanf(fp#7dJ.4xx{i+*]);

38)

39fclose(fp);

40return0;

41}

〃把計算站累存入文件,ut.dat中?/

42voidWriteDat(void)

43(

44FILE*fp;

45fp-fopen(**out.dat",**wH>;

ww

46fprintf(fp,%d\n%d\ni.21f\n,totNum,totCnt,totPjz);

47fclose(fp);

48

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

41.設(shè)有高校選課系統(tǒng),需要對學(xué)校的系信息、教師信息、課程信息、

學(xué)生信息、學(xué)生選課信息進(jìn)行管理。已知系(DEPT)信息包括系編號

(DeptNO)>系名稱(DeptName);教師(Teacher)信息包括教師

號(TNO)、教師名(Tname);課程(Course)信息包括課程號

(CNO)>課程名(CName)、課程學(xué)分(Credit);學(xué)生(Student)

信息包括學(xué)號(SNO)、學(xué)生姓名(Sname)、學(xué)生性別(Sex)。選

課系統(tǒng)的管理規(guī)則如下:I.一個系可聘用多名教師,一個教師只受

聘于一個系;H.一個系可有多名學(xué)生,一個學(xué)生只屬于一個系;

III.一名教師可講授多門課程,一門課程可由多名教師講授;IV.一

名學(xué)生可選修多門課程,一門課程可被多名學(xué)生選修;V.學(xué)生選修完

課程后,可獲得相應(yīng)課程的成績。針對以上描述,完成下列設(shè)計內(nèi)

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

給出的英文名,聯(lián)系所關(guān)聯(lián)的實體集名的首字母,字母問用"一''或

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

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

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

限)(4分)

42.現(xiàn)有論文和作者兩個實體,論文實體的屬性包括題目、期刊名稱、年

份、期刊號,?作者實體的屬性包括姓名、單位、地址;一篇論文可以有

多個作者,且每一位作者寫過多篇論文,在每一篇論文中有作者的順序

號。請完成以下操作:(1。分)(1)畫出E-R圖。(2)將E-R圖轉(zhuǎn)換成

關(guān)系模式,并指出每個關(guān)系模式的主鍵(加下劃線)和外鍵(加波浪線)O

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

43.設(shè)數(shù)據(jù)庫管理員為SQLServer2008默認(rèn)實例中的某數(shù)據(jù)庫實施了基

于維護(hù)計劃的數(shù)據(jù)庫備份任務(wù)。配置完成后,發(fā)現(xiàn)此維護(hù)計劃并未執(zhí)行

但數(shù)據(jù)庫運行正常。有關(guān)此維護(hù)計劃未執(zhí)行的原因,下列說法中最有可

能的是()o

A?€SQLServer(MSSQLSERVER)”服務(wù)未啟動

B."SQLServer代理(MSSQLSERVER)”服務(wù)未啟動

C."SQLServerBrowser”服務(wù)未啟動

D."SQLServerVSSWriter”服務(wù)未啟動

44.在數(shù)據(jù)庫管理系統(tǒng)中,為保證并發(fā)事務(wù)的正確執(zhí)行,需采用一定的并

發(fā)控制技術(shù)。下列關(guān)于基于鎖的并發(fā)控制技術(shù)的說法,錯誤的是()o

A.鎖是一種特殊的二元信號量,用來控制多個并發(fā)事務(wù)對共享資源的使

B.數(shù)據(jù)庫中的鎖主要分為排它鎖和共享鎖,當(dāng)某個數(shù)據(jù)項上已加有多個

共享鎖時,此數(shù)據(jù)項上只能再加一個排它鎖

C.數(shù)據(jù)庫管理系統(tǒng)可以采用先來先服務(wù)的方式防止出現(xiàn)活鎖現(xiàn)象

D.當(dāng)數(shù)據(jù)庫管理系統(tǒng)檢測到死鎖后,可以采用撤銷死鎖事務(wù)的方式解除

死鎖

參考答案

LD解析:系統(tǒng)中一些資源一次只允許一個進(jìn)程使用,這類資源成為臨

界資源。許多進(jìn)程常常需要共享資源,而這些資源往往只能為一個進(jìn)程

服務(wù),進(jìn)程間的這種關(guān)系是進(jìn)程的互斥。進(jìn)程控制是通過原語實現(xiàn)的。

P、V操作是一種進(jìn)程同步機(jī)制。所謂管道,就是連接兩個進(jìn)程之間的

一個打開的共享文件夾,專用于進(jìn)程間進(jìn)行數(shù)據(jù)通信。它是一種進(jìn)程高

級通信機(jī)制。

2.D解析:散列存儲和檢索,一般是根據(jù)關(guān)鍵字的值,計算出散列函數(shù)

的值來確定元素的位置,因此與n的大小無關(guān)。

3.B解析:引起中斷的事件稱為中斷源。發(fā)生中斷時被打斷程序暫停點

稱為斷點。CPU暫?,F(xiàn)行程序而轉(zhuǎn)去響應(yīng)中斷請求的過程稱為中斷響

應(yīng)。處理中斷源的程序稱為中斷處理程序。掌握中斷產(chǎn)生的原因,以及

解除中斷的方法。

4.C解析:數(shù)據(jù)庫功能可以分為兩部分:前端包括表格生成器、報表書

寫工具、圖形用戶界面工具等,后端包括計算和優(yōu)化、并發(fā)控制以及故

障恢復(fù),前端與后端之間通過SQL或應(yīng)用程序宋接口。在集中式系統(tǒng)

中,前端和后端在同一個系統(tǒng)中運行。

5.D解析:首先分析第一選項,進(jìn)程若已獲得除CPU以外的所有運行所

需資源,此時申請CPU的得不到滿足,應(yīng)該依然處于就緒狀態(tài)。正在

運行的進(jìn)程,因為某種原因而暫停,此時處于阻塞狀態(tài)(也稱等待狀態(tài)、

掛起狀態(tài)),顯然選項A所述不正確。第二步,分析下一個選項,根據(jù)

進(jìn)程具有并發(fā)性,可以知道在一個CPU系統(tǒng)中,任一時刻可以有多個

進(jìn)程運行,B選項可以排除。再分析C選項,進(jìn)程的優(yōu)先級可以通過相

應(yīng)的調(diào)度算法來確定和改變,所以C選項亦可排除。采用排除法,則我

們選擇D選項。

6.A解析:兩實體間的聯(lián)系是M:N時,關(guān)系模型是多對多聯(lián)系。在轉(zhuǎn)

換成關(guān)系模型時,需要把多對多聯(lián)系分解成一對多聯(lián)系,分解的方法就

是增加一個關(guān)系表示聯(lián)系,其中納入M方和N方的關(guān)鍵字。

7.B解析:對二叉樹的訪問有3種方式,其中任意的兩種可惟一確定一

顆二叉樹,但無論是前序、后序還是中序遍歷二叉樹時,其區(qū)別在于訪

問根的先后次序不同,而訪問葉結(jié)點的順序完全相同。

8.B解析:在關(guān)系數(shù)據(jù)庫中,選擇又稱為限制。它是指在關(guān)系R中選擇

滿足給定條件的元組。投影是指從R中選擇若干屬性列組成新的關(guān)系。

連接是指從兩個關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組。

9.B解析:人工管理階段的特點的是:數(shù)據(jù)不保存、數(shù)據(jù)無專門軟件進(jìn)

行管理、數(shù)據(jù)不共享、數(shù)據(jù)不具有獨立性。掌握操作系統(tǒng)的發(fā)展過程以

及各個階段的特點。

10.B

11.輸入/輸出或I/O馮諾伊曼提出來的計算機(jī)結(jié)構(gòu),一般包括5個功能

結(jié)構(gòu),運算器,控制器,存儲器,輸入和輸出設(shè)備

12.網(wǎng)絡(luò)【解析】數(shù)據(jù)包過濾技術(shù)是在網(wǎng)絡(luò)層對數(shù)據(jù)包進(jìn)行選擇。通過

檢查數(shù)據(jù)流中每個數(shù)據(jù)包的源地址、目的地址、所用的端口號、協(xié)議狀

態(tài)等因素,或它們的組合來確定是否允許該數(shù)據(jù)包通過,它通常安裝在

路由器上。

13.元組或記錄元組或記錄

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

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

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

15.關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型解析:根據(jù)關(guān)系數(shù)據(jù)模型的定義,實體

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

16.陷入制輪詢法【解析】從被管理設(shè)備中收集數(shù)據(jù)有兩種方法:一種

是輪詢方法,另一種是基于中斷的方法。將以上兩種方法結(jié)合的陷入制

導(dǎo)輪詢方法可能是執(zhí)行網(wǎng)絡(luò)管理最有效的方法。

17.關(guān)系模式關(guān)系模式解析:集合運算是從關(guān)系中的元組的角度來進(jìn)行

的。關(guān)系代數(shù)中的集合運算都要求進(jìn)行運算的所有關(guān)系具有相同的關(guān)系

模式,即元組的結(jié)構(gòu)相同。

18.身份認(rèn)證【解析】不可逆加密機(jī)制包括Hash算法和消息認(rèn)證碼,用

于數(shù)字簽名和身份認(rèn)證。

19.路由器【解析】因特網(wǎng)主要由通信線路、路由器、主機(jī)(服務(wù)器與客

戶機(jī))和信息資源構(gòu)成。

20.UPDATE學(xué)生SET姓名="王華"WHERE學(xué)號="10"UPDATE學(xué)生SET

姓名=’王華'WHERE學(xué)號=僅解析:SQL的數(shù)據(jù)更新命令如下:

UPDATETableNameSETColumn_Name1=eExpression1[,Column_Name2=

eExpression2..JWHERECondition

一般使用WHERE子句指定條件,以更新滿足條件的一些記錄的值。

21.C

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

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

沒有元素時稱為空棧。

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

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

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

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

23.B方框代表的是實體,屬性是橢圓,聯(lián)系是菱形

24.B解析:響應(yīng)比定義為系統(tǒng)對作業(yè)的響應(yīng)時間與作業(yè)運行時間的比值。

最高響應(yīng)比作業(yè)優(yōu)先算法優(yōu)先選擇響應(yīng)比最高的作業(yè)。對JOB1,JOB2、

J0B3和J0B4的響應(yīng)比分另1J為60/80=0.75、40/20=2、10/40=0.25和0/35=0,

因此首先被調(diào)度的作業(yè)是JOB2,正確答案為選項B。

25.D

26.C解析:應(yīng)用層協(xié)議主要有以下7種。①網(wǎng)絡(luò)終端協(xié)議TELNET,

用于實現(xiàn)互聯(lián)網(wǎng)中遠(yuǎn)程登錄功能。②文件傳送協(xié)議FTP,用于實現(xiàn)互

聯(lián)網(wǎng)巾交互式文件傳輸功能。③電子郵件協(xié)議SMTP,用于實現(xiàn)互聯(lián)網(wǎng)

中電子郵件傳送功能。④域名服務(wù)DNS,用于實現(xiàn)網(wǎng)絡(luò)設(shè)備名字到IP

地址映射的網(wǎng)絡(luò)服務(wù)。⑤路由信息協(xié)議RIP,用于網(wǎng)絡(luò)設(shè)備之間交換路

由信息。⑥網(wǎng)絡(luò)文件系統(tǒng)NFS,用于網(wǎng)絡(luò)中不同主機(jī)間的文件共享。

⑦HTTP協(xié)議,用于WWW服務(wù)。

27.B

28.C

29.A

30.D

31.\n【審題關(guān)鍵句】讀取正數(shù),統(tǒng)計個數(shù),右移后為偶數(shù)的個數(shù)及平均

值。

\n【解題思路】

\n①定義整型變量i、j和長整型he,并把其初始值設(shè)置為0。

\n②用for循環(huán)語句對數(shù)組XX進(jìn)行掃描,如果當(dāng)前數(shù)組元素xx[i]零,

則全局變量totNum加1。

\n③在for循環(huán)語句中,循環(huán)變量i從0開始遞增到totNum—1,對數(shù)

組xx中的每個元素XX國右移一位,把這個值賦給整型變量i,再對j

的值對2求余數(shù),如果余數(shù)等于0,則變量totCnt加1,并把數(shù)組元素

xx[i]累加到變量heo

\n④退出循環(huán)時,把變量he的數(shù)據(jù)類型轉(zhuǎn)換成雙精度型再除以變量

totCnt的值,就得到算術(shù)平均值totPjzo

\n【參考答案】

\n

\n

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

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

\n【解題思路】

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

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

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

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

位數(shù),根據(jù)題目要求,對其各位數(shù)進(jìn)行

溫馨提示

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

評論

0/150

提交評論