版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
[2021年】江西省九江市全國計(jì)算機(jī)等級
考試數(shù)據(jù)庫技術(shù)真題(含答案)
學(xué)校:班級:姓名:考號(hào):
一、1.選擇題(10題)
1.下列問題的關(guān)系代數(shù)操作基本如下的關(guān)系R和So
若關(guān)系R和S的關(guān)系代數(shù)的操作結(jié)果如下,這是執(zhí)行了
D.Rx.S
2.設(shè)有屬性A,B,C,D,以下表示中不是關(guān)系的是
A.R(A)B,R(A,B,C,D)C,Rx(AxBxCxD)D,R(A,B)
3.下述哪一條是并發(fā)控制的主要方法?
A.授權(quán)B.日志C.封鎖D.索引
4.引人多道程序的目的是
A.提高實(shí)時(shí)響應(yīng)速度B.增強(qiáng)系統(tǒng)交互能力C.為了充分利用主存儲(chǔ)器
D.充分利用CPU,減少刪的等待時(shí)間
5.在有n個(gè)葉子的哈夫曼樹中,其節(jié)點(diǎn)總數(shù)為()。
A.不確定B.2nC.2n+lD.2n-1
6.SQL通常不提供下列哪一種操作?
A.修改索弓[定義B.修改視圖定義C.修改索弓[定義和修改視圖定義D.
修改表定義
7.數(shù)據(jù)庫系統(tǒng)的核心是()
A.編譯系統(tǒng)B.數(shù)據(jù)庫C.操作系統(tǒng)D.數(shù)據(jù)庫管理系統(tǒng)
8.下面試題基于如下描述:有關(guān)系模式P(C、S、T、R、G),根據(jù)語義有
如下函數(shù)依賴集:F{C—T,ST-R,TR-C,SC—G}。
下列屬性組中的哪一個(gè)(些)是關(guān)系P的候選碼?I.(C,S)II.(C,R)
III.(S,T)IV.(T,R)V.(S,R)
A.只有mB.I和mc.I、ii和wD.n、m和v
9.下面關(guān)于網(wǎng)絡(luò)信息安全的一些敘述中,不正確的是
A.網(wǎng)絡(luò)環(huán)境下的信息系統(tǒng)比單機(jī)系統(tǒng)復(fù)雜,信息安全問題比單機(jī)更加難
以得到保障
B.電子郵件是個(gè)人之間的通信手段,有私密性,不使用軟盤,一般不會(huì)
傳染計(jì)算機(jī)病毒
C.防火墻是保障單位內(nèi)部網(wǎng)絡(luò)不受外部攻擊的有效措施之一
D.網(wǎng)絡(luò)安全的核心是操作系統(tǒng)的安全性,它涉及信息在存儲(chǔ)和處理狀態(tài)
下的保護(hù)問題
10.是防止對系統(tǒng)進(jìn)行主動(dòng)攻擊,例如企業(yè)偽造、篡改的重要技
術(shù)手段。
A.加密B.防火墻C.隱藏D.認(rèn)證
二、填空題(10題)
n.可變分區(qū)的主存分配算法有【】、最佳適應(yīng)算法和最壞適應(yīng)算法
12.在SQL語言中,為了修改基本表的結(jié)構(gòu),可以使用的語句是____o
13.廣義表是線性表的推廣,是由零個(gè)或多個(gè)單元素或所組成的
有限序列。
14.數(shù)據(jù)包過濾技術(shù)是在_________對數(shù)據(jù)包進(jìn)行選擇。通過檢查數(shù)據(jù)
流中每個(gè)數(shù)據(jù)包的源地址、目的地址、所用的端口號(hào)、協(xié)議狀態(tài)等因素,
或它們的組合來確定是否允許該數(shù)據(jù)包通過,它通常安裝在路由器上。
15.網(wǎng)狀、層次數(shù)據(jù)模型與關(guān)系數(shù)據(jù)模型的最大區(qū)別在于表示和實(shí)現(xiàn)實(shí)
體之間的聯(lián)系的方法:網(wǎng)狀、層次數(shù)據(jù)模型是通過指針鏈,而關(guān)系數(shù)據(jù)
模型是使用O
16.一個(gè)路由器的兩個(gè)IP地址為和,其路由表如下所示。
當(dāng)收到源IP地址為40.0.0.8,目的IP地址為的數(shù)據(jù)報(bào)時(shí),它將
把此數(shù)據(jù)報(bào)投遞到(要求寫出具體的IP地址)
要到達(dá)的網(wǎng)絡(luò)下一路由器
20.0.0.0也接投遞
30.0.0.0H接投遞
20.0.0.5
40.0.0.030,0.0,7
17.PowerBuilder10.0為使用.NET開發(fā)工具的用戶提供了一套_[]_工
具。這項(xiàng)專利技術(shù)是為簡化應(yīng)用開發(fā)而設(shè)計(jì)的,可縮短開發(fā)時(shí)間、減少
代碼等。
18.進(jìn)行并、差、交集合運(yùn)算的兩個(gè)關(guān)系必須具有相同的,即元
組結(jié)構(gòu)相同。
19.嚴(yán)格兩階段鎖協(xié)議要求對更新的封鎖必須保持到事務(wù)的終點(diǎn)。
20.先寫日志原則是為了發(fā)生故障后保持?jǐn)?shù)據(jù)庫的原子性和所必
須遵循的原則。
三、單選題(10題)
21.ENIAC所用的主要元件是()
A.集成電路B.晶體管C.電子管D.以上答案都不對
22.某數(shù)據(jù)庫應(yīng)用系統(tǒng)中,數(shù)據(jù)庫管理員發(fā)現(xiàn)某個(gè)查詢功能是用多表連接
操作實(shí)現(xiàn)的,此操作性能較差。在保證功能不變的前提下,若要提高該
查詢的執(zhí)行效率,下列方法中可行的是()
A.將此查詢語句放置在視圖中,使用視圖實(shí)現(xiàn)該查詢操作
B.修改實(shí)現(xiàn)此功能的查詢語句,將連接查詢改為嵌套查詢
C.將此功能涉及到的表進(jìn)行合并,然后對合并后的表進(jìn)行查詢
D.將此查詢語句放置在存儲(chǔ)過程中,通過調(diào)用存儲(chǔ)過程實(shí)現(xiàn)該查詢操作
23.對于學(xué)生信息表S(SNUMBER,SNAME,SEX,AGE,
DEPT)(STUDENT由學(xué)號(hào)SNO,姓名SNAME,性別SEX,年齡AGE,
所在系DEPT5個(gè)屬性組成,其中SNUMBER為主碼),求年齡20-23
歲之間的學(xué)生姓名和年齡,正確的語句是()。
A.SELECTSNAME,AGEFROMSWHEREAGE>20ANDAGE<23
B.SELECTSNAME,AGEFROMSWHEREAGEBETWEEN20AND
23
C.SELECT*FROMSWHERE.AGEBETWEEN20AND23
D.以上均不正確
24.在SQLServer2008的系統(tǒng)數(shù)據(jù)庫中,為調(diào)度信息和作業(yè)歷史提供存
儲(chǔ)區(qū)域的是
A.MasterB.ModelC.PubsD.Msdb
25.用戶對SQL數(shù)據(jù)庫的訪問權(quán)限中,如果只允許刪除基本表中的元組,
應(yīng)授予哪一種權(quán)限?
A.DROPB.DELETEC.ALTERD.UPDATE
26.在關(guān)系數(shù)據(jù)庫系統(tǒng)中,一個(gè)關(guān)系相當(dāng)于()
A.一張二維表B.一條記錄C一個(gè)關(guān)系數(shù)據(jù)庫D.一個(gè)關(guān)系代數(shù)運(yùn)算
27.病毒的主要特性表現(xiàn)在如下哪幾個(gè)方面?()
I.傳染性
II.靈活性
III.破壞性
IV.隱蔽性
V.常駐內(nèi)存
A.I、II和niB.I、ii和wc.II、m和wD.全都是
28.以下關(guān)于因特網(wǎng)中的電子郵件的說法,錯(cuò)誤的是()。
A.A.電子郵件是有固定格式的,它由郵件頭和郵件體兩部分組
成
B.電子郵件應(yīng)用程序的最基本的功能是:創(chuàng)建和發(fā)送,接收、閱讀和管
理郵件的功能
C.密碼是對郵件的一個(gè)最基本的保護(hù)。目前,保證電子郵件安全性的主
要手段是使用大寫字母、小寫字母、數(shù)字和符號(hào)混用的密碼
D.利用電子郵件可以傳送多媒體信息
29.已經(jīng)獲得除CPU以外的所有所需資源的進(jìn)程處于()狀態(tài)。
A.運(yùn)行狀態(tài)B.就緒狀態(tài)C.自由狀態(tài)D.阻塞狀態(tài)
3O.AHIT和Bair兩個(gè)數(shù)組說明如下:VARAarr:Array[0...7]ofchar;
Barr:Array[-5...2,3...8]ofchar;這兩個(gè)數(shù)組分別能存放的字符的最
大個(gè)數(shù)是()
A.7和35B.1和5C.8和48D.1和6
四、C語言程序設(shè)計(jì)題(10題)
31.已知數(shù)據(jù)文件INI.DAT和IN2.DAT中分別存有100個(gè)兩位十進(jìn)
制數(shù),并且已調(diào)用讀函數(shù)readDat把這兩個(gè)文件中的數(shù)存入數(shù)組a和b
中,請考生編制一個(gè)函數(shù)JsVal,實(shí)現(xiàn)的功能是依次對數(shù)組a和b中的數(shù)
按條件重新組成一個(gè)新數(shù)并依次存入數(shù)組C中,再對數(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中。
例如Al123124152115
bi3245172718IS
c:345I12751155
播序后j113512753451
注意,部分源程序存在EC文件中.
程序中已定義,1(100].b(100)和c[100]?
請勿改動(dòng)數(shù)據(jù)文件IN1.DAT和1N2.DAT中的任何數(shù)據(jù)?主函數(shù)nvun()?it的數(shù)readD.tO和與端數(shù)writeDW)的內(nèi)容.
11*include<stdio.h>
2i?defineMAX100
3JintalMAXHb[MAXJ,C(MAX1;
4?intent,0;/?存收制作臬件次的個(gè)??/
5;voidIsVal()
t#INIDAT90IN2.DAT<1*^18個(gè)眄位存入融趾?Mb中?/
voidreadDat<)
11intU
12FILEefp;
13fp-fopen("inl.daCM**r")
14ford-0;1<MAX;…)
15fscanf(fp,fca(11);
16fclose(fp);
17fp?fopen("in2.dat","r**)
18for(i"0;1<MAX:
19fscanf(fp4"td"?,b【U);
20fclose(fp);
21I
22voidmain()
int1;voidwriteDat();
25ford-0;1<MAX;
2bc[l]?0;
27readDat();
28jsVal();
29for(i-0;I<MAX“C[i0;
30printf(*%d\n-rc(i)>:
31writoDat()i
32)
/?圮儲(chǔ)最敏蝸c?M期文竹2k?1??/
33voidwriteDat()
34?(
35JFILEafp;
36jintit
31!fp-fopen("out.dit*,Hw"?;
38!ford-0;1<MAX,,c(i|>0;
39?fprlntf(fp,"IdXn",c(i]);
40?fclose(fp)i
41;1
32.已知數(shù)據(jù)文件in.dat中存有300個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請編制一函數(shù)jsValue,其功能是:求出于位數(shù)
上的數(shù)加個(gè)位數(shù)上的數(shù)等于百位數(shù)上的數(shù)加十位數(shù)上的數(shù)的個(gè)數(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ù)姐b中,且個(gè)數(shù)cnkcntH.
8129,則該數(shù)不清足條件忽略.
注意:部分源程序存在testx文件中.
程序中已定義數(shù)姐:a(300).b(300).已定義變量:art
請勿改動(dòng)數(shù)據(jù)文件gdat中的任何數(shù)據(jù)、主函數(shù)讀函數(shù)readDatO和寫的數(shù)wriicDalO的內(nèi)容
1jIinclude<stdio.h>
2-inta[300).b[300]#cnt-0;
3!voidwriteDat();
4ivoidreadDat();
5-voidjsValue()
6?(
;!,
9!mainO
10;(
11!int1;
12ireadDat();
13?jsValueO;
14!writeDat();
M
15?printf(cnt-%d\n"rent);
16Jfor(i?0;i<ent;
wM
17jprintf(b[%d]-%d\nr1,b[i]);
18;I,
19!voidreadDat()
20;(
21|FILE*fp;
22!int1;
23jfp?fopen("in.dat*#;
24?for(i*0;i<300;
25jfdcanf(fp*w%d,**,&a[1]);
26fclose(fp);
27
28voidwriteDat()
29
30FILEefp;
int1;
32fp■fopen(°out.datWww);
33fprlntf(fp,Fd\n",ent);
34for(i?0;i<ent;"?)
35fprintf(fp,Fd\n”.b[l))
36fclose(fp);
37
33.編寫一^函數(shù)findStr(char*str,char*substr),該函數(shù)統(tǒng)計(jì)一^長度為
2的子字符串substr在另一個(gè)字符串str中出現(xiàn)的次數(shù),該次數(shù)作為函數(shù)
值返回。例如,假定輸入的字符串為"asdasasdfgasdaszx67asdmklo”,
子字符串為“as",函數(shù)返回值是6。
函數(shù)ReadWrite實(shí)現(xiàn)從文件indat中讀取兩個(gè)字符串,并調(diào)用函數(shù)findStr,
最后把結(jié)果輸出到文件out.dat中。
注意:部分源程序存在test.c文件中。請勿改動(dòng)主函數(shù)main和其他函
數(shù)中的任何內(nèi)容,僅在函數(shù)findStr的花括號(hào)中
填入你編寫的若干語句。
^include<stdio.h>
*include<string.h>
voidReadWrlte();
a
intfindStr(char3trtchar?substr)
main0
charstr(81|,substr(3];
intn;
printf("輸入原字符申:w);
gets(str);
pdntf("■入子字符串:”);
gets(substr);
puts(str>;
puts(aubstr);
nwfindStr(str,substr);
"n
printf(*n"%d\n,n);
ReadWrite();
I
,?從文件in.dii中It取兩個(gè)字符中,蚌■用炳欣findSoO,■后1E郎果博出到文件即如中,/
voidReadWrite()
24charstr[81)rsubstr(3],ch;
25intn,lenri00;
e
26FILEerfrwf;
27rf=fopen(*£n.dat**,wrH);
wwHM
28wf-fopen(out.datrw>;
29while(i<5)
30|
31fgets(str,80,rf);〃從文件mdai中域取長度為R的字符中存入到字符中
32(gets(subset<10,rf);〃從文件mdit中讀取長度為Q的子字符中存入到字符率substr
33len■strlen(substr)?1;〃mf字符南gubstr的長度K1的
ch-substr(lenI;〃把子字符州的量后T字箝的但"字符ch
人如臬子字符申的量后個(gè)字椅是同架按行符或是文鐘帖販料,明紀(jì)子字符串的?后f字符的值設(shè)置X。?/
35if(ch??'\n'11ch~Oxla)
36substr[len]?0;
flndStr(4tr?■ubstr)返Z1子字符串subst.r在字符率Atr中出現(xiàn)的次數(shù)*/
37n-findStr(str,substr);
38fprintf(wf/Fd\n".n);//IC計(jì)H納暨n寫入到文件out.dau中
39〃謂環(huán)堂量士加】
40I
41fclose(rf);
42fclose(wf);
43
34.函數(shù)ReadDat實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章存入到無符
號(hào)字符串?dāng)?shù)組XX中;請編制函數(shù)ChA,其函數(shù)的功能是:以行為單位
把字符串中的第一個(gè)字符的ASCII值加第二個(gè)字符的ASCII值,得到
第一個(gè)新的值,存入數(shù)組單元XX用⑼中(其中:i是文章中的某行)。第
二個(gè)字符的ASCII值加第三個(gè)字符的ASCII值,得到第二個(gè)新的值,存
入數(shù)組單元中。以此類推一直處理到最后第二個(gè)字符,最后一個(gè)
字符的ASCII值加原第一個(gè)字符的ASCII值,得到最后一個(gè)新的值,存
放在原字符串對應(yīng)的位置上,之后把已處理的字符串逆轉(zhuǎn)后仍按行重新
存入無符號(hào)字符串?dāng)?shù)組XX中。最后main函數(shù)調(diào)用函數(shù)WriteDat把結(jié)
果XX輸出到out.dat文件中。
原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符
號(hào)和空格,并也按它的ASCII值作以上處理。注意:部分源程序存放在
test.c文件中。
請勿改動(dòng)主函數(shù)main、讀數(shù)據(jù)函數(shù)ReadDat和輸出數(shù)據(jù)函數(shù)WriteDat
的內(nèi)容。
1;*lnclude<stdio.h>
?inclig?
d
ax
d
13if(ReadDatO)
14(
15printf(。數(shù)據(jù)文件in.dat不籍打開!\n\007");
16return;
17}
18ChA();
19WriteDat();
20]
/?從文件m.dM中康我一編英文丈量存入》無符號(hào)字辨申數(shù)的XM中?/
21intReadDat(void)
22(
23FILE*fp;
24inti?0;
25char*p;
26it((fp-fopen(win.datw,Hr*))-NULL)
27return1;
28while(fgets(xx(i)<80#fp)9NULL)
29(
30p■strchr(xx(i)t?\n*);
31if(p),p?0;
32
33)
34maxline?i;
35fclose(fp);
36return0;
37)
/?把結(jié)果xx*出到ouLdal文件中?/
38voidWriteDat(void)
39(
40FILE*fp;
41inti;
42fp-fopenLout.dat".”");
43for(i?0;i<maxline;1+?)
44(
w
45printf(%s\n"/xx(i));
R
6fprlntf(fp/"%s\n#xx[11);
47)
48fclose(fp);
49
35.已知在文件in.dat中存有100個(gè)產(chǎn)品銷售記錄,每個(gè)產(chǎn)品銷售記錄
由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱me(字符型10位),單價(jià)dj(整
型),數(shù)量si(整型),金額je(長整型)五部分組成。其中:金額=單價(jià)*數(shù)
量。函數(shù)ReadDat讀取這100個(gè)銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請編
制函數(shù)SortDat,其功能要求:按金額從小到大進(jìn)行排列,若金額相等,
則按產(chǎn)品代碼從小到大進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中。
最后main函數(shù)調(diào)用函數(shù)WriteDat把結(jié)果輸出到文件out.dat中。
提示:若中間變量為PROtemp,則可以直接使用結(jié)構(gòu)賦值語句進(jìn)行解
題。
例如:sell[i]=temp;
注意:部分源程序存放在test.C文件中。
請勿改動(dòng)主函數(shù)main、讀函數(shù)ReadDat和輸出函數(shù)WriteDat的內(nèi)容。
14include<stdio.h>
2Iinclude<?trlng.h>
3?IncludeOtdlib.h>
4fdefineMAX100
5typed?fstruct
6(
7chardm⑸;/?產(chǎn)4代碼?/
8charnc(lll:/?MW?/
9intdj;/??餅?/
10intsi;/?■■?/
11longje;/????/
12)PRO;
13PRO8011【MAX);
14voidReadDat();
15voidWritet>at();
16voidSortDat()
17
16
19
20voidmain()
21<
22momoot(selli0.stzeof:
23ReadDat();
24SortDat();
25WriteDatO;
26)
21voidReadDat()
28I
29FILEefp;
30charatr(80),ch(ll);
31Int1;
32fp-fopen("in.ckit","rw);
33for(i?0;1<100;
34(
35fgetBtstXr80,fp);
36memcpy(sell(l).dm,str,4);
37memcpy(sellfil.me,str?4,10);
38menepy(ch?stx*14r4):ch(4J-0:
39sell(i).dj-atoi(ch>;
40memcpy(chrstr*18v5);ch(5]-0;
41sell(i).al-atoi(ch);
42sell(i).je-(long)sellU).dj?selldl.al;
43)
44fclose(fp);
45}
46voidWrlteOat()
47<
48FILEefp;
49inti;
50fp-fopen("out.**w*);
51tor(1?0;1<100;*+?)
52
w
fprintf(fp,3%4d%5dt101d\n,seUUbdh,sellll).mc?aellUJ.djr.
sttllll)?je);
54;
55!fclose(fp);
56h
36.函數(shù)readDat是從文件in.dat中讀取20行數(shù)據(jù)存放到字符串?dāng)?shù)組
XX中(每行字符串長度均小于80)。請編制函數(shù)isSort,其函數(shù)的功能
是:以行為單位對字符串按下面給定的條件進(jìn)行排序,排序后的結(jié)果仍
按行重新存入字符串?dāng)?shù)組XX中,最后調(diào)用函數(shù)writeDat把結(jié)果)XX輸
出到文件Out.dat中。
條件:字符串從中間一分為二,左邊部分按字符的ASCII值降序排序,
右邊部分不作處理,排序后,左邊部分與右邊部分按例子所示進(jìn)行交換。
如果原字符串長度為奇數(shù),則最中間的字符不參加處理,字符仍放在原
位置上。
例如:位置012345678
源字符串a(chǎn)bcdhgfe
123498765
則處理后字符串hgfcdcba
876594321
注意,部分源程序存在teste文件中.
請勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)maiM)、讀函數(shù)n?dDat()和寫的數(shù)wnteD&U)的內(nèi)容.
1!linclude<stdio.h>
2j?include<string.h>
3;charxx[20]180);
voidreadDat();
5voidwrlteDat();
6voidjsSort()
7
8
9
10voidmain()
11(
12readDat0;
13jsSort();
14writeDat();
15>
,?從文件1ndu中讀取20行數(shù)第存放到字符事數(shù)組?中?/
16voidreadDat()
17
18FILEein;
19inti■0;
20char*p;
wwwR
21in?fopen(in.datrr);
22while(i<20“fgets(xx(1]v80,in)NULL)
23(
24p-strchr(xxfij,?\n*);
25if(p)*p-0;
26
27)
28fclose(in);
29)
/?tt?ARxx?出到文件outcfel中?/
30voidwriteDat()
31I
32FILEeout;
33int1;
W
34out-fopen(*out.dat",w*);
35for(i-0;1<20;
36{
*
37printf(,,%s\n*/xx[i));
w
38fprintf(outr*%B\nrxx(i));
39)
40fclose(out);
41
37.函數(shù)ReadDat實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章,存入到無符
號(hào)字符串?dāng)?shù)組XX中,請編制函數(shù)encryptChar,按給定的替代關(guān)系對數(shù)
組)XX中的所有字符進(jìn)行替代,其替代值仍存入數(shù)組XX的對應(yīng)的位置
上,最后調(diào)用函數(shù)writeDat把結(jié)果xx輸出到文件out.dat中。
替代關(guān)系:)=p*17mod256,mod為取余運(yùn)算,p是數(shù)組)xx中某一個(gè)字
符的ASCII值,f(p)是計(jì)算后的無符號(hào)整型值(注意:中間變量定義成整
型變量),如果計(jì)算后f(p)值小于等于32或f(p)是奇數(shù)時(shí),則該字符不
變,否則用f(P)替代所對應(yīng)的字符。
注意,部分源觀序存放在teste文件中,原始數(shù)據(jù)文件存放的格式是:能行的寬度均小于80個(gè)字符,古標(biāo)點(diǎn)符號(hào)和蹙
格,井也按出仲代關(guān)嘉進(jìn)行處理?
請勿改動(dòng)主函觸mainO、讀函數(shù)RedD?0和■出函數(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(
17printf("數(shù)據(jù)文件in.dat不能打開!\n\007");
18return;
19]
20encryptChar();
21WriteDat();
)
22八從文件utdal中幡取一編英文文章.存入到無禱號(hào)?利申數(shù)笆0中?/
23intReadDat(void)
24(
2SFILEefp;
26inti-0;
27unsignedchar*p;
ww
28if((fp-fopen(in.dafr-r))—NULL)
29return1;
30while(fgets(xx[1]<80,fp)!-NULL)
31(
32p-strchr(xx[1]t*\n*):
33if(p)*p-0;
34if
35I
36maxline-1;
37fclose(fp);
38return0;
)
39/?把站果XX?出到文件0MdM中?/
40voidWriteDat(void)
41(
42FILE#fp;
43int1;
44fp?fopen("out,datw^;
45for(1-0;i<maxline;
46(
47printfr%s\nw,xx(il);
48fprintf(fp,xx(i]);
49)
50fclose(fp);
51
38.已知數(shù)據(jù)文件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal,其功能是:把個(gè)位數(shù)
字和千位數(shù)字重新組成一個(gè)新的含有兩位數(shù)字的數(shù)(新數(shù)的十位數(shù)字是
原四位數(shù)的個(gè)位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的千位數(shù)字),以及把
百位數(shù)字和十位數(shù)字組成另?個(gè)新的含有兩位數(shù)字的數(shù)(新數(shù)的十位數(shù)
字是原四位數(shù)的百位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字),如
果兩個(gè)新組成的數(shù)均是偶數(shù)并且至少有一個(gè)數(shù)能被9整除,同時(shí)兩個(gè)新
數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的順序存
入數(shù)組b中,并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)ent。最后main函
數(shù)調(diào)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b中符合條件的四位數(shù)輸出
到Out.dat文件中。
注麻:部分源程序存在teste文件中.
程序中巳定義數(shù)ALa|200].b(200],巳定義變量:ent
請勿改動(dòng)數(shù)據(jù)文件m.dat中的任何數(shù)據(jù)、主函數(shù)nwunO、讀的數(shù)rvadDatO和寫曲數(shù)writeDUO的內(nèi)容.
1
1.?include<stdio.h>
2J?defineMAX200
3!inta|MAX]#ent-0;
4-voidjsVal()
5!!
6?
8;voidreadDat()〃從xn?必e文件中虐取200個(gè)四位效存入fHSA中
w
12;fp-fopen(in.dat",
13!for(i■0;i<MAX;
14jfscanf(fp<6a(1]
15;fclose(fp>;
16;十
17;writeDat()/把計(jì)算能果cnl以及我恥b中料含條件的內(nèi)付數(shù)?出到outdai文件中
18
D;
voidmain()
28
29mt1:
30readDat();
31jsVal();〃調(diào)陽的敝加me寶現(xiàn)&U要求的功能
32printf("滿足條件的SUd\n”.nt);
33for(1-0;1<ent;1?*)
34printf<7d”,b[i!);
35printf(H\nM);
36writeDat();
37!)
39.已知數(shù)據(jù)文件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVa,其功能是:把千位數(shù)
字和十位數(shù)字重新組成一個(gè)新的含有兩位數(shù)字的數(shù)ab(新數(shù)的十位數(shù)字
是原四位數(shù)的千位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字),以及
把個(gè)位數(shù)字和百位數(shù)字組成另一個(gè)新的含有兩位數(shù)字的數(shù)cd(新數(shù)的十
位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)
字),如果新組成的兩個(gè)數(shù)ab-cd>=0且ab.cd<=10且兩個(gè)數(shù)均是奇數(shù),
同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到
小的順序存入數(shù)組b中,并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)ent。
最后main函數(shù)調(diào)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b中符合條件
的四位數(shù)輸出到文件Out.dat中。
注意‘部分》程序存在teste文件中.
程序中已定義數(shù)fth1(200].b(200],已定義變量,cm
請勿改動(dòng)數(shù)據(jù)文件trtdai中的任何數(shù)據(jù),主函數(shù)mainO-讀的數(shù)neadDatO和寫函數(shù)writeDatO的內(nèi)容.
Iinclude<stdio.h>
?defineMAX200〃宸義宏支/MAX,其值尊于zoo
3inta[MAXj,b[MAXJ,ent-0;〃定義全局魯甲T?敷蛆ZMAXLDIHAX?宓變■st,苒初值等于0
4voidwriteDat();
voidjsValo
6
7
8
9voidreadDatO〃從m.dat文件中Ml200個(gè)四付數(shù)存入收蛆.中
10
inti;
FILEefp;
fp-fopen("in.dat*,"r*>;
for(1-0;i<MAX;
fscant(fpr"Id",fca[i]);
fclose(fp);
voidmain()
int1;
21readDatO;
22jsValO;〃■用”v“()角數(shù)實(shí)現(xiàn)顯目裳求的功跳
23printf「滿足條件的敗ent);
24for(i*0;i<ent;i++)
25printf(w%d-,
26printfCXn**);
27writeDatO;
28
29voidwriteDatO〃化詩像姑果cm以及敏tflb中符合條件的四位敏■出到xdit文件中
30?|
31;FILE#fp;
32:inti;
w
33fp?fopen("out.dat,"D;
34fprintf(fp,-%d\n"rent);
35for(i?0;1<ent;£?*)
ww
36fprintf(fpr%d\nrb[II);
37fclose(fp);
38
40.在文件in.dat中存有若干個(gè)(個(gè)數(shù)<200)四位數(shù)字的正整數(shù),函數(shù)
ReadDat讀取這若干個(gè)正整數(shù)并存入數(shù)組XX中。請編制函數(shù)CalValue,
其功能要求:1.求出該文件中共有多少個(gè)正整數(shù)totNum;2,求出這些
正整數(shù)中的各位數(shù)字之和是偶數(shù)的數(shù)的個(gè)數(shù)totCnt,以及滿足此條件的
這些正整數(shù)的算術(shù)平均值totPjzo最后main函數(shù)調(diào)用函數(shù)WriteDat把
所求的結(jié)果輸出到Out.dat文件中。
注意:部分源程序存放在test.c文件中。
請勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù),主函數(shù)main、讀函數(shù)ReadDat
和輸出函數(shù)WriteDat的內(nèi)容。
linclude<stdio?h>
IdefIneMAXNUM200
3intxx【MAXNUM”
4inttOtNuw?0;〃文件xn.dat中共有多少個(gè)正事數(shù)
5inttotCnt-0;〃持令條件的正整數(shù)的個(gè)數(shù)
6doubletotPjz?0?0;〃平均值
7intReadDat(void);
8voidWriteDat(void);
9voidCalValue(void)
10
11
12
13voidmain()
14(
15Inti;
16for(i-0;i<MAXNUM;i")
17xx(i]?0;
18if(ReadDat())
19
20printfL數(shù)據(jù)文件in.dat不能打開!\007\nH);
21return;
22I
23CalValueO;
24printf(??文件in.dat中共有正整個(gè)\n".totNum);
25printf("符合條件的正整數(shù)的個(gè)數(shù)Nd個(gè)\n".totCnt);
26printf(“平均值totPjz);
27writeDat();
28
/?讀取這若干個(gè)正■效井存人IhaMI中?/
29intBeadDat(void)
30(
31FILEefp;
32inti0:
33if((fp-fopen("in.dat**,wrw))-NULL)
34return1;
35while(!feof(fp))
36(
37fscanf(fp,7d?e.&xx(i+,:r;
38]
39fclose(fp);
40return0;
41|}
j八把計(jì)算結(jié)果存入文件。iR.Ut.中,
42:voidWriteDat(void)
43
44FILE*fp;
45fp-fopen("out.dat-,”w“);
46fprlntf(tp,totNun,totCnt,totPjz);
47fclose(fp);
48
五、設(shè)計(jì)與應(yīng)用題(2題)
41.已知某教務(wù)管理系統(tǒng)的設(shè)計(jì)人員在需求分析階段收集到下列原始數(shù)
據(jù)表格:
教師
上級領(lǐng)導(dǎo)教師
教師號(hào)教師名職稱工資
號(hào)
9868王文華教授8000null
9983李一斌副教授60009868
9985丁一講師刪9868
0783王潤澤講師刪9868
0899歐陽丹妮講師刪9868
課程
課程號(hào)課程名學(xué)分教材號(hào)教材名出版社名任課教師號(hào)
計(jì)算機(jī)原清華大學(xué)出
C2006311計(jì)算機(jī)原理9868
理版社
計(jì)算機(jī)原計(jì)算機(jī)原理與高等教育出
C20063129868
理應(yīng)用版社
清華大學(xué)出
C2004數(shù)據(jù)結(jié)構(gòu)313數(shù)據(jù)結(jié)構(gòu)9868
版社
數(shù)據(jù)庫原清華大學(xué)出
C2010314數(shù)據(jù)庫原理9868
理版社
數(shù)據(jù)庫原數(shù)據(jù)庫原理與高等教育出
C20103159868
理技術(shù)版社
清華大學(xué)出
S3001音樂欣賞216音樂欣賞9983
版社
已知該業(yè)務(wù)系統(tǒng)存在如下規(guī)則:
I.每個(gè)教師有唯一的教師號(hào),每個(gè)教師號(hào)對應(yīng)唯一的一名教師;
II.每門課程有唯一的課程號(hào),每個(gè)課程號(hào)對應(yīng)唯一的一門課程;
III.每本教材有唯一的教材號(hào),每個(gè)教材號(hào)對應(yīng)唯一的一本教材;
IV.每個(gè)教師最多只有一個(gè)上級領(lǐng)導(dǎo),也可以沒有上級領(lǐng)導(dǎo);
V.一門課程僅由一名教師講授;
VI.一本教材僅用于一門課程。(12分)
(1)請根據(jù)原始數(shù)據(jù)表及業(yè)務(wù)規(guī)則,給出該系統(tǒng)的關(guān)系模式,保證每個(gè)
關(guān)系模式滿足3NF,并說明每個(gè)關(guān)系模式的主碼和外碼。
⑵畫出該系統(tǒng)的ER圖,ER圖中需給出每個(gè)實(shí)體集的屬性,主碼屬性
用下劃線標(biāo)識(shí)。
42.設(shè)某全國性的運(yùn)輸企業(yè)建立了大型OLTP系統(tǒng),并在該系統(tǒng)之上建立
了數(shù)據(jù)倉庫。OLTP系統(tǒng)和數(shù)據(jù)倉庫中有如下數(shù)據(jù)表:運(yùn)輸明細(xì)表(運(yùn)輸
單ID,發(fā)送站ID,終到站ID,貨物ID,貨物重量,運(yùn)輸價(jià)格,發(fā)貨日
期)匯總表1(發(fā)送站ID,終到站ID,貨物ID,發(fā)貨日期,總重,總
運(yùn)價(jià))匯總表2(發(fā)送站ID,終到地區(qū)ID,貨物ID,發(fā)貨日期,總重,
總運(yùn)價(jià))匯總表3(發(fā)送站ID,終到站ID,貨物ID,發(fā)貨月份,總重,
總運(yùn)價(jià))匯總表4(發(fā)送地區(qū)ID,終到地區(qū)ID,貨物類別ID,發(fā)貨日
期,總重,總運(yùn)價(jià))該企業(yè)管理的貨運(yùn)站約有100個(gè),貨物約有500種
共10類,各匯總表都建有主碼,且各表有合理的維護(hù)策略,在每次維護(hù)
后數(shù)據(jù)能保持一致。設(shè)有視圖V,該視圖的訪問頻率很高,其查詢結(jié)果
模式為(發(fā)送地區(qū)ID,終到站ID,發(fā)貨月份,總重,總運(yùn)價(jià)),該視圖
現(xiàn)以匯總表1為計(jì)算數(shù)據(jù)源。經(jīng)監(jiān)控發(fā)現(xiàn),匯總表1的被訪問頻率過高,
導(dǎo)致系統(tǒng)整體性能下降,而其它匯總表被訪問頻率較低。在不增加匯總
表和索引的情況下,請給出一個(gè)改善系統(tǒng)服務(wù)性能的優(yōu)化方案,并簡要
說明理由。(10分)
六、單選題[1分](2題)
43.某公司計(jì)劃開發(fā)一套生產(chǎn)管理系統(tǒng),在開發(fā)前需對數(shù)據(jù)庫產(chǎn)品進(jìn)行選
型工作。下列有關(guān)數(shù)據(jù)庫產(chǎn)品選型的說法,錯(cuò)誤的是()o
A.由于關(guān)系數(shù)據(jù)庫均采用SQL語句對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行維護(hù),因此數(shù)
據(jù)庫產(chǎn)品選定后如需進(jìn)行更換,應(yīng)用程序無需修改
B.存詵型過程中需要考慮應(yīng)用系統(tǒng)的可用性、可靠性和連續(xù)性要求
C.在選型過程中需要考慮數(shù)據(jù)庫管理系統(tǒng)所支持的操作系統(tǒng)平臺(tái),例如
SQLServer數(shù)據(jù)庫管理系統(tǒng)只支持在Windows操作系統(tǒng)上運(yùn)行
D.部分?jǐn)?shù)據(jù)庫管理系統(tǒng)在大數(shù)據(jù)量和大并發(fā)情況下可能出現(xiàn)速度變慢、
死鎖等問題,因此在選型過程中應(yīng)充分考慮數(shù)據(jù)量和性能需求
44.數(shù)據(jù)庫設(shè)計(jì)主要包括概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)三個(gè)步驟。設(shè)有
下列活動(dòng):I.設(shè)計(jì)ER圖II.將ER圖轉(zhuǎn)換為關(guān)系模式m.定義數(shù)據(jù)
的約束條件W.用SQL語句描述事務(wù)活動(dòng)上述活動(dòng)中,屬于邏輯設(shè)計(jì)
所包含活動(dòng)的是()o
A.僅I、ii和niB.僅n、m和wc.僅II和niD.僅n和w
參考答案
LA解析:這是個(gè)連接運(yùn)算通過關(guān)系代數(shù)運(yùn)算可以得出結(jié)論答案A)正確。
2.C解析:表示關(guān)系的屬性時(shí),各個(gè)屬性之間的分隔符選用
3C解析:在并發(fā)控制的技術(shù)中,最常用的是封鎖方法。加鎖后事務(wù)T
就對該數(shù)據(jù)對象有了一定的控制,在事務(wù)T釋放它的鎖之前,其他的事
務(wù)不能更新此數(shù)據(jù)對象。確切的控制由封鎖的類型決定。因此本題正確
答案為選項(xiàng)C。
4.D解析:操作系統(tǒng)中,引入多道程序是為了充分利用CPU,戒少CPU
的等待時(shí)間。
5.D解析:由于哈夫曼樹所有的分支節(jié)點(diǎn)均為雙分支節(jié)點(diǎn),根據(jù)二叉樹
的性質(zhì),雙分支節(jié)點(diǎn)等于葉子節(jié)點(diǎn)的個(gè)數(shù)減1,因此總節(jié)點(diǎn)數(shù)為n+n-
l=2n-lo
6.C解析:視圖是基于基本表的虛表,索引是依附于基本表的,因此,
SQL通常不提供修改視圖定義和修改索引定義的操作。用戶如果想修改
視圖定義或索引定義,只能先將它們刪除掉,然后再重建。不過有些關(guān)
系數(shù)據(jù)庫產(chǎn)品,如Oracle,允許直接修改視圖定義。
7.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ǔ)和核心。
8.B解析:本題考查關(guān)系模型中候選碼的基本概念。由于(C,S)與(S,T)
都是碼,故正確答案為B。
9.B解析:隨著電子郵件的日益普及,越來越多的病毒通過電子郵件傳
播,和傳統(tǒng)的軟盤傳播病毒比起來,通過電子郵件傳播病毒無論是傳播
速度還是傳播范圍都遠(yuǎn)非前者所可望其項(xiàng)背。這也是互聯(lián)網(wǎng)時(shí)代病毒傳
播的最大特點(diǎn)。
10.D解析:加密是防止破譯信息系統(tǒng)中機(jī)密信息的技術(shù)手段;防火墻
(firewall)是網(wǎng)絡(luò)(計(jì)算機(jī))抵抗外部入侵的一種隔離保護(hù)軟件;認(rèn)證是防
止對系統(tǒng)進(jìn)行主動(dòng)攻擊,常用技術(shù)有數(shù)字簽名技術(shù)、身份識(shí)別技術(shù)和信
息的完整性校驗(yàn)技術(shù)等。
11.最先適應(yīng)算法系統(tǒng)在尋找空閑區(qū)時(shí)可采用:最先適應(yīng)算法,最佳適應(yīng)算法,最壞適
應(yīng)算法
12.ALTERTABLEALTERTABLE解析:修改表可能的操作包括:增力
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 政府公共關(guān)系(第二版)課件 第13章 政府公共關(guān)系危機(jī)管理
- 初中綜合實(shí)踐活動(dòng)計(jì)劃
- 《朝花夕拾》讀后感作文10篇
- 商務(wù)工作計(jì)劃3篇
- 2025年己二酸二甲酯合作協(xié)議書
- 2025年多功能水質(zhì)現(xiàn)場監(jiān)測儀項(xiàng)目合作計(jì)劃書
- 2025年脫毛劑合作協(xié)議書
- 人教版初中化學(xué)總復(fù)習(xí)
- 吊車租賃合同范本
- 門市房租房協(xié)議
- 黑龍江省哈爾濱市第九中學(xué)校2024-2025學(xué)年高三上學(xué)期9月考試歷史學(xué)科試卷
- 2024全國高中數(shù)學(xué)聯(lián)賽山東賽區(qū)預(yù)賽試卷(含解析)
- 2024年安徽六年級數(shù)學(xué)第一學(xué)期期末考試試題含解析
- 2021-2022學(xué)年統(tǒng)編版道德與法治五年級上冊全冊單元測試題及答案(每單元1套共6套)
- 上海市縣(2024年-2025年小學(xué)四年級語文)統(tǒng)編版期末考試(上學(xué)期)試卷及答案
- 期末自主測評(5)(試題)-2024-2025學(xué)年四年級上冊數(shù)學(xué)北師大版
- 北京市大興區(qū)名校2025屆數(shù)學(xué)八年級第一學(xué)期期末統(tǒng)考試題含解析2
- 制造業(yè)行業(yè):制造業(yè)質(zhì)量控制與提升方案
- 電網(wǎng)勞務(wù)分包投標(biāo)方案(技術(shù)方案)
- 正常分娩個(gè)案護(hù)理
- 2024-2030年電子級硫酸行業(yè)市場現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評估規(guī)劃分析研究報(bào)告
評論
0/150
提交評論