版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022年遼寧省朝陽市全國計(jì)算機(jī)等級考試
數(shù)據(jù)庫技術(shù)真題(含答案)
學(xué)校:班級:姓名:考號:
一、1.選擇題(10題)
1.計(jì)算機(jī)病毒對于操作計(jì)算機(jī)的人()
A.只會感染、不會致病B.會感染致病,但無嚴(yán)重危害C.不會感染D.產(chǎn)
生的作用尚不清楚
2.建立Delphi程序的基本操作步驟中不包括
A.需求分析B.創(chuàng)建一個(gè)新的項(xiàng)目C.設(shè)計(jì)窗體D.編寫構(gòu)件響應(yīng)的事件
3.對有14個(gè)數(shù)據(jù)元素的有序表R[14]進(jìn)行折半搜索,搜索到R[3]的關(guān)
鍵碼等于給定值,此時(shí)元素比較順序依次為
A.R[0],R[l],R[2],R[3]
B.R[0],R[13],R[2],R[3]
C.R[6],R[2],R[4],R[3]
D.R[6],R[4],R[2],R[3]
4.對于下列三種中斷:a.系統(tǒng)調(diào)用中斷、b.溢出中斷、c.調(diào)頁失誤
中斷,它們的中斷優(yōu)先級從高到低應(yīng)是。
A.abcB.acbC.bcaD.bac
5.對于下面的兩張表,從表一到表二的分析過程稱為
*-博偵:萬加
X04#ms*
的二粗三”測三"EtB.
20ISn2514
*1225515IS20!82)12
20151)27IS3)1725
卜碟岫山
二”三打曬
in勘J,加I*2m2m20t?l|20Ml
ini2012s?2S15
網(wǎng)122)35"ll15aIJ12
即?11uu力25
A.上卷B.下鉆C.切片D.轉(zhuǎn)軸
6.關(guān)于數(shù)據(jù)庫系統(tǒng)三級模式結(jié)構(gòu),下列論述中正確的是
A.三級模式結(jié)構(gòu)是數(shù)據(jù)庫惟一的一種分級模式結(jié)構(gòu)
B.外模式/概念模式映像為數(shù)據(jù)的物理獨(dú)立性提供支持
C內(nèi)模式與物理數(shù)據(jù)庫等價(jià),概念模式與邏輯數(shù)據(jù)庫等價(jià)
D.外模式是概念模式的一個(gè)邏輯子集,且外模式的某些描述可以與概念
模式不同
7.系統(tǒng)軟件是隨計(jì)算機(jī)出廠并具有通用功能的軟件。下列不屬于系統(tǒng)軟
件的是
A.操作系統(tǒng)B.信息管理系統(tǒng)C.數(shù)據(jù)庫管理系統(tǒng)D.服務(wù)性程序
8.由于頁面淘汰算法不合理或其他原因,使得可能出現(xiàn)剛被淘汰的一頁,
又要訪問,因而又被調(diào)入內(nèi)存,如此反復(fù),使系統(tǒng)出現(xiàn)頁面的頻繁調(diào)入
調(diào)出的情況,這種現(xiàn)象稱為()。
A.抖動B.缺頁C.死鎖D.循環(huán)
9.設(shè)散列表的地址空間為0到10,散列函數(shù)為h(k戶kmodll,用線性探
查法解決碰撞?,F(xiàn)從空的散列表開始,依次插入關(guān)鍵碼值95,14,27,
68,82,則最后一個(gè)關(guān)鍵碼82的地址為:
A.4B.5C.6D.7
10.編譯程序和解釋程序都是O
A.目標(biāo)程序B.語言編輯程序C.語言處理程序D.語言連接程序
二、填空題(10題)
H.系統(tǒng)中有N個(gè)進(jìn)程,則進(jìn)程就緒隊(duì)列中最多有【】個(gè)進(jìn)程。
12.“報(bào)表向?qū)А敝性O(shè)置字段排序時(shí),一次最多能設(shè)置【】個(gè)字段
13.一個(gè)算法的時(shí)間復(fù)雜性通常用數(shù)量級形式表示,當(dāng)一個(gè)算法的時(shí)間復(fù)雜性與問題的規(guī)模
n無關(guān)時(shí),則表示為【】
14.在SQL語言中,若要刪除一個(gè)表,應(yīng)使用的語句是TABLEO
15.設(shè)根結(jié)點(diǎn)的層次為0,則高度為k的二叉樹的最大結(jié)點(diǎn)數(shù)為o
16.如果關(guān)系模式R的屬性之間不存在非平凡且非函數(shù)依賴的多值依賴,
則R的規(guī)范化程序達(dá)到了。
17.在一棵二叉樹中,度為0的結(jié)點(diǎn)個(gè)數(shù)為No,度為2的結(jié)點(diǎn)個(gè)數(shù)為甌則有No=[]
18.在稀疏矩陣所對應(yīng)的三元組線性表中,每個(gè)三元組元素按【】為主
序排列。
19.傳輸層的主要任務(wù)是向用戶提供可靠的服務(wù),透明地傳
送報(bào)文。
20.在關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL中,實(shí)現(xiàn)數(shù)據(jù)檢索的語句(命令)是【】。
三、單選題(10題)
21.下列關(guān)于SQLServer數(shù)據(jù)庫管理系統(tǒng)權(quán)限的敘述中,哪一條是不正
確的?
A.SQLServer數(shù)據(jù)庫管理系統(tǒng)的權(quán)限分為服務(wù)器權(quán)限和數(shù)據(jù)庫權(quán)限兩
種
B.數(shù)據(jù)庫管理員執(zhí)行數(shù)據(jù)庫管理任務(wù)。這是屬于數(shù)據(jù)庫權(quán)限
C數(shù)據(jù)庫權(quán)限又可以分為數(shù)據(jù)庫對象權(quán)限和數(shù)據(jù)庫語句權(quán)限兩種
D.數(shù)據(jù)庫語句權(quán)限授予用戶以允許他們創(chuàng)建數(shù)據(jù)庫對象
22.E-R模型轉(zhuǎn)換成關(guān)系模型是在數(shù)據(jù)庫設(shè)計(jì)階段中的()階段。
A.概念設(shè)計(jì)B.邏輯設(shè)計(jì)C.物理設(shè)計(jì)D.實(shí)現(xiàn)
23.邏輯文件存放在存儲介質(zhì)上時(shí),采用的組織形式是與什么有關(guān)?
A.邏輯文件結(jié)構(gòu)B.存儲介質(zhì)特性C.主存儲器管理方式D.分配外設(shè)方
式
24.整個(gè)軟件生存期中時(shí)間最長蹬是()
A.需求分析B.設(shè)計(jì)C.程序編制D.運(yùn)行維護(hù)
25.下列不是TCP/IP參考模型中的應(yīng)用層協(xié)議()。
A.A.電子郵件協(xié)議SMTPB.網(wǎng)絡(luò)文件系統(tǒng)NFSC.簡單網(wǎng)絡(luò)管理協(xié)議
SNMPD.文件傳輸協(xié)議FTP
26.采用SPOOLing技術(shù)的主要目的是()。
A.提供內(nèi)存和磁盤的接口B.減輕用戶編程負(fù)擔(dān)C.提高CPU和設(shè)備交
換信息的速度D.提高獨(dú)占設(shè)備的利用率
27.數(shù)據(jù)庫的概念模型獨(dú)立于()。
A.具體的機(jī)器和DBMSB.實(shí)體聯(lián)系圖C.信息世界D.關(guān)系模型
28.ODBC是()
A.客戶機(jī)與服務(wù)器之間的接口標(biāo)準(zhǔn)B.數(shù)據(jù)庫查詢語言標(biāo)準(zhǔn)C數(shù)據(jù)庫
應(yīng)用開發(fā)工具標(biāo)準(zhǔn)D.數(shù)據(jù)安全性標(biāo)準(zhǔn)
29.下面關(guān)于關(guān)系的性質(zhì)描述正確的是
A.每列中的分量可以來自不同的域
B.一個(gè)關(guān)系中可以有相同的元組
C.每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng)
D.不同列的分量必須來自相同的域
30.概念模型()
A.依賴于DBMS和硬件B.獨(dú)立于DBMS和硬件C依賴于DBMSD.獨(dú)
立于DBMS
四、C語言程序設(shè)計(jì)題(10題)
31.函數(shù)ReadDat實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章,存入到字符
串?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)系:f(p)=p*l1mod256,mod為取余運(yùn)算,P是數(shù)組XX中某一
個(gè)字符的ASCII值,f(p)是計(jì)算后的無符號整型值C主意:中間變量定義
成整型變量),如果原字符的ASCII值是偶數(shù)或計(jì)算后f(p)值小于等于
32,則該字符不變,否則用f(p)替代所對應(yīng)的字符。
注意:部分源程序存放在test.c文件中,原始數(shù)據(jù)文件存放的格式是:
每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號和空格,并也按此替代關(guān)系
進(jìn)行處理。
請勿改動主函數(shù)main、讀函數(shù)ReadDat和輸出函數(shù)WriteDat的內(nèi)容。
??include
;tinclude
3finclude<ctype.h>
Aunsignedcharxx(50](80);
5intmaxline■0;/?文第的總行數(shù)?/
6intReadDat(void);
7voidWritoDat(void);
8voidencryptChar()
9
10
11
請勿改動主函敷mainO、讀函數(shù)ReadDaH)和泊出的數(shù)WritelM)的內(nèi)容,
IInclude<stdlo.h>
?include<string.h>
3?include<ctype.h>
4unsignedcharxx(50)(801;
5intmaxline-0;/?文章的總行數(shù)?/
6intReadDat(void);
7voidWriteDat(void);
8voidencryptChar()
9
10
12voidmainO
13
14if(ReadDat())
15
16print,(“數(shù)據(jù)文件in.dat不能打開!\n\007”);
17return;
18
19encryptChar();
20WriteDat();
21
八從文件m.4bt中請取一■英文文章,存入到字料*收機(jī)XX中?/
22intReadDat(void)
23
24;FILE?fp;
25jinti-0;
26;unsignedchar*p;
27!www
if((fp-fopen(in.datrr*))-NULL)
281return1;
29;while(fgets(xx(i]r80,fp)!,NULL)
30
31p-strchr(xx[i]r*\n*);
32if(p)*p-0;
33
34J
35maxline?1;
36fclose(fp);
37return0;
38)
八把她JRu-出現(xiàn)文件ouLdM中?/
voidWrileDat(void)
40(
.jFILE*fp;
42;int1;
43jfp■fopen(wout.dat",Hww);
44;for(i*0;i<maxline;,ix)
45:(
46iprintfxx[i]);
47j
fprintf(fp,"%s\nw,xx(i]);
48!)
49;fclose(fp);
voidmain()
13
14if(ReadDat())
15(
16printf<"?[據(jù)文件in.dat不能打開!\n\007");
17return;
18
19encryptChar();
20WriteDat();
21)
/?從文件adM中it取一?英文文我.存入弘學(xué)料冷敷超xx中?/
22intReadDat(void)
23i
24FILE?£p;
25int1-0;
26unsignedchar*p;
Mww
27if((fp*fopen(in.dat*rr))-NULL)
28return1;
29while(fgets(xx[1],80rfp)!*NULL)
30(
31p■strchr(xx(l)9?\n?);
32if(p)*p-0;
33i+儲
34I
35maxline*1;
36fclose(fp);
37return0;
38I
/?杷州-出N文件outdat中?/
39voidWriteDat(void)
40(
41FILE*fp;
42inti;
43fp-fopen(*out.dat",wwM);
44for(i?0;i<maxline;1+?)
45(
Mw
46printf(%s\ntxx[i]);
47fprintf(fpr*%s\n*rxx[1]);
48)
49fclose(fp);
50
32.已知在in.dat中存有若干個(gè)(個(gè)數(shù)<200)四位數(shù)字的正整數(shù),函數(shù)
ReadDat讀取這若干個(gè)正整數(shù)并存入數(shù)組XX中。請編制函數(shù)CalValue,
其功能要求:
1,求出該文件中共有多少個(gè)正整數(shù)totNum;
2.求這些正整數(shù)右移1位二進(jìn)制位后,產(chǎn)生的新數(shù)是奇數(shù)的數(shù)的個(gè)數(shù)
totCnt,以及滿足此條件的這些正整數(shù)(右移前的值)的算術(shù)平均值totPjz0
最后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中共有名少個(gè)正餐數(shù)
5iinttotCnt-0;〃符合條件的正整數(shù)的個(gè)數(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\(
201printf("數(shù)據(jù)文件in.dat不能打開!\007\n*);
21\
return;
22;J
23;CalValue();
24iprintf("文件in.dat中共有正整數(shù)個(gè)\n*totNum);
25?printfL符合條件的正整數(shù)的個(gè)數(shù)個(gè)tocCnt);
26printf("平均值\n“,totPjz);
27WriteDat();
28)
/?提取達(dá)若F個(gè)正整數(shù)并存入u中?/
29intReadDat(void)
30(
31FILE*fp;
32int1-0;
33if((fp-fopen(wln.dat*,*r*))-NULL)
34return1;
35while(!feof(fp))
36I
37
fscanf(fp#7dJ.&xx(i+*]);
38)
39fclose(fp);
40return0;
41)
〃把計(jì)算站累存入文件,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
33.程序test.c的功能是:將大于整數(shù)m且緊靠m的k個(gè)素?cái)?shù)存入數(shù)組
XXo請考生編寫函數(shù)num(intm,intk,intxx口)實(shí)現(xiàn)程序的要求,最后調(diào)
用函數(shù)readwriteDATO把結(jié)果輸出到Out.dat文件中。
例如,若輸入17,5,則應(yīng)輸出:19,23,29,31,37O
注意,部分源程序存在less文件中.
請”改動數(shù)據(jù)文件indat中的任何數(shù)據(jù)以及上函數(shù)main。和輸出函數(shù)rcadwritcDATO的內(nèi)容.
1-#include<stdio.h>〃mdudc調(diào)句說明魯程片中包含vc6.0中的標(biāo)港■人■出"語數(shù)Mdx>.h
2!voidreadwriteDAT();//fififtrekHmeDATOift明野句
3intisP(intm)〃京數(shù)isPHnt皿以新m是否為素?cái)?shù),如果是素效則返出1,否則返回o
4(
5Inti;〃定義變*:
6for(i-2;i<m;〃父**從2依次焉增到土】
7if(m%1-0)return0;〃如瞿m便被1■除,返回o
8return1;〃否射煙回1
9}
10voidnum(intm,intk.intxx(])
11
12
13
14main()
15(
16intm,n,xxflOOO);〃定又受Itm,c能敷配xxliooo】
17printf(n\nPleaseentertwointegers:**);
18scanf(Fd,*d。Mn,&n);〃從便負(fù)讀入兩個(gè)敗受■m,n
19num(m,n,xx);〃&網(wǎng)函IknuEnntn,mtk.mtu[D實(shí)理將大于靴數(shù)m的k個(gè)虐效標(biāo)入
20for(m-0;m<n;mi)〃空從0依次逢增到nT
21prmef("%dxx(m));〃■出我如兀虞xxi。]
22prlntf("\nw);〃■出一個(gè)網(wǎng)車按If符
23readwriteDAT<);用函畋ZunteDATOie儲鬢■出到omdai文件中
24)
25voidreadwriteDATO”也敷rgdwrtsMT(i的定義附句
26<
27inte,n.xx(1000)?i;〃定義整型變■o.c,£知敏鋁xx[100。]
28FILETf,*wf;〃定義文件指什攵wf
29rf-fopen(win.dac",*rw?;〃以只愧的方式的,升文件s.ut,并用”指向這個(gè)文件
wM
30wf-fopenCout.dat*rw);〃以只用的方式的打開文件。ut.da匕?并用wf指向這個(gè)文ft
31for(i-0;i<10;£?+),/謂跖交量幺從。依次通用到9
32(
H
33fscanf(rftFd%d,3n,&n);〃從文件in&i深入唐個(gè)數(shù)(ftM紿m.n
?
34nuw(mrn.xx);〃用?收威1fcmlm(m?k.u[])實(shí)現(xiàn)特大于?鼓mtn的k個(gè)IHft存入數(shù)tgxx
35for(m-0;m<n;m*+)〃1!環(huán)土■?!從。依次
36fprintf(wf,"%d”,xx[m));〃把數(shù)但元*xx[m]耳入到文flota.gu中
wSRH
37fprintf(wfr*\n);〃紀(jì)國車快打杼寫人劍文件.&:中
38}
39fclose(r£);〃關(guān)閉?入文件in.da匕
40fclosefwf);〃關(guān)閉?法文件out.5匕
41
34.設(shè)有n個(gè)人圍坐一圈并按順時(shí)針方向從1到n編號,從第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è)人的順序表。請考生編寫
函數(shù)Josegh(void)實(shí)現(xiàn)此功能,并調(diào)用函數(shù)writeDat,把結(jié)果P輸出到文
件out.dat中°
設(shè)n=100,s=l,m=10o
①將1到n個(gè)人的序號存入一維數(shù)組P中;
②若第i個(gè)人報(bào)數(shù)后出圈,則將p[i]置于數(shù)組的倒數(shù)第i個(gè)位置上,而原
來第i+1個(gè)至倒數(shù)第i個(gè)元素依次向前移動一個(gè)位置;
③重復(fù)第②步直至圈中只剩下p[l]為止。
注意:部分源程序已經(jīng)給出。
請勿改動主函數(shù)main和輸出數(shù)據(jù)函數(shù)writeDAT的內(nèi)容。
!<include<stdio.h>
2?defineN100
3IdefineS1
4?defineM10
5intp[100]9n,s,m;
6voidWriteDat(void);
7voidJosegh(void)
e
9
10
11voidmain()
12(
13m?M;
14N;
15
16Josegh();
17WriteDat();
18}
,?把姑祟p■出到文件ouutet中?/
19voidWriteDac(void)
20(
21int1;
22FILEefp;,
23fp■fopen("out.dat*,"ww);
,?以電?的方式,以10個(gè)敗掘?yàn)橐籺tt把Ihaai]■出利腳幕和文件曲.如中?/
24for(i-N-1;1>?0;i-T
25(
26printf(R%4d”,
27fprintf(fp,"i4dR>p(i]);
28if(i410—0)〃如果i?被10■除.出一個(gè)回車換行符
29(
30prlntf(**\nw);
31fprintf(fp,"\n*);
32}
331
34fclose(fp);
35
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文件中。
請勿改動主函數(shù)main、讀函數(shù)ReadDat和輸出函數(shù)WriteDat的內(nèi)容。
fInclude<stdio.h>
2?include<strlng.h>
3*include<stdlib.h>
4IdefineMAX100
5typedefstruct
6(
7chardm{5];/?產(chǎn)品代利?/
8charme(11];/?產(chǎn)品名雅?/
9intdj;/?華優(yōu)?/
10intsi;/?**?/
11longje;/??/
12}PRO;
13PROsell(MAX];
14voidReadDatO;
ISvoidWriteDat();
16voidSortDat()
17
18
19;
20;void
21;(
22;momset(sellt0,sixeof(sell));
23jReadDat();
24;SortDat();
25!WritoDat();
;
26)
27;voidReadDat()
28!I
291FILE?“>;
30\charstr(80],ch[111;
31Jinti;
325
fp?fopen("in.dat"r*r">/
33!for(1?0;1<100;£??)
34;(
35;fgets(str,80,fp>;
36!memepy(sell(1)stt,4);
37;nioroepy(sellli).me,str?4,10);
38:memepy(ch,str*14,4);ch(4)-0;
39isellfl].dj-atol(cb);
40;memepy(ch,str*18,5);ch(5)-0;
41;8ell(i].si?atoi(ch);
42?scllID.je-(lon^>sell(i).dj?sellfi].si;
43;>
44;fclose(fp);
45;)
46?;voidWriteDat0
47;(
48;FILE*fp;
49jint1;
50?fp-fopen("out,datw,;
51\ford?0;1<100;
52!(
53;fprlntf(fp,"%8IsUd*SdH01d\n*r3011(1].dm,5ell(ibincrsell(lj.djrsellli).si,
:seXHU.jeH
541)
55Jfclose(fp);
563
36.函數(shù)ReadDat實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章,存入到無符
號字符串?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è)字
符的ASCH值,f(p)是計(jì)算后的無符號整型值C主意:中間變量定義成整
型變量),如果計(jì)算后f(p)值小于等于32或f(p)是奇數(shù)時(shí),則該字符不
變,否則用f(p)替代所對應(yīng)的字符。
注意,部分源程序存放在teste文件中,原始數(shù)據(jù)文件在放的格式品*每行的寬度均小于8。個(gè)字符.臺標(biāo)點(diǎn)杼號相至
格,井也按此替代關(guān)系進(jìn)行處理.
謫如改動主國數(shù)miinO、RedD?0和■出的依WmeDmO的內(nèi)容.
11!include<etdio.h>
2itinclude<string.h>
3??Include<ctype.h>
4?unsignedcharxx[50)[80];
5;intmaxline■0;/?文章的總行政?/
61xntReadDat(void);
7ivoidWriteDat(void);
8;voidencryptChar()
9;(
10;unslqnedintval;
11
12
13voidmam()
14(
15if(ReadDat())
16(
17prtntf數(shù)據(jù)文件in.dat不加打開!\n\007");
18return;
19\
20encryptChar();
21WrlteDatO;
)
22,?從文件ULdlt中讀取一■英文文拿,存入到無符號字例串故第O中?/
23intReadDat(void)
24(
25FILE?fp;
26inti*0;
27unsignedchar*p;
wR
28if((fp-fopen(-in.dafrr))-NULL)
29return1;
30while(fgets(xx[i]#80,fp)!-NULL)
31(
1
32p■strehr(xx[i]t\n*);
33if(p)*p-0;
34
35J
36maxline-1;
37fclose(fp);
38return0;
)
39/?把站累XX■出到文竹outdat中?/
40voidWrlteDat(void)
41(
42FILEwfp;
43int1;
44fp-fopen("out.dat*,Www);
45for(i-0;i<maxline;
46(
47printfxx(i]);
48fprintf(fp,"tsXn",xxli]);
49)
50fclose(fp);
51
37.已知數(shù)據(jù)文件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal,其功能是:如果四位
數(shù)各位上的數(shù)字均是奇數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)ent并把這些四
位數(shù)按從大到小的順序存入數(shù)組b中。最后main函數(shù)調(diào)用寫函數(shù)
writeDat把結(jié)果ent以及數(shù)組b中符合條件的四位數(shù)輸出到Out.dat文
件中。
注意:解分源程序存在teste文件中.
程序中已定義數(shù)fiba(200],b{200].巳定義變量:ent
請勿改動數(shù)據(jù)文件irtdat中的任何數(shù)據(jù)、主的數(shù)皿加0、讀函數(shù)readDatO和寫函數(shù)writeDatO的內(nèi)容.
tinclude<stdio.h>
IdefineMAX200
3inta(MAX),b(MAX!,ent-0;
voidwriteDat();
voidJSVAI()
6
7
8
9voidreadDat()〃從xc.dat文件中S取200個(gè)四位敷存入數(shù)忸a中
10(
11inti;
12FILEefp;
13fp-fopenLin.daL.*r*>;
14for(i?0;1<MAX;ii)
w
15fscanf(fp,?*%d/&a[1]);
16fclose(fp);
17)
18voidmain()
19(
20inti;
21readDat();
22javal();〃■用嫉數(shù))avalO,實(shí)聞IH要求的功健
23prinef("滿足條件的數(shù),Qd'n”,ent);
24for(i?0;i<ent;£*?)
25prlntf("%d”?b[i]);
26printf("\n**);
27writeDat();
28?
29voidwriteDat()〃祖計(jì)%防果cm以及數(shù)也b中整合條外的四位依■用到ourdu文件中
30(
31FILE*fp;
32int1;
33fp-fopen(*out.dat**,**w*);
34fprintf(fp/rd\n",ent);
35for(i-0;i<ent;
36fprintf(fp,"?d\n".b(i]);
37fclose(fp);
38
38.已知數(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中。
例如,ai123124152115
b*3245172718IS
ciMSI12751155
播序IIS512753451
注意?部分潭程序存在文件中.
程序中已定義8叩00卜b(100)和班001?
請勿改動數(shù)拐文件IN1.DAT和IN2,DAT中的任何依據(jù)?主函數(shù)nuun().讀函ItreadD叫)小與#數(shù)wnteDatO的內(nèi)*.
1'?include<ttdio.h>
2itdeflneMAX100
3\inta(MAXltbfMAXJ,c[MAX]/
4?intent?0;/?卷■符含餐件數(shù)的個(gè)我?/
5;voidJsVal<)
6!I
1;
?>
j,?紀(jì)”據(jù)文件INIDATf0N2.DAT中的100個(gè)一粒十〃入駐?國b中〃
9-voidreadDat<)
10?(
11-int1)
12?FILE?fp;
13:fp-fopenClnl.daCM?*r*);
14!ford-0;1<MAX;…)
15\tacanf<fp,Fd-.(afUH
16-fcloaelfp);
17jfp?fopen("in2.d4t","r*J;
18\for(i-0;1<MAX;!?*>
19?fscanf(fp<"W?5bH1);
20;fclose(fp):
21j)
22IvoidmainO
23!(
24jintitvoidwriteDat();
25jford-0;1<MMU
26jc(l)-0;
27-readDat();
28■jsVal<);
29;for(i-0;1<MAX“efil>0;
30!prlntf(wtd\n*,c(l)):
31iwritoDat()i
32j)
;/?紀(jì)恰果數(shù)期c?由到文傳wufat中?/
33-voidwriteDat()
34?(
35;FILE*fp;
36!int1;
37;fp?fopen("out.dtt*,3);
38Jford-0;1<MAX“c(i)>0Jiz)
391fprlntf(fp,*ld\n*tc(ll)/
40\fclose(fp);
41!)
39.函數(shù)ReadDat實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章,存入到無符
號字符串?dāng)?shù)組XX中;請編制函數(shù)encryptChar,按給定的替代關(guān)系對數(shù)
組XX中的所有字符進(jìn)行替代,其替代值仍存入數(shù)組)xx的對應(yīng)的位置
上,最后調(diào)用函數(shù)wmeDat把結(jié)果xX輸出到文件out.dat中。
替代關(guān)系:f(p)=p*llmod256,mod為取余運(yùn)算,P是數(shù)組xx中某一個(gè)
字符的ASCH值,f(p)是計(jì)算后無符號的整型值(注意:中間變量定義成
整型變量),如果計(jì)算后f(p)值小于等于32或f(p)對應(yīng)的字符是小寫字
母,則該字符不變,否則用f(p)替代所對應(yīng)的字符。
注意:部分源程序存放在test.c文件中,原始數(shù)據(jù)文件存放的格式是:
每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號和空格,并也按此替代關(guān)系
進(jìn)行處理。
請勿改動住數(shù)main,讀數(shù)據(jù)函數(shù)ReadDat和輸出數(shù)據(jù)函數(shù)WriteDat的
內(nèi)容。
1;finclude<stdio.h>
2!tinclude<string.h>
3j?include<ctype.h>
4?unsignedcharxx(50](80);
5!intmaxline?0;/?文章的總行效?/
i
6;intReadDat(void);
7JvoidWriteDat(void);
8?voidencryptChar()
9
10
11
12?voidmainO
13!(
14;if(ReadDatO)
15i{-
16printf「數(shù)據(jù)文件in.dat不能打開!\n\007w);
?
17return;
18i?
19jencryptCharO;
20|WriteDat();
21
;,?從文件m&i中讀取一?英文文章.存入更無符號字料申依祖口中〃
22;intReadDat(void)
23!I
24;FILE*fp;
25Jinti-0;
26iunsignedchar*p;
27if((fp-fopen("in.daf,"1"))—NULL)
28return1;
29\while(fgeta(xx11),80*fp)!?NULL)
30;
31!p-strchr(xx(l],,Xn*);
32;if(p)*p■0;
向if
34)
35;maxline■i;
36!fclose(fp);
371return0;
38JI
八把怖果H■出JM文件OUL&l中”
39j
voidWriteDat(void)
40:(
41!FILE*fp;
42;int1;
43:fp-fopen("out.datw,**wH);
44ifor(i-0;i<maxline;1?>)
:
45(
46!0w
printC(%s\nrxx[i]);
;
47fprintf(fpr7s\n”,xx(ij);
回)
49!fclose(fp);
50;
40.已知數(shù)據(jù)文件in.dat中存有300個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請編制一數(shù)jsValue,其功能是:求出個(gè)位數(shù)上
的數(shù)減千位數(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.dato
例如?1239.9.!-2-3>O,則該數(shù)滿足條件存入數(shù)組b中?且個(gè)數(shù)cn*cnt+1.
8129.9-8-l-2<0,則該數(shù)不滿足條件忽略?
注意:部分源程序存在teste文件中?
程序中已定義數(shù)組:a[300J,W300].已定義受lbent
請勿改動數(shù)據(jù)文件in.dat中的任何數(shù)據(jù).主函數(shù)main()、讀語數(shù)readDaH)和寫話數(shù)writeDwO的內(nèi)容.
tinclude<stdio.h>
2inta(300],b[300)tcnfO;
3voidreadDat();
voidwriteDat(>;
voidjsValue()
7
8
9mainO
10;(
11!int1;
12readDat();
13jsValue();
14writeDat();
15printf(Hcnt-%d\n**/ent);
16for(i*0;i<cot;t?十)
printf(*b(%d]wW\n*,1#b(il);
181
19?voidreadDat()
20\(
21;FILE*fp;
22?int1;
23;fp=foperH"in.daL,**L);
24!for(1■0;i<300;"?)
25?fscanf(£p,&a(1))
26-fclose(fp);
27?1
28;voidwrlteDat()
29\(
30?FILEefp;
31iinti;
HHM
32!fp-fopen(out.dat**rw);
H
33jfprintf(fp,*%d\nrent);
34;for(1-0;i<ent;i—)
HR
35;fprlntf(fp,%d\n,b[i]);
36?fclose(fp);
37;1
五、設(shè)計(jì)與應(yīng)用題(2題)
41.已知有如下關(guān)系模式:RI(a,b,c),R2(c,d,a),R3(e,
f),R4(g,g),其中標(biāo)下劃線的屬性是主碼。請將上述關(guān)系模
式用適當(dāng)?shù)腅R圖表示出來,并用下劃線標(biāo)注出作為實(shí)體主碼的屬
性。(10分)
42.設(shè)有商品表(商品號,商品名,單價(jià))和銷售表(銷售單據(jù)號,商品
號,銷售時(shí)間,銷售數(shù)量,銷售單價(jià))。其中,商品號代表一類商品,商
品號、單價(jià)、銷售數(shù)量和銷售單價(jià)均為整型。請編寫查詢某年某商品的
銷售總毛利的存儲過程,毛利=銷售數(shù)量x(銷售單價(jià)一單價(jià))。要求商
品號和年份為輸入?yún)?shù),總毛利用輸出參數(shù)返回。(10分)
六、單選題[1分](2題)
43.設(shè)在SQLServer2008中,某關(guān)系表需要存儲職工的工資信息,工資
的范圍為2000?10000,設(shè)用整型類型存儲。下列數(shù)據(jù)類型中最合適的
是()。
A.intB.smallintC.tinyintD.bigint
44.設(shè)有如下所示ER圖:
下列能夠正確表示該ER圖的UML類圖是()。
?A.
I職:-----3^4部門
1?
下屬領(lǐng)導(dǎo)
Iy
?B.
?C.
D.
職|LUL)——3[部門
1?
下屬領(lǐng)導(dǎo)
<-/___
參考答案
1.C
2.A解析:建立一個(gè)Delphi程序時(shí),用戶二般只,需在一個(gè)窗體對象上
放置所需要的各種構(gòu)件,然后對其特征賦值,并編寫代碼以控制事件。
Delphi程序設(shè)計(jì)的基本步驟為:開始創(chuàng)建一個(gè)新的項(xiàng)目一設(shè)計(jì)窗體一將
所需構(gòu)件放入窗體中的適當(dāng)位置一處理窗體、編寫構(gòu)件響應(yīng)的事件一編
譯、運(yùn)行程序。需求分析不是Delphi程序設(shè)計(jì)的基本步驟,因此本題的
答案為A。
3.C解析:折半查找是一種效率較高的查找方法,要求線性表是有序表。
基本思想是:首先將待查的K值和有序表R[0]到R[n-1]的中間位置mid
上的結(jié)點(diǎn)的關(guān)鍵字進(jìn)行比較,若相等,則查找完成;否則,若R[mid].key>K,
則說明待查找的結(jié)點(diǎn)只可能在左子表R⑼到R[mid-1]中,我們只要在左
子表中繼續(xù)進(jìn)行折半查找,若R[mid].key<K,則說明待查找的結(jié)點(diǎn)只可能
在右子表R[mid+1]到R[n-1]中,我們只要在右子表中繼續(xù)進(jìn)行折半查找。
這樣,經(jīng)過一次關(guān)鍵字比較就縮小一半的查找空間。如此進(jìn)行下去,直到
找到關(guān)鍵字為K的結(jié)點(diǎn),或者當(dāng)前的查找區(qū)間為空(表示查找失?。?。根
據(jù)這個(gè)思想渣找的順序即為R[6],R[2],R[4],R[3]。
4.C
5.D解析:根據(jù)轉(zhuǎn)軸的定義:改變一個(gè)報(bào)告或頁面顯示的維的方向,將
一個(gè)三維立方體轉(zhuǎn)變成一系列的二維平面等。題目中的年度維與季度維
進(jìn)行轉(zhuǎn)軸,改變了維的方向。
6.D解析:三級模式結(jié)構(gòu)并不是數(shù)據(jù)庫惟一的一種分級模式,所以A不
正確;內(nèi)模式/概念模式映像為數(shù)據(jù)的物理獨(dú)立性提供支持,外模式/概
念模式映像為數(shù)據(jù)的邏輯獨(dú)立性提供支持,所以B不正確;外模式是用
戶觀念下的數(shù)據(jù)結(jié)構(gòu)的邏輯描述,在數(shù)據(jù)庫中某個(gè)用戶一般只會剛到概
念模式中的一部分記錄集,因此,外模式是概念模式的一個(gè)邏輯子集,
外模式允許某些描述與概念模式不同,所以D正確。
7.B解析:系統(tǒng)軟件是隨計(jì)算機(jī)出廠并具有通用功能的軟件,它包括操
作系統(tǒng)、語言處理程序、數(shù)據(jù)庫管理系統(tǒng)和服務(wù)性程序。注意:因?yàn)橄?/p>
統(tǒng)軟件包括操作系統(tǒng)、語言處理程序,數(shù)據(jù)庫管理系統(tǒng)和服務(wù)性程序,
所以信息管理系統(tǒng)不屬于系統(tǒng)軟件,故選B)。掌握系統(tǒng)軟件的概念和用
戶軟件的概念,以及二者的區(qū)別。
8.A解析:在虛擬存儲技術(shù)中,利用程序執(zhí)行的局部性原理,程序的一
次執(zhí)行不必將所有的數(shù)據(jù)全部調(diào)入內(nèi)存,而只調(diào)入用到的部分,當(dāng)需要
外存中的數(shù)據(jù)時(shí)再調(diào)入,此時(shí)需要根據(jù)頁面淘汰算法將頁面中某些頁面
調(diào)出內(nèi)存,這樣就可能會因?yàn)轫撁嫣蕴惴ǖ牟磺‘?dāng)引起抖動現(xiàn)象。
9.C解析:本題是對散列表存儲問題的考查。散列表的基本思想是:由
結(jié)點(diǎn)的關(guān)鍵碼值決定結(jié)點(diǎn)的存儲地址,即以關(guān)鍵碼值k為自變量,通過
一定的函數(shù)關(guān)系h(稱為散列函數(shù)),計(jì)算出對應(yīng)的函數(shù)值h(k)來,把這個(gè)
值解釋為結(jié)點(diǎn)的存儲地址,將結(jié)點(diǎn)存入該地址中。在散列表中,不同的
關(guān)鍵碼值可能對應(yīng)到同一存儲地址,這種現(xiàn)象叫碰撞,處理碰撞基本有
兩種方法:拉鏈法和線性探索法。在本題中,所采用的散列函數(shù)為
h(k)=kmodll,用線性探查法解決碰撞。計(jì)算順序如下:①
h(95)=95modll=7,存在地址為7的位置;②坂9尸14mo祖1=3,存在地址
為3的位置;③h(27尸27moe111=5,存在地址為5的位置;④
h(68)=68modll=2,存在地址為2的位置;⑤h(82)=82modll=5,與關(guān)鍵碼
為27的存儲位置發(fā)生碰撞,采用線性探索的方法解決,即將82存在5
以后的首個(gè)開放位置,在本題中即為6,所以82存在地址為6的位置。
因此本題正確答案為選項(xiàng)C。
10.C解析:語言處理程序分為兩大類:解釋程序和翻譯程序,翻譯程序
也稱編譯程序。解釋程序是指對輸入的用程序語言(源語言)書寫的程序
(源程序)直接解釋執(zhí)行源程序的語言處理程序;編譯程序是指將源程序
改造成另一種語言程序(目標(biāo)語言程序)的語言處理程序。改造前后二者
在邏輯上是等價(jià)的。
11.N-1
12.4利用報(bào)表向?qū)斫?bào)表,在設(shè)置字段排序時(shí),一次最多不超過4
個(gè)
13.0(1)一個(gè)算法花費(fèi)的時(shí)間與算法中語句的執(zhí)行次數(shù)成正比例,哪個(gè)
算法中語句執(zhí)行次數(shù)多,它花費(fèi)時(shí)間就多。一個(gè)算法中的語句執(zhí)行次數(shù)
稱為語句頻度或時(shí)間頻度。當(dāng)一個(gè)算法的時(shí)間復(fù)雜性與問題的規(guī)模n無
關(guān)時(shí),則表示為0(1)
14.DR0P
15.2k+l-
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年期貨物償債交易具體合同版
- 2024年標(biāo)準(zhǔn)競業(yè)限制及知識產(chǎn)權(quán)保密協(xié)議版B版
- 2024年版權(quán)許可合同:音樂作品版權(quán)使用與授權(quán)
- 2025年咸寧貨運(yùn)從業(yè)資格證考試題目庫存答案
- 2024年度國際物流運(yùn)輸網(wǎng)絡(luò)保密及優(yōu)化升級合同3篇
- 單位人事管理制度集錦匯編
- 鋼鐵制品采購?fù)稑?biāo)技巧
- 2025民間借款合同格式范文
- 城市垃圾處理施工合同包工頭
- 2024塔式起重機(jī)購置、租賃及安全管理規(guī)范合同3篇
- 商標(biāo)出租合同范例
- 重大版小英小學(xué)六年級上期期末測試
- 會計(jì)助理個(gè)人年終工作總結(jié)
- 鋼鐵廠電工知識安全培訓(xùn)
- 2024年山東省菏澤市中考?xì)v史試卷
- 說明文方法和作用說明文語言準(zhǔn)確性中國石拱橋公開課獲獎?wù)n件省賽課一等獎?wù)n件
- 中南運(yùn)控課設(shè)-四輥可逆冷軋機(jī)的卷取機(jī)直流調(diào)速系統(tǒng)設(shè)計(jì)
- 江蘇省蘇州市2023-2024學(xué)年高二上學(xué)期1月期末物理試卷(解析版)
- 酒店建設(shè)投標(biāo)書
- 《基于javaweb的網(wǎng)上書店系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》
- 2024年315消費(fèi)者權(quán)益保護(hù)知識競賽題庫及答案(完整版)
評論
0/150
提交評論