




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2023年廣東省茂名市全國計算機等級考試
數(shù)據(jù)庫技術(shù)真題(含答案)
學校:班級:姓名:考號:
一、1.選擇題(10題)
i.下面關(guān)于并行數(shù)據(jù)庫的體系結(jié)構(gòu)的敘述,比較全面的是
I.共享內(nèi)存結(jié)構(gòu)
n.共享磁盤結(jié)構(gòu)
in.無共享資源結(jié)構(gòu)
A.I和nB.n和nic.i和inD.I,n和ni
2.唯一標識實體的屬性集稱為
A.域B.碼C.聯(lián)系D.主屬性
3.S-Designer是一種可視化的數(shù)據(jù)庫設計工具,它的后續(xù)版本是Power-
Designer,使用它可以完成如下的哪些功能?
I.可以畫數(shù)據(jù)流圖(DFD)
II.可以畫實體聯(lián)系圖(E-R圖),即設計概念數(shù)據(jù)模型(CDM)
III.可以從概念數(shù)據(jù)模型(CDM)生成物理數(shù)據(jù)模型(PDM)
IV.可以從現(xiàn)存數(shù)據(jù)逆向生成物理數(shù)據(jù)模型(PDM)
V.可以從物理數(shù)據(jù)模型(PDM)逆向生成概念數(shù)據(jù)模型(CDM)
A.I、II和IIIB.I、II和WCI、II和VD.都可以
4.在三級模式之間引入兩級映像,其主要目的在于()。
A.提高系統(tǒng)處理能力B.提高數(shù)據(jù)庫系統(tǒng)安全性C.減少數(shù)據(jù)冗余D.提
高數(shù)據(jù)的獨立性
5.在分布式DBMS中,全局關(guān)系與數(shù)據(jù)分片之間的映像是____的。
A.一對一B.一對多C.多對一D.多對多
6.若對一個已經(jīng)排好序的序列進行排序,在下列4種方法中,哪種方法
比較好?
A.冒泡法B.直接選擇法C.直接插入法D.歸并法
7.設計概念結(jié)構(gòu)的策略有()。
I、自頂向下
II、自底向上
Ills由里向外
IV、由外向里
V、混合策略
A.n、in和ivB.I和nc.I、n、in和vD.全是
s.在下面的兩個關(guān)系中,學號和班級號分別為學生關(guān)系和班級關(guān)系的主
鍵(或稱主碼),則外鍵是學生(學號,姓名,班級號,成績)班級(班級
號,班級名,班級人數(shù),平均成績)
A.學生關(guān)系的“學號”B.班級關(guān)系的“班級號”C.學生關(guān)系的“班級號”D.
班級關(guān)系的“班級名”
9.在數(shù)據(jù)庫中,引起數(shù)據(jù)不一致性的根本原因是()。
A.大量的數(shù)據(jù)處理B.并發(fā)控制C.未對數(shù)據(jù)庫進行安全控制D.數(shù)據(jù)冗
余
10.設有二維數(shù)組A(12,10),其每個元素占4個字節(jié),數(shù)據(jù)按列優(yōu)先順
序存儲,第一個元素的存儲地址為100。則元素A(5,5)的存儲地址為
A.176B.276C.208D.308
二、填空題(10題)
H.SMTP的通信過程可以分成三個階段,它們是連接階段、
郵件傳遞階段和連接關(guān)閉階段。
12.若一棵二叉樹中度為2的結(jié)點數(shù)為11,則該二叉樹的葉結(jié)點數(shù)為
O
13.在SQL語言中,允許獲得某種權(quán)限的用戶把這種權(quán)限再轉(zhuǎn)授給其他
用戶,可以在GRANT語句中指定______子句。
14.B+樹索引支持搜索碼的屬性上的等值查詢和()查詢。
15.死鎖的4個必要條件是」]_、_[]_、不剝奪條件和循環(huán)等待
16.XMPP是一種基于的即時通信協(xié)議。
17.散列法存儲中處理碰撞的方法主要有兩類:拉鏈法和。
18.“向emp表增加一個k列,其數(shù)據(jù)類型為9個字符型”的SQL,語句
是:ALTERTABLEempo
19.__________服務是用于控制與限定網(wǎng)絡用戶對主機、應用、數(shù)據(jù)與
網(wǎng)絡服務的訪問類犁。
20.客戶程序訪問DBMS的常用標準一般有兩個:一個稱為開放數(shù)據(jù)庫
互連【】標準;另一個是面向Java程序語言的相關(guān)標準,稱為“1。
三、單選題(10題)
21.關(guān)于IP提供的服務,正確的是()。
A.A.IP提供了不可靠的數(shù)據(jù)投遞服務,因此數(shù)據(jù)報的投遞不能受到保
障
B.IP提供不可靠的數(shù)據(jù)投遞服務,因此它可以隨意丟棄報文
C.IP提供可靠的數(shù)據(jù)投遞服務,因此數(shù)據(jù)報投遞可以受到保障
D.IP提供可靠的數(shù)據(jù)投遞服務,因此它不能隨意丟棄報文
22.下列關(guān)于時鐘的敘述中,哪一條是不正確的?()
A.A.時鐘中斷可以屏蔽
B.時鐘是操作系統(tǒng)運行的必要機制
C.時鐘可以分成硬件時鐘和軟件時鐘
D.利用時鐘中斷可以實現(xiàn)進程的輪轉(zhuǎn)運行
23.為了實現(xiàn)數(shù)據(jù)庫的邏輯結(jié)構(gòu)設計和物理結(jié)構(gòu)設計結(jié)果,必須使用具體
的DBMS提供的數(shù)據(jù)定義語言建立實際的數(shù)據(jù)庫,此項操作又稱為
A.定義數(shù)據(jù)結(jié)構(gòu)B.數(shù)據(jù)裝載C.數(shù)據(jù)庫運行D.數(shù)據(jù)庫的試運行
24.SQLServer2008系統(tǒng)數(shù)據(jù)庫MASTER的主要功能是
A.控制用戶數(shù)據(jù)庫和SQLServer的整體運行
B.為創(chuàng)建新的用戶數(shù)據(jù)庫提供模板或原型
C.為臨時表或其他臨時工作區(qū)提供存儲區(qū)域
D.為調(diào)度信息和作業(yè)歷史提供存儲區(qū)域
25.E-R圖是數(shù)據(jù)庫設計的工具之一,它適用于建立數(shù)據(jù)的()
A.中繼器B.橋接器C.路由器D.網(wǎng)關(guān)
26.概念結(jié)構(gòu)設計的目標是產(chǎn)生數(shù)據(jù)庫概念結(jié)構(gòu)(即概念模式),這結(jié)構(gòu)主
要反映()
A.DBA的管理信息需求B.應用程序員的編程需求C.企業(yè)組織的信息
需求D.數(shù)據(jù)庫的維護需求
27.物理結(jié)構(gòu)設計的任務是設計數(shù)據(jù)庫的()
A.存儲格式B.存取方法C.存儲結(jié)構(gòu)與存取方法D.存儲模式
28.在建立表結(jié)構(gòu)時定義關(guān)系完整性規(guī)則()
A.使DBS能夠自動維護數(shù)據(jù)完整性約束條件B.還需要編程實現(xiàn)數(shù)據(jù)完
整性約束條件C.沒有必要定義D.將使系統(tǒng)操作復雜
29.操作系統(tǒng)在控制和管理進程的過程中,涉及到()這一重要數(shù)據(jù)結(jié)構(gòu),
這是進程存在的惟一標志。
A.FCBB.FIFOC.FDTD.PCB
30.在關(guān)系代數(shù)的連接操作中,連接操作需要取消重復列的是()。
A.自然連接B.笛卡爾積C.等值連接D.0連接
四、C語言程序設計題(10題)
31.將文件in.dat中的200個整數(shù)讀至數(shù)組XX中。請編制jsValue函
數(shù),要求:求出數(shù)組XX中的數(shù)值為奇數(shù)的個數(shù)cntl和數(shù)值為偶數(shù)的個
數(shù)cnt2以及數(shù)組XX下標為奇數(shù)的元素值的算術(shù)平均值pjo
結(jié)果cntl,cnt2,pj輸出到out.dat中。注意:部分源程序存在test.c
文件中。請勿改動數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main、讀函
數(shù)read_dat和輸出函數(shù)writeDat的內(nèi)容。
1Iinclude<3tdio.h>
2?defineN200
3Intchtl,cnt2rxx(N);
4floatpj;〃平均值
5voidwriteDatO;
6voidjsValue()
7
8
9
/?road_dat(Intxx[Nl)ift數(shù)施文ftitt&t儂的200個■Ifcit至Ikfilu中?/
10voidread_dat(intxx[N])
(
intlrj;
FILETp;
14fp-fopen("in.ctat","r");
15for(1?0;i<20;
16(
17for(j?0;j<10;
18
19fscanf(fp^FdJ.;//從文件m.dai中球取一個■數(shù)〃入敷蛾元Itxx[L?16r]中
20printf("td”,xx[iw10*j));
21]
22printf(*\nw);
23]
24fclose(fp);
251
26voidmain()
27{
28read_dat(xx);
29jaValue();
R
30printf(\n\ncntl-td/cnt2*tdfpj?^6.2f\n*/cntl#cnt2rpj);
31writeDat();
32I
/?/計算希果end.E2?pj幅出列(mt.du中?/
33voidwriteDat()
34(
35FILE
36fw-fopen("out.datn^Mww);
R寫人到中
37fprintf(fw^"%d\ntd\n%6.2f\n,cntlrcnt2rpj);〃cml?cm2.8outdat
38fclose(fw);
39
32.已知在in.dat中存有若干個(個數(shù)<200)四位數(shù)字的正整數(shù),函數(shù)
ReadDat讀取這若干個正整數(shù)并存入數(shù)組XX中。請編制函數(shù)CalValue,
其功能要求:
1.求出該文件中共有多少個正整數(shù)totNum;
2.求這些正整數(shù)右移1位二進制位后,產(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)容。
1;linclude<stdlo.h>
2IIdeflneMAXNUM200
3;intxxlMAXNUM];
4!inttotNum-0;〃文件In.dec中共有名少個正餐數(shù)
5iinttotCnt-0;〃符合條件的正整數(shù)的個數(shù)
6doubletotPjz?0.0;〃平均值
7intReadDat(void);
8voidWriteDat(void);
9voidCalValue(void)
10
voidmain()
15!int1;
16;ford-0;i<KAXNUM;i*4)
17|xx[i]-0;
18?if(ReadDat())
19\(
201prlntf("數(shù)據(jù)文件In.dat不能打開!\007\n”);
21\
return;
22;J
23;CalValue();
24iprintf("文件in.dat中共有正整數(shù)個\n*totNum);
25?printfL符合條件的正整數(shù)的個數(shù)個tocCnt);
26;printf("平均值=4?21f\n“,totPjz);
27?WriteDat();
28;)
;/?讀取這若干個正整盤并存入中?/
29?intReadDat(void)
30;(
31FILE*fp;
32int1-0;
33if((fp?fopen(wln.dat*^*r*))**NULL)
34return1:
35while(!feof(fp))
36I
37fscanf(fp#7dJ.&xx[i++));
38
39fclose(fp);
40return0;
41}
/?把計算站累存入文件\ut.dat中?/
42ivoidWriteDat(void)
43
44?FILEefp;
45ifp-fopen(**out.dat",**wH>;
ww
46?fprintf(fp#td\n%d\nt?21f\n,totNum,totCnt,totPjz)i
47jfclose(fp);
48?)
33.已知數(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中。
注意,部分,程序存在EC文件中.
程序中已定義數(shù)ftb4200],b(200],已定義變■,cm
說勿改動數(shù)據(jù)文件imdat中的任何效期.主函數(shù)mag1讀南數(shù)rcadDatO和寫曲般wrrteDaiO的內(nèi)容.
Iinclude<stdio.h>
?defineMAX200〃定義宏如MAX,H值,于?20。
3intaIMAX}#b[MAXJ,ent-0;〃龍又全局整整一值數(shù)姐“MAX,DIMXXM支量CM.況初值等于0
4voidwriteDat();
voidjaValO
6
7
8)
9voidreadD&t()〃從m.dat文件中請取200個四付■存入數(shù)爆?中
10
inti;
FILE#fp;
fp-fopenCin.dat*,"rw);
14for(1?0;i<MAX;
0
15fscanf(fpr-%d,&a(i]);
16/close(fp);
17
18voidmain()
19
20int1;
21readDat();
22jsValO;〃■用”v“0角數(shù)實現(xiàn)履日要求的功■
23printf("Mt足條件的lfc-%d\n",ent);
24for(1*0;i<ent;
25printf("%d”?
26printf("\nw);
21writeDatO;
28}
29voidwriteDat{)〃化計U饗果cm以及數(shù)阻b中整合條件的四位數(shù)■出到W文件中
30
31FILE?fp;
32int1;
33fp-fopen("out.datw,"w");
34fprintf(fp,fd\n",ent);
35ford?0;1<ent;i*+)
n
36fprintf(fpr-%d\nrb(l]);
37fclose(fp);
38
34.函數(shù)ReadDat實現(xiàn)從文件in.dat中讀取一篇英文文章存入到字符
串數(shù)組XX中,請編制函數(shù)StrCharJR,其函數(shù)的功能是t以該文章中的
行為單位把字符串中的所有字符的二進制ASCII值右移4位,高位補
0,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的
值仍存入原字符串對應的位置上,之后把已處理的結(jié)果仍按行重新存入
數(shù)組XX中。最后main函數(shù)調(diào)用函數(shù)WriteOat把結(jié)果XX輸出到文件
out.dat中。
例如:
“z”對應的ASCII值為7AH,二進制值為01111010,右移4位后為
00000111,加上原來“2"的ASCH值01111010得到10000001結(jié)果。
原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標點符
號和空格,并也按字符處理。
注意:部分源程序存放在test.C文件中。
請勿改動主函數(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);
35.函數(shù)readDat是從文件in.dat中讀取20行數(shù)據(jù)存放到字符串數(shù)組
XX中(每行字符串長度均小于80)。請編制函數(shù)isSort,其函數(shù)的功能
是:以行為單位對字符串按下面給定的條件進行排序,排序后的結(jié)果仍
按行重新存入字符串數(shù)組XX中,最后調(diào)用函數(shù)writeDat把結(jié)果)XX輸
出到文件Out.dat中。
條件:字符串從中間一分為二,左邊部分按字符的ASCII值降序排序,
右邊部分不作處理,排序后,左邊部分與右邊部分按例子所示進行交換。
如果原字符串長度為奇數(shù),則最中間的字符不參加處理,字符仍放在原
位置上。
例如位置012345678
源字符申abcdhgfe
123498765
則處理后字符串hgfedcba
87659432I
注;8,部分源程序存在test.c文件中.
潸勿改動數(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^idGat();
13jsSort(>;
14writeDat();
15I
/?從文件中注取20打畋據(jù)存放到字相東觸爆u中?/
16voidreadDat()
17(
18FILE-in;
19inti?0:
20char
annR
21in工fopen(in.datrr);
22wbiled<20“fgets(xx(i),80,in)NULL)
23(
24p-strchr(xxfi]r?\n*);
25if(p)*P?o;
26
27
28fclose(in);
291
/?etAKxx?出到文件oui.dit中?/
30voidwriteDat()
31(
32FILE-out;
33int1;
H
34out-fopen(*out.dat*r**w);
35ford-0;i<20;£?+)
36
37printf(,*%s\n*/xx[1]);
38fprintf(out,**s\n**?xxrij);
39)
40fclose(out);
41J1
36.函數(shù)readDat是從文件in.dat中讀取20行數(shù)據(jù)存放到字符串數(shù)組
XX中(每行字符串長度均小于80)。請編制函數(shù)jsSort,其函數(shù)的功能
是:以行為單位對字符串按下面給定的條件進行排序,排序后的結(jié)果仍
按行重新存入字符串數(shù)組XX中,最后調(diào)用函數(shù)writeDat把結(jié)果XX輸
出到文件out.dat中。
條件:字符串從中間一分為二,左邊部分按字符的ASCH值升序排序,
右邊部分不變,左邊經(jīng)排序后再與右邊部分進行交換。如果原字符串長
度為奇數(shù),則最中間的字符不參加處理,字符仍放在原位置上。
例如,位置012345678
源字符中dcbahgfe
432198765
則處理后字符中hgfcabcd
876591234
注意:解分源程序存在tote文件中.
請勿改動數(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
37.函數(shù)readDat是從文件in.dat中讀取20行數(shù)據(jù)存放到字符串數(shù)組
xx中(每行字符串長度均小于80)。請編制函數(shù)jsSort,其函數(shù)的功能是:
以行為單位對字符串變量的下標為奇數(shù)的位置上的字符按其ASCH值
從小到大的順序進行排序,下標為偶數(shù)的位置上的字符仍按原來位置存
放,排序后的結(jié)果仍按行重新存入字符串數(shù)組)XX中,最后調(diào)用函數(shù)
WrriteDat把結(jié)果xx輸出到out.dat文件中。
例如:位置01234567
源字符串hgfedcba
則處理后字符串hafcdebs
注意,部分源程序存在EC文件中.
請勿改動數(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ù)存放到字符串長電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個四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal,其功能是:如果四位
數(shù)各位上的數(shù)字均是奇數(shù),則統(tǒng)計出滿足此條件的個數(shù)ent并把這些四
位數(shù)按從大到小的順序存入數(shù)組b中。最后main函數(shù)調(diào)用寫函數(shù)
writeDat把結(jié)果ent以及數(shù)組b中符合條件的四位數(shù)輸出到Out.dat文
件中。
注意:部分源程序存在testc文件中.
秩序中已定義數(shù)粗:4200].b[200].已定義變量,cm
請勿改動數(shù)據(jù)文件iddm中的任何數(shù)據(jù)、主函數(shù)main()、波函數(shù)readDa?)和寫函數(shù)writeDmO的內(nèi)容.
1Iinclude<stdio.h>
2IdefineMAX200
3inta[MAX),b(MAXl,ent-0;
4voidwriteDat();
5voidjsValO
6
7
6
9voidreadDat()〃從in.dat文件中編取200個四位數(shù)存入數(shù)也a中
10(
11int1;
12FILE*fp;
13fp-fopen(*in."r");
14for(i*0;i<MAX;ii)
15fscanf(fp,"%d"/&a[i]);
16fclose(fp);
17)
18voidmain()
19[
20inti;
21readOat();
22jsValf);〃■川山@jw”實現(xiàn)總H?求的功能
23prinef「滿足條件的數(shù)?Qd'n".ent);
24for(i?0;i<ent;if
25printf("td"?b(il);
26printf:
27writeDat();
28]
29voidwriteDat()//ICilW姑果cm以及數(shù)址b中構(gòu)臺條件的四位依■他到。utdai文件中
30(
31FILE*fp;
32inti;
H
33fp-fopen("out.dat,w*);
34fprintf(fp/Fd\n**.ent);
35ford?0;1<ent;1,?)
36fprintf(fp,b(i]);
37fclose(fp);
38
39.函數(shù)ReadDat實現(xiàn)從文件in.dat中讀取一篇英文文章,存入到字符
串數(shù)組XX中,?請編制函數(shù)encryptChar,按給定的替代關(guān)系對數(shù)組XX
中的所有字符進行替代,仍存入數(shù)組xx對應的位置上,最后調(diào)用函數(shù)
WriteDat把結(jié)果XX輸出到文件out.dat中。
替代關(guān)系:f(p)=p*“mod256,mod為取余運算,P是數(shù)組XX中某一
個字符的ASCII值,f(p)是計算后的無符號整型值C主意:中間變量定義
成整型變量),如果原字符的ASCII值是偶數(shù)或計算后f(p)值小于等于
32,則該字符不變,否則用f(p)替代所對應的字符。
注意:部分源程序存放在test.c文件中,原始數(shù)據(jù)文件存放的格式是:
每行的寬度均小于80個字符,含標點符號和空格,并也按此替代關(guān)系
進行處理。
請勿改動主函數(shù)main、讀函數(shù)ReadDat和輸出函數(shù)WriteDat的內(nèi)容。
txnclude<stdio.h>
*include<string.h>
3Iinclude<ctype.h>
unsignedcharxx(50](80);
5intmaxline-0;/*文章的總行數(shù)?/
6intReadDat(void);
7voidWriteDat(void);
8voidencryptChar()
9
10
11
請勿改動主函效main(),讀函數(shù)ReMDatO和輸出的敷WriteD叫)的內(nèi)容.
1iInclude<stdlo.h>
?include<strlng.h>
3finclude<ctype.h>
4unsignedcharxx[50][80);
5intmaxline-0;/?文章的總行數(shù)?/
6intReadDat(void);
7voidWriteDat(void);
8voidencryptChar()
9
10
11
12voidmain()
13<
14if(ReadDat())
15
16printfLift據(jù)文件in.dat不能打開!\n\007w);
17return;
18)
19encryptChar();
20WriteDat();
21}
/?從文件m.dm中罐取一?英文文章,存入到字符事收物u中?/
22intReadDat(void)
23(
24FILETp;
25inti-0;
26unsignedcharep;
Hww
27if((fp-fopen(in.datrr"))-NULL)
28return1;
29while(fgets(xx[ilv80,fp)!-NULL)
30(
31p-strchr(xx[i]r*\n*);
32if(p)*p-0;
33i?;
34)
35maxline?1;
36fclose(fp);
37return0;
38)
/?北姑果XX?出現(xiàn)文件OUL&f中?/
39voidWrilcDat(void)
40(
41FILE#fp;
42int1;
43fp-fopen("out.dat**,HwH);
44for(i*0;i<maxline;,ii)
45(
46printfxx[i]);
w
47fprintf(fp,"%s\n,xx(i]);
48)
49fclose(fp);
50
voidmain()
14if(ReadDat())
15(
16printf(”數(shù)據(jù)文件in.dat不能打開!\n\00711);
17return;
18
19encryptCharO;
20WriteDat();
21)
/?從文特HU中it取一■[英文文量.存入R字的|敷出xx中〃
22intReadDat(void)
23
24FILE?£p;
25int1-0;
26unsignedcharep;
MwH
27if((fp?fopon(in.dat*rr))~NUIX)
28return1;
29while(fgets(xx[1]#80,fp)!-NULL)
30(
31p-strchr(xx(i)9,\n,):
32if(p)*p-0;
331+?;
34)
35maxline?i;
36fclose(fp);
37return0;
38J
八和姑皋xx■出fl文和outdai中?/
39voidWriteDat(void)
40(
41FILEefp;
42inti;
43fp?fopen(*out.datw,wwM);
44for(i-0;i<maxline;1?*)
45(
46printf(*'%3\nR,xx[i]);
47fprintf(fp#*%s\n*rxx(l));
48(
49fclose(fp);
50
40.已知數(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ù)輸出到文件Outdat
中。
注意8部分潭程序存在(cstc文件中.
程序中已定義數(shù)組:a[200].b(200],已定義支代Ient
請勿改動畋據(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廉數(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
五、設計與應用題(2題)
41.在SQLServer2008中,設有教師表(教師號,姓名,所在部門號,
職稱)和部門表(部門號,部門名,高級職稱人數(shù))。請編寫滿足下列要
求的后觸發(fā)型觸發(fā)器(設觸發(fā)器名字為tri_zc)。每當在教師表中插入一
名具有高級職稱(“教授”或“副教授”)的教師時,或者將非高級職稱教
師的職稱更改為高級職稱時,均修改部門表中相應部門的高級職稱人數(shù)。
(假設一次操作只插入或更改一名教師的職稱)(10分)
42.設某教學管理系統(tǒng),其查詢模塊需要提供如下功能:I.查詢系信
息,列出各系編號、系名和系辦公電話;II.查詢某系教師的信息,
列出教師號、教師名、工資和聘用日期;III.查詢某教師講授的課程
信息,列出課程號、課程名和學分;IV.查詢講授某門課程的教師信
息,列出教師名和職稱;V.查詢某門課程的先修課程信息,列出先修
課程號和先修課程名。系統(tǒng)有如下業(yè)務規(guī)則:I.一個系可聘用多名
教師,一名教師只能受聘于一個系;II.一名教師可講授多門課程,
一門課程可由多名教師講授;in.一門課程可以有多門先修課程,也
可以沒有先修課程。(1)請根據(jù)以上查詢功能與業(yè)務規(guī)則,用ER圖
描述該系統(tǒng)的概念模型。(5分)(2)將ER圖轉(zhuǎn)換為滿足3NF的關(guān)
系模式,并說明每個關(guān)系模式的主碼和外碼。(5分)
六、單選題“分](2題)
43.在進行數(shù)據(jù)庫物理設計時,為了保證系統(tǒng)性能,需要綜合考慮所選擇
的數(shù)據(jù)庫管理系統(tǒng)的特性及軟硬件具體情況。下列關(guān)于數(shù)據(jù)庫物理設計
的說法,錯誤的是()o
A.在頻繁執(zhí)行插入、修改和刪除操作的表上建立索引可能會降低系統(tǒng)整
體性能
B.在一張表的某列上需要頻繁執(zhí)行精確匹配查詢時,可以考慮為此列建
立哈希索引
C.為了提高寫入性能,數(shù)據(jù)庫一般應盡量避免存儲在RAID10的磁盤存
儲系統(tǒng)中
D.如果系統(tǒng)中存在頻繁的多表連接操作,可以考慮將這些基本表組織為
聚集文件,以提高查詢效率
44.數(shù)據(jù)庫中事務的并發(fā)操作可能會引起死鎖,引起死鎖的原因是不同
事務對數(shù)據(jù)項的資源占有,導致其他事務不能得到資源,從而引起相
互等待導致死鎖。假設某數(shù)據(jù)庫系統(tǒng)中存在一個等待事務集{Tl,T2,
T3,T4,T5},其中T1正在等待被T2鎖住的數(shù)據(jù)項A2,T2正在等
待被T4鎖住的數(shù)據(jù)項A4,T3正在等待被T4鎖住的數(shù)據(jù)項A4,T5
正在等待被T1鎖住的數(shù)據(jù)項A。則關(guān)于系統(tǒng)狀態(tài)正確的是()。
A.系統(tǒng)處于死鎖狀態(tài),需要撤銷其中任意一個事務即可退出死鎖狀態(tài)
B.系統(tǒng)處于死鎖狀態(tài),通過撤銷T4可使系統(tǒng)退出死鎖狀態(tài)
C.系統(tǒng)處于死鎖狀態(tài),通過撤銷T5可使系統(tǒng)退出死鎖狀態(tài)
D.系統(tǒng)未處于死鎖狀態(tài),不需要撤銷其中的任何事務
參考答案
1.D解析:數(shù)據(jù)庫的并行處理是提高數(shù)據(jù)庫系統(tǒng)對事務快速響應能力的
有效手段。并行數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)主要有3種:共享內(nèi)存結(jié)構(gòu);共
享磁盤結(jié)構(gòu);無共享資源結(jié)構(gòu)。并行數(shù)據(jù)庫技術(shù)包括了對數(shù)據(jù)庫的分區(qū)
管理和并行查詢。一個理想的并行數(shù)據(jù)庫系統(tǒng)應能充分利用硬件平臺的
并行性,采用多進程、多線程的數(shù)據(jù)庫結(jié)構(gòu),提供不同程度的并行性、
不同用戶事務間的并行性、同一事務內(nèi)不同查詢間的并行性、同一查詢
內(nèi)不同操作間的并行性和同一操作內(nèi)的并行性。
2.B解析:唯一標識實體的屬性集稱為碼。
3.D解析:使用后續(xù)版本Power-Designer可以完成的功能有:可以畫數(shù)
據(jù)流圖(DFD);可以畫實體聯(lián)系圖(E-R圖),即設計概念數(shù)據(jù)模型(CDM);
可以從概念數(shù)據(jù)模型(CDM)生成物理數(shù)據(jù)模型(PDM);可以從現(xiàn)存數(shù)據(jù)
逆向生成物理數(shù)據(jù)模型(PDM);可以從物理數(shù)據(jù)模型(PDM)逆向生成概
念數(shù)據(jù)模型(CDM)。
4.D解析:數(shù)據(jù)庫管理系統(tǒng)提供了兩層映像:外模式/模式映像和模式/內(nèi)
模式映像,應用程序是依據(jù)數(shù)據(jù)的外模式編寫的,當模式改變時,數(shù)據(jù)
庫管理員對各個外模式/模式映像做相應改變,可保持外模式不變,從而
應用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,模式/內(nèi)模式映像
使得當數(shù)據(jù)庫存儲結(jié)構(gòu)改變了,由數(shù)據(jù)庫管理員對模式/內(nèi)模式映像做
相應改變,可以保持模式不變,從而應用程序也不必改變,保證了數(shù)據(jù)
與應用程序的物理獨立性。
5.B解析:在分布式DBMS中,全局關(guān)系與數(shù)據(jù)分片之間的映像是一對
多的。
6.C解析:若以排序所用的比較時間來看,直接插入法和歸并法都比較
短,對于n個元素的序列,大約需要比較n-1次;但歸并法要占用較大
的存儲空間,所以用直接插入法比較好。
7.C解析:設計概念結(jié)構(gòu)的策略有以下幾種:①自頂向下。首先定義全
局概念結(jié)構(gòu)的框架再逐步細化。②自底向上。首先定義每一局部應用的
概念結(jié)構(gòu),再按一定的規(guī)則把它們集成得到全局概念結(jié)構(gòu)。③由里向外。
首先定義最重要的那些核心結(jié)構(gòu)再逐漸向外擴充。④混合策略。把自頂
向下和自底向上結(jié)合起來的方法.自頂向下設計一個概念結(jié)構(gòu)的框架,
然后以它為骨架再自底向上設計局部概念結(jié)構(gòu),并把它們集成。
8C解析:外鍵的概念是:當關(guān)系中的某個屬性(或?qū)傩越M合)雖不是該關(guān)
系的關(guān)鍵字或只是關(guān)鍵字的一部分,但卻是另一個關(guān)系的關(guān)鍵字時,則
稱該屬性(或?qū)傩越M合)為這個關(guān)系的外部關(guān)鍵字或外鍵。
9.D解析:在數(shù)據(jù)庫中對數(shù)據(jù)的讀取和存儲不正確的數(shù)據(jù),破壞數(shù)據(jù)庫
的完整性,這主要是由于存在冗余數(shù)據(jù)造成的。
10.D解析:本題是對矩陣存儲的考查。如果按列優(yōu)先順序列出矩陣中的
元素,得到如下序列AU,A21,A31,...Anl,A12…Amn,把它順序存儲在
內(nèi)存中,元素Aij(l)SiSn)的地址的公式為LOC(Aij)=LOC(All)+[(j-
l)*m+(i-l)]*入(此處假設每個元素占入個存儲單元)。對應本題的具體情
況,元素A(5,5)的存儲地址為100+[(5-1)*12+(5-1)]*4=308,所以本題
正確答案為選項D。
11.建立【解析】SMTP的通信過程可以分成三個階段:連接建立階段、
郵件傳遞階段和連接關(guān)閉階段。
12.12
13.WITHGRANTOPTIONWITHGRANTOPTION解析:GRANT語句
的一般格式為:
GRANT<權(quán)限》[,(權(quán)限)]...
[ON<對象類型><對象名>]
TO〈用戶>[<用戶…
[WITHGRANTOPTION];
其中若指定了WITHGRANTOPTION子句,則獲得某種權(quán)限的用戶還
可以把這種權(quán)限再授予其他的用戶。若沒有指定WITHGRANTOPTION
子句,則獲得某種權(quán)限的用戶只能使用該權(quán)限,但不能傳播該權(quán)限。
14.范圍
15.
互斥條件部分分配(占有等待)
對于永久性資源,產(chǎn)生死鎖的必要條件有四個,互斥,不剝奪,部分分
配,循環(huán)等待。
16.XML語言【解析】XMPP是一種基于XML語言定義描述的IM協(xié)
議。
17.開放定址法開放定址法
18.ADDkchar(9)ADDkchar(9)解析:ALTERTABLE語句的一般格式
如下:
ALTERTABLE〈表名〉
[ADD〈新列名〉〈數(shù)據(jù)類型〉[完整性約束]]
[DROP<完整性約束名>]
[MODIFY(列名>〈數(shù)據(jù)類型〉]
ADD子句用于增加新列和新的完整性約束條件;DROP子句用于刪除
指定的完整性約束條件;MODIFY子句用于修改原有的列定義。
19.訪問控制【解析】一個功能完備的網(wǎng)絡系統(tǒng)提供以下基本的安全服務
功能:保密性、認證、數(shù)據(jù)完整性、防抵賴和訪問控制。其中訪問控制
服務用于控制與限定網(wǎng)絡用戶對主機、應用、數(shù)據(jù)與網(wǎng)絡服務的訪問類
型。
20.
ODBC
JDBC
開放數(shù)據(jù)庫互連(ODBC)是MICROSOFT提出的數(shù)據(jù)庫訪問接口標準。
開放數(shù)據(jù)庫互連定義了訪問數(shù)據(jù)庫的API一個規(guī)范,這些API獨立于
不同廠商的DBMS,也獨立于具體的編程語言。JDBC(JavaDataBase
Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的JavaAPI,
可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類
和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標準的API,據(jù)
此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純JavaAPI
編寫數(shù)據(jù)庫應用程序
21.AIP提供了不可靠的數(shù)據(jù)投遞服務,IP本身沒有能力證實發(fā)送的報
文是否被正確接收,數(shù)據(jù)報可能路延遲、路由錯誤、數(shù)據(jù)報分片和重組
等過程中受到損壞,但IP不檢測這些錯誤,在錯誤發(fā)生時,IP也沒有
可靠的機制來通知發(fā)送方或接收方,因此數(shù)據(jù)報的投遞不能受到保障。
22.D
23.A
24.A
25.A
26.A
27.C
28.A
29.D解析FCB(文件控制塊)是系統(tǒng)為管理文件而設置的一個數(shù)據(jù)結(jié)構(gòu),
是文件存在的標志,記錄了系統(tǒng)管理文件所需要的全部信息;FIFO是
先進先出,一般表示某些算法(隊列操作、存儲頁面淘汰等);PCB是進
程控制塊,描述進程的基本情況以及進程的運行變化過程。
30.A解析:自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進行比
較的分量必須是相同的屬性組,并且要在結(jié)果中把重復的屬性去掉。一
般的連接操作是從行的角度進行運算,但自然連接還需要取消重復列,
所以是同時從行和列的角度進行運算。
31.\n【審題關(guān)鍵句】讀入數(shù)值,奇數(shù)個數(shù),偶數(shù)個數(shù),數(shù)組下標為奇數(shù)
的平均值。
\n【解題思路】
5本題類似第42套試題,通過審題可以發(fā)現(xiàn)僅有一個不同點,即本題
是計算數(shù)組下標為奇數(shù)的元素的平均值,參考答案的第6條語句。
\n【參考答案】
\n
\n
32.\n【審題關(guān)鍵句】讀取正數(shù),統(tǒng)計個數(shù),右移后為奇數(shù)的個數(shù)及平均
值。
\n【解題思路】
\n本題類似第44套試題,通過審題可以發(fā)現(xiàn)僅有一個不同點,即參與
平均值計算的元素是數(shù)組xx國右移一位之后為奇數(shù)的元素
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 未來網(wǎng)絡環(huán)境下的設計思路試題及答案
- 2025年考試熱點總結(jié)與試題及答案
- 濰坊學校衛(wèi)生管理制度
- 林業(yè)工作站管理制度
- 上墻安全管理制度
- 企業(yè)測評管理制度
- 原材料訂單管理制度
- 制造型公司管理制度
- 招生內(nèi)部渠道管理制度
- 數(shù)字版權(quán)財務管理制度
- 臨床路徑匯編(完整版)資料
- XX市救護車管理辦法
- GB/T 13460-2008再生橡膠
- 中小學學習《民法典》主題班會圖文ppt
- 簡明新疆地方史趙陽
- 12.注漿法施工技術(shù)(PPT版共60)
- TCVN-2622-越南建筑防火規(guī)范(中文版)
- 拖欠工資起訴狀模版
- 山東省各地電廠聯(lián)系方式
- 吊裝作業(yè)安全告知牌(現(xiàn)場張貼)
- 鉀離子的測定—四苯硼鈉季胺鹽容量法
評論
0/150
提交評論