版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年湖北省鄂州市全國(guó)計(jì)算機(jī)等級(jí)考試
數(shù)據(jù)庫(kù)技術(shù)真題(含答案)
學(xué)校:班級(jí):姓名:考號(hào):
一、1.選擇題(10題)
1.設(shè)有關(guān)系R=(A,B,C),與SQL語(yǔ)句selectdistinctA,CfromR
whereB=5等價(jià)的關(guān)系代數(shù)表達(dá)式是
I.7iA,C(oB=5(R))
II.oB=5(7iA,C(R))
A.都等價(jià)B.僅IC.僅IID.都不等價(jià)
2.臨界區(qū)是指并發(fā)進(jìn)程中訪問(wèn)共享變量的
A.管理信息段B.信息存儲(chǔ)段C.數(shù)據(jù)段D.程序段
3.實(shí)體完整性要求主屬性不能取空值,這一點(diǎn)通常是通過(guò)()。
A.定義外部鍵來(lái)保證B.定義主鍵來(lái)保證C.用戶定義的完整性來(lái)保證
D.關(guān)系系統(tǒng)自動(dòng)保證
4.計(jì)算機(jī)病毒是一類侵入計(jì)算機(jī)系統(tǒng)并具有潛伏性、傳播和破壞能力的
A.生物B.指令C.程序D.細(xì)菌
5.在操作系統(tǒng)的各個(gè)功能組成部分中,不需要硬件支持的是
A.進(jìn)程調(diào)度B.時(shí)鐘管C.地址映射D.中斷系統(tǒng)
6.下面所列條目中,哪一個(gè)是當(dāng)前應(yīng)用開發(fā)工具的發(fā)展趨勢(shì)?
I.采用三層Client/Server結(jié)構(gòu)
II.對(duì)Web應(yīng)用的支持
III.開發(fā)的、構(gòu)件式的分布式計(jì)算環(huán)境
A.I和IIB.II和niC.I和HID.都是
7.下面頁(yè)面淘汰算法中,會(huì)產(chǎn)生Belady(異常)現(xiàn)象的是____。
A.先進(jìn)先出頁(yè)面淘汰算法(FIFO)
B.最近最少使用頁(yè)面淘汰算法(LRU)
C.最不經(jīng)常使用頁(yè)面淘汰算法(LFU)
D.最佳頁(yè)面淘汰算法(OPT)
8.為了將一臺(tái)只允許一個(gè)用戶獨(dú)占的設(shè)備改造成為多個(gè)用戶共享的設(shè)
備,可采用()。
A.通道技術(shù)B.緩沖技術(shù)C.spooling技術(shù)D.虛擬存儲(chǔ)技術(shù)
9.SQL語(yǔ)言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,
語(yǔ)句INSEPT、DELETE,UPDATE實(shí)現(xiàn)哪類功能?
A.數(shù)據(jù)查詢B.數(shù)據(jù)操縱C.數(shù)據(jù)定義D.數(shù)據(jù)控制
10.在包括1000個(gè)元素的線性表中實(shí)現(xiàn)如下各運(yùn)算,哪一個(gè)所需要的
執(zhí)行時(shí)間最長(zhǎng)?()
A.線性表按順序方式存儲(chǔ),性表的第10個(gè)結(jié)點(diǎn)后面插入一個(gè)新結(jié)點(diǎn)
B.線性表按鏈接方式存儲(chǔ),性表的第10個(gè)結(jié)點(diǎn)后面插入一個(gè)新結(jié)點(diǎn)
C.線性表按順序方式存儲(chǔ),刪除線性表的第990個(gè)結(jié)點(diǎn)
D.線性表按鏈接方式存儲(chǔ),刪除指針P所指向的結(jié)點(diǎn)
二、填空題(10題)
11.一個(gè)數(shù)據(jù)庫(kù)有多個(gè)外模式,有【】?jī)?nèi)模式。
12.若一顆二叉樹中只有葉結(jié)點(diǎn)和左右子樹皆非空的結(jié)點(diǎn),設(shè)葉結(jié)點(diǎn)的
個(gè)數(shù)為n,則左右子樹皆非空的結(jié)點(diǎn)個(gè)數(shù)為o
13.數(shù)據(jù)庫(kù)主要維護(hù)者是()。
14.IPV6的128位地址按每16位劃分為一個(gè)位段,每個(gè)位段被轉(zhuǎn)換為一
個(gè)4位的十六進(jìn)制數(shù),并用冒號(hào)隔開,這種表示法稱為表
示法。
15.數(shù)據(jù)庫(kù)并發(fā)操作控制包括以【】方式打開數(shù)據(jù)庫(kù)和對(duì)數(shù)據(jù)庫(kù)或記錄
加鎖兩種方法。
16.設(shè)有關(guān)系R(A,B,C)和S(A,D,E,F),若將關(guān)系代數(shù)表達(dá)式:
nR.A,R,R.B,S.D,S.F(RsS)用SQL語(yǔ)言的查詢語(yǔ)句表示,則有:
SELECTR,A,B,D,FFROMR,SWHERE[]o
17.對(duì)并行數(shù)據(jù)庫(kù)的研究是研究如何對(duì)數(shù)據(jù)庫(kù)中的關(guān)系進(jìn)行劃分,
并把它們分布到多個(gè)處理器或多個(gè)磁盤。
18.計(jì)算機(jī)系統(tǒng)中發(fā)生某個(gè)事件時(shí),CPU暫停正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)
行相應(yīng)的程序,執(zhí)行完后再返回原先程序斷點(diǎn)繼續(xù)執(zhí)行的過(guò)程,稱為
19.多表中相關(guān)列稱為()碼。
20.RIP協(xié)議中表示距離的參數(shù)為
三、單選題(10題)
21.在關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)中,設(shè)計(jì)關(guān)系模式是()的任務(wù)。
A.需求分析階段B.概念設(shè)計(jì)階段C.邏輯設(shè)計(jì)階段D.物理設(shè)計(jì)階段
22.對(duì)數(shù)據(jù)庫(kù)模式設(shè)計(jì)進(jìn)行優(yōu)化有三項(xiàng)指標(biāo),下列指標(biāo)中不屬于這三項(xiàng)
指標(biāo)的是()
A.A.單位時(shí)間內(nèi)訪問(wèn)的邏輯記錄個(gè)數(shù)要少
B.單位時(shí)間內(nèi)數(shù)據(jù)的傳送量要少
C.數(shù)據(jù)庫(kù)模式中的關(guān)系(即數(shù)據(jù)庫(kù)文件)數(shù)目要少
D.系統(tǒng)占用的存儲(chǔ)空間要少
23.下列關(guān)于數(shù)據(jù)庫(kù)重構(gòu)的說(shuō)法中,錯(cuò)誤的是_________o
A.數(shù)據(jù)庫(kù)的重構(gòu)就是對(duì)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)作必要的小范圍改變
B.當(dāng)存儲(chǔ)空間的分配過(guò)于零散,導(dǎo)致存取效率下降,所以必須重構(gòu)數(shù)據(jù)
庫(kù)
C.數(shù)據(jù)庫(kù)重構(gòu)包括重新設(shè)計(jì)數(shù)據(jù)庫(kù)及其應(yīng)用程序
D.如果能夠重構(gòu)數(shù)據(jù)庫(kù),盡量不要重新設(shè)計(jì)數(shù)據(jù)庫(kù)及相應(yīng)的應(yīng)用程序
24.如果兩個(gè)實(shí)體之間的聯(lián)系是M:N,則在轉(zhuǎn)換成關(guān)系模型時(shí),()引入
第三個(gè)交叉關(guān)系。
A.需要B.不需要C.無(wú)所謂D.將兩個(gè)實(shí)體合并
25.在計(jì)算機(jī)硬件系統(tǒng)的基本組成中,完成解釋指令、執(zhí)行指令的功能
部件是
A.運(yùn)算器B.控制器C.存儲(chǔ)器D.輸入輸出設(shè)備
26.一個(gè)公司有若干名兼職人員,而每個(gè)兼職人員有可能在多家公司打
工,則公司與兼職人員之間具有
A.一對(duì)一聯(lián)系B.一對(duì)多聯(lián)系C.多對(duì)多聯(lián)系D.多對(duì)一聯(lián)系
27.在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中,一個(gè)關(guān)系相當(dāng)于()
A.一張二維表B.一條記錄C.一個(gè)關(guān)系數(shù)據(jù)庫(kù)D.一個(gè)關(guān)系代數(shù)運(yùn)算
28.四個(gè)元素al、a2、a3和a4依次通過(guò)一個(gè)棧,入棧過(guò)程中允許棧頂元
素出棧。假設(shè)某一時(shí)刻棧的狀態(tài)如下:則不可能的出棧序列
是()
A.這種體系結(jié)構(gòu)由客戶、服務(wù)器以及客戶與服務(wù)器之間的連接三部分組
成
B.在這種結(jié)構(gòu)中,客戶機(jī)和服務(wù)器協(xié)同完成一項(xiàng)任務(wù)
C.連接客戶和服務(wù)器最廣泛采用的接口是開放數(shù)據(jù)庫(kù)連接
D.客戶進(jìn)程與服務(wù)器進(jìn)程之間的通信層次與OSI參考模型有根本不同
29.在數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段,將局部E-R圖集成為全局的E-R圖時(shí)有可
能發(fā)生沖突,下面表述錯(cuò)誤的是()。
A.A.總共可能發(fā)生2類沖突
B.類型、取值范圍的沖突屬于屬性沖突
C.屬性沖突通過(guò)協(xié)商、討論等手段進(jìn)行解決
D.結(jié)構(gòu)沖突要用技術(shù)手段解決
30.用直接插入排序方法對(duì)下面四個(gè)序列進(jìn)行排序(由小到大),元素比較
次數(shù)最少的是()
A.94、32、40、90、80、46、21、69
B.32、40、21、46、69、94、90、80
C.21、32、46、40、80、69、90、94
D.90、69、80、46、21、32、94、40
四、C語(yǔ)言程序設(shè)計(jì)題(10題)
31.已知數(shù)據(jù)文件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(shù)jsVal,其功能是:從數(shù)組a
中依次取出一個(gè)四位數(shù),對(duì)每一個(gè)四位數(shù)作如下處理:把個(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ù):一個(gè)是奇數(shù),另一個(gè)為偶數(shù),并且至少有一個(gè)數(shù)能被17整
除,同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)存入
數(shù)組b中,并計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)ent,而后對(duì)數(shù)組b進(jìn)
行降序排序。最后main函數(shù)調(diào)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b
中符合條件的四位數(shù)輸出到out.dat文件中。
例如:一個(gè)四位數(shù)為4512,依題意組成的第一個(gè)新數(shù)為24,第二個(gè)新
數(shù)為51,其中51能被17整除,這兩個(gè)新數(shù)的十位數(shù)字不為零,則4512
這個(gè)四位數(shù)滿足題意所規(guī)定條件。
注感?部分源程序存在teste文件中.
程序中已定義數(shù)蛆:a[200].b(200],已定義企It:ent
請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.cUt中的任何數(shù)據(jù),主必?cái)?shù)num()>由數(shù)rcadDatO和寫函數(shù)writeDat()的內(nèi)容.
1!linclude<stdio.h>
2jtdefineMAX200
3;inta[MAX],b(MAX],ent,0;
4!voidwriteDat();
5tvoidjsVal()
6”
7j
8;}
9IvoidrcadDat()〃從1n?da匕文件中考取20。個(gè)網(wǎng)位攻〃入敏Ma中
10;(
11?int1;
12FILE*fp;
13fp-fopen("in.dat**,*rw
14for(i-0;i<MAX;
15fscanf([i)
16fclose?fp);
17
18voidmain()
19
20Inti;
21readDat();
22jsValO;〃?用嫉敗,SVLo,實(shí)現(xiàn)?目要求的功底
23printf「清I足條件的數(shù)7d\n”,ent);
24for(i*0;1<ent;
25printf(*%dIb(i]);
26printf;
27writeDat();
28
29voidwriteDat()〃把計(jì)算皓果entllAtttHb中符合條件的四位數(shù)七出到皿⑶u文件中
30
31
32int1;
33fp-fopen(wout.datR;
34fprintf(fp,"%d\n".ent);
35for(iw0;i<ent;“?)
ww
36fprintf(fpr%d\nrb[1]);
37fclose(fp>;
38
32.已知在又件in.dat中存有100個(gè)產(chǎn)品銷售記錄,每個(gè)產(chǎn)品銷售記錄
由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱me(字符型10位),單價(jià)dj(整
型),數(shù)量si(整型),金額je(長(zhǎng)整型)五部分組成。其中:金額=單價(jià)*數(shù)
量。函數(shù)ReadDat讀取這100個(gè)銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請(qǐng)編
制函數(shù)SortDat,其功能要求:按產(chǎn)品代碼從小到大進(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)賦值語(yǔ)句進(jìn)行解
題;產(chǎn)品代碼比較請(qǐng)用函數(shù)strcmp進(jìn)行解題。例如:sell[i]=temp;
注意:部分源程序存放在test.c文件中。
請(qǐng)勿改動(dòng)主函數(shù)main、讀函數(shù)ReadDat和輸出函數(shù)WriteDat的內(nèi)容。
Iinclude<stdio.h>
2*tinclude<string.h>
3?tinclude<stdlib.h>
4;?defineMAX100
5typedefstruct
7chardm(5);八產(chǎn)豆代碼?/
charme(11];/?產(chǎn)易名算*/
intdj;/?總價(jià)?/
10;intsi;/?收??/
11ilongje;/?金??/
12;PRO;
13!PROsell[MAX);
14?voidReadDat();
15;voidWriteDat();
16!voidSortDatO
17;(
18
19
20voidm41n()
menisct(nolU。,slzeof(sell));
ReadDat()f
SortDa匕0;
WriteDat():
/?試取B100個(gè)帆2記景先俘人削I種a》HI中?/
voidReadD&t()
28(
29FILE?fpj
30charatr[80]ch[11];
31intij
32fp-fopen(*in.datw>"r");
33for(1?0;i<100;1-M-)
34(
35fgeta(str,80.fp);
36memcpy(sell[£]?也n.str,4”
37memcpy(sell[1].mefstr?4.1
38
meincpy(chrstr+14,4);ch(4)?0;
39sei1(1]?dj,Atol(ch);
40memepy(chfstr*18,5):ch15]?0;
sell[1].si-atoi(ch);
42sell(11?je?(long)sell(i].dj
43
44fclose(fp);
45
八把姑星■出到文"gt&t中。
?dm,aellfil.me,sell(i|.dj,sellli].si
33.函數(shù)ReadDat實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章存入到無(wú)符
號(hào)字符串?dāng)?shù)組XX中;請(qǐng)編制函數(shù)ChA,其函數(shù)的功能是:以行為單位
把字符串中的第一個(gè)字符的ASCII值加第二個(gè)字符的ASCII值,得到
第一個(gè)新的值,存入數(shù)組單元xx用⑼中(其中:i是文章中的某行)。第
二個(gè)字符的ASCII值加第三個(gè)字符的ASCII值,得到第二個(gè)新的值,存
入數(shù)組單元xx[i][l]中。以此類推一直處理到最后第二個(gè)字符,最后一個(gè)
字符的ASCII值加原第一個(gè)字符的ASCII宜得到最后一個(gè)新的值,存
放在原字符串對(duì)應(yīng)的位置上,之后把已處理的字符串逆轉(zhuǎn)后仍按行重新
存入無(wú)符號(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文件中。
請(qǐng)勿改動(dòng)主函數(shù)main、讀數(shù)據(jù)函數(shù)ReadDat和輸出數(shù)據(jù)函數(shù)WriteDat
的內(nèi)容。
I?flnclucle<stdio.h>
21iinclude<string.h>
3;unsignedcharxx[50)(80];
4!intmaxiine■0;/?文章的總行數(shù)?/
5;intReadDat(void);
6'voidWriteDat(void);
7ivoidChA(void)
ei(
9:
10;}
11{voidmain()
13if(ReadDatO)
14(
15printf(。數(shù)據(jù)文件in.dat不籍打開!\n\007");
16return;
17}
18ChA();
19WriteDat();
20]
/?從文件m.dM中康我一編英文丈量存入》無(wú)符號(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
34.已知在文件in.dat中存有100個(gè)產(chǎn)品銷售記錄,每個(gè)產(chǎn)品銷售記錄
由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱me(字符型10位),單價(jià)dj(整
型),數(shù)量si(整型),金額je(長(zhǎng)整型)五部分組成。其中:金額=單價(jià)*數(shù)
量。函數(shù)ReadDat讀取這100個(gè)銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請(qǐng)編
制函數(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)賦值語(yǔ)句進(jìn)行解
題。
例如:sell[i]=temp;
注意:部分源程序存放在test.C文件中。
請(qǐng)勿改動(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
35.函數(shù)readDat是從文件in.dat中讀取20行數(shù)據(jù)存放到字符串?dāng)?shù)組
XX中(每行字符串長(zhǎng)度均小于80)。請(qǐng)編制函數(shù)isSort,其函數(shù)的功能
是:以行為單位對(duì)字符串按下面給定的條件進(jìn)行排序,排序后的結(jié)果仍
按行重新存入字符串?dāng)?shù)組XX中,最后調(diào)用函數(shù)writeDat把結(jié)果)XX輸
出到文件Out.dat中。
條件:字符串從中間一分為二,左邊部分按字符的ASCII值降序排序,
右邊部分不作處理,排序后,左邊部分與右邊部分按例子所示進(jìn)行交換。
如果原字符串長(zhǎng)度為奇數(shù),則最中間的字符不參加處理,字符仍放在原
位置上。
例如:位置012345678
源字符串a(chǎn)bcdhgfe
123498765
則處理后字符串hgfcdcba
876594321
注意,部分源程序存在teste文件中.
請(qǐng)勿改動(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);
4voidreadDat();
5voidwrlteDat();
6voidjsSort()
7
8
9
10voidmain()
11
12readDat();
13jsSort();
14wrlteDat("
15
/?從文件indii中注取20打數(shù)究存放到字符率依蛆xx中?/
16voidreadDat()
17!(
18?FILE-in;
19?inti-0;
20char*p;
nw
21in=fopen(in.dat,"D;
22while(i<20“fgets(xx{i]v80.in)NULL)
23
24p-strchr(xx(ij,?\n,);
25if(p)*p?0;
26
27]
28fclose(in);
29;)
\/,史州Rxx*出到文件outt中?/
30jvoidwriteDat()
31
32FILE*out;
33int1;
34out?fopen(*out.datw/**wM);
35for(i?0;1<20;if)
36(
37printfxx[i));
38fprintf(out,xxri!);
39)
40fclose(out);
41
36.已知數(shù)據(jù)文件in.dat中存有300個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請(qǐng)編制一函數(shù)jsValue,其功能是:求出于位數(shù)
上的數(shù)加個(gè)位數(shù)上的數(shù)等于百位數(shù)上的數(shù)加十位數(shù)上的數(shù)的個(gè)數(shù)ent,
再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的四位
數(shù)按從小到大的順序進(jìn)行排序。最后main函數(shù)調(diào)用寫函數(shù)writeDat把
數(shù)組b中的數(shù)輸出到文件out.dat中。
例如:6712,6^2=7+1.則該數(shù)滿足條件存入數(shù)蛆b中,且個(gè)數(shù)cnl=cm7.
8129,8*9!-1*2,則該數(shù)不滿足條件忽略.
注意,部分源程序存在testx文件中.
程序中已定義數(shù)姐:[300],b{300).已定義變量,art
請(qǐng)勿改動(dòng)數(shù)匏文件m.dat中的任何數(shù)據(jù)、主函數(shù)maiM)、讀語(yǔ)《(readDmO和寫論數(shù)wrilcD叫)的內(nèi)容.
1Iinclude<stdio.h>
2inta[300),b[300),cnt-0;
3voidwriteDat0;
4voidreadDat();
5voidjsValue0
7
9main()
10I
11int1;
12readDat();
13jsValue();
14writeDat();
tw
15printf(?cnt-%d\nrent);
16for(i*0;i<ent;
w
17printf?%d\nri,b[i]);
I、
voidreadDat()
20(
21FILE*fp;
22int1;
23fp-fopen;
24for(i■0;i<300;i++)
w
25fdcanf(fp^%dr",&&[1]);
26;fclose(fp);
271)
28ivoidwriteDat()
29>(
30?FILEefp;
31;int1;
32.fp-fopen(°out.dat**,**ww);
33;fprintf(fp,"d'n”,ent);
34jfor(i-0;i<ent;1??)
w
35!fprintf(fpr-%d\nrb(i));
36ifclose(fp);
37八
37.已知數(shù)據(jù)文件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(shù)jsVal,其功能是:若一個(gè)四
位數(shù)的千位數(shù)位置上的值小于等于百位數(shù)位置上的值,百位數(shù)位置上的
值小于等于十位數(shù)位置上的值,以及十位數(shù)位置上的值小于等于個(gè)位數(shù)
位置上的值,并且原四位數(shù)是偶數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)ent并
把這些四位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)
writeDat把結(jié)果ent以及數(shù)組b中符合條件的四位數(shù)輸出到文件Out.dat
中。
注意,部分簿程序存在lestc文件中?
程序中已定義數(shù)組:a[200].b(200].已定義安置ient
請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main。、讀的數(shù)reMDat。和寫的敷writeDatO的內(nèi)容?
1?*include<stdio.h>
2jfdefineMAX200〃定義宏變■MAX,N值桿20。
【】
3?inta[MAX],b(MAX),ent?0;〃定義務(wù)不數(shù)循a【MAX),bMAX和交■cm,并”■cn七的初值為口
4;voidwriteDat();
5'voidjsVal()
6-I1
8
9;voidreadDatO
10
FILEefp;
fp?fop>en(**in.dat","r");
for(1-0;1<MAX;H
ISfscanf(fp,"Qd",
16fclose(fp);
17
inti:
21readDat();
22jdValO;〃?用“丫曷1()水?dāng)?shù)實(shí)現(xiàn)及"要求的功能
23printf("涓足條件的數(shù)ent);
24for(1
25printf(**%d*,b(1
printf("Xn**);
27writeDat();
28
voidwriteDat()
30j(
31;FILE?fp;
32!int1;
33Jfp?fopen(*out.dat,"w">;
34;fprintf(fp,"Sd'n".ent);
35*for(1■0;i<ent;£??)
36!fprintf(fp^b[1))
37?fclose(fp);
38?)
38.已知數(shù)據(jù)文件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(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ù)組:4200].b(200b已定義攵*cm
請(qǐng)勿改動(dòng)數(shù)據(jù)文件Hdai中的任何數(shù)據(jù)、主論數(shù)mainO、波函數(shù)readDatQ和寫函數(shù)writeDttO的內(nèi)容.
finclude<stdio.h>
IdefineMAX200
3inta(MAX),b(MAX),ent-0;
4voidwriteDat();
5voidjsValO
6
7
6
9voidreadDat0〃從ln.dat文件中供取200個(gè)四位數(shù)存入數(shù)如a中
10
inti;
12FILE?fp;
13fp?fopen(Hin.datw,*rw)
14for(i-0:1<MAX;ii)
15fscanf(fp/7dL&a[1])
fclose(fp);
17
voidmain()
20inti;
21readDat();
22jsval();〃?川南也”v“八,實(shí)現(xiàn)要求的功能
23printf「滿足條件的數(shù)-、d\n”,ent);
24for(i?0;i<ent;if
25prlntf("%d"?b[i));
26printf(*\nw):
27writeDat();
28
29voidwriteDat0//ICilWM小cm以及數(shù)蛆b中構(gòu)介條祥的四位依■由到ourdu文件中
30
31FILE-fp;
32inti;
33fp-fopen("out.dat*,Hw*);
34fprintf(fp/ent);
35for(1-0;i<ent;
36fprintf(fp,Fd\rT.bfi]);
37fclose(fp);
38
39.函數(shù)ReadDat實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章存入到字符
串?dāng)?shù)組XX中,請(qǐng)編制函數(shù)ConvertCharA,其函數(shù)的功能是:以行為單
位把字符串中的所有小寫字母改寫成該字母的下一個(gè)字母,如果是字母
Z,則改寫成字母a,大寫字母和其他字符保持不變。把已處理的字符串
仍按行重新存入字符串?dāng)?shù)組XX中。最后main函數(shù)凋用函數(shù)WriteDat
把結(jié)果XX輸出到文件Out.dat中。
原文*Adb.Bcdza
abck.LLhj
結(jié)果:Acc.Bdcab
hrHIfTtk
原始數(shù)據(jù)文件存放的格式是:銀行的窗度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格.
注意:部分源程序存放在teste文件中.
請(qǐng)勿改動(dòng)主函數(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.已知數(shù)據(jù)文件in.dat中存有300個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請(qǐng)編制一數(shù)jsValue,其功能是:求出個(gè)位數(shù)上
的數(shù)減千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)大于零的個(gè)數(shù)ent,
再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的四位
數(shù)按從大到小的順序進(jìn)行排序。最后main函數(shù)調(diào)用寫函數(shù)writeDat把
數(shù)組b中的數(shù)輸出到文件Out.dato
例如;1239.9J-2-3M),則該數(shù)滿足條件存入數(shù)組b中,旦個(gè)數(shù)cnfcnt+l?
8129.9-8-l-2<0,則該數(shù)不滿足條件忽略,
注意:部分源程序存在teste文件中?
程序中已定義數(shù)組?4300],b(300].已定義變最:cm
請(qǐng)勿改動(dòng)數(shù)據(jù)文件山.&>1中的任何數(shù)據(jù)、主函數(shù)main()、讀話數(shù)readDaU)和寫函數(shù)writeDaM)的內(nèi)容.
tInclude<stdio.h>
2inta【3001,b[300hcnc-0;
3voidreadDat();
4voidwriteDat();
5voidjsValue()
6(
7
8]
9main()
10
inti;
12readDat();
13jsValueO;
14writeDat();
6
五、設(shè)計(jì)與應(yīng)用題(2題)
41.已知有如下關(guān)系模式:RI(a,b,c),R2(c,d,a),R3(e,
f),R4(a,e,g),其中標(biāo)下劃線的屬性是主碼。請(qǐng)將上述關(guān)系模
式用適當(dāng)?shù)腅R圖表示出來(lái),并用下劃線標(biāo)注出作為實(shí)體主碼的屬
性。(10分)
42.設(shè)在采用SQLServer2008數(shù)據(jù)庫(kù)的圖書館應(yīng)用系統(tǒng)中有三個(gè)基本表,
表結(jié)構(gòu)如下所示,請(qǐng)用SQL語(yǔ)句完成下列兩個(gè)查詢:BORROWER:借
書證號(hào)姓名系名班級(jí)12011106蔣輝文計(jì)算機(jī)系12-112011107王麗計(jì)算
機(jī)系12-112012113范園園信息系12-2LOANS:借書證號(hào)圖書館登記號(hào)
借書日期12011106T0010012012.01.0212012113
T0010262013.02.O6BOOKS:索書號(hào)書名作者圖書登記號(hào)出版社價(jià)格
TP3U.1數(shù)據(jù)庫(kù)系統(tǒng)李明T001001科學(xué)19.00TP311.2二級(jí)C語(yǔ)言王
珊T001026人民32.00(1)檢索至少借了5本書的同學(xué)的借書證號(hào)、
姓名、系名和借書數(shù)量。(5分)(2)檢索借書和王麗同學(xué)所借圖書中的
任意一本相同的學(xué)生姓名、系名、書名和借書日期。(5分)
六、單選題口分K2題)
43.下列關(guān)于索引的說(shuō)法中,錯(cuò)誤的是()。
A.索引是典型的空間換取時(shí)間的方法,因此在設(shè)計(jì)索引時(shí)要在空間和時(shí)
間兩者之間進(jìn)行權(quán)衡
B.建立聚集索弓但寸,數(shù)據(jù)庫(kù)管理系統(tǒng)會(huì)按照聚集索引鍵值對(duì)數(shù)據(jù)進(jìn)行排
序
C.聚集索引的鍵值不能重復(fù)
D.當(dāng)經(jīng)常進(jìn)行范圍查詢時(shí),在范圍列上建立索引可以提高該類查詢的效
率
44.效率低下的SQL語(yǔ)句往往是導(dǎo)致系統(tǒng)性能不佳的主要原因。設(shè)有如
下優(yōu)化系統(tǒng)性能的方法:I.利用存儲(chǔ)過(guò)程封裝頻繁使用的SQL語(yǔ)句
II.重新安排數(shù)據(jù)存儲(chǔ),整理回收碎塊ni.不要隨意使用游標(biāo)w.合理
使用相關(guān)子查詢V.調(diào)整表結(jié)構(gòu)定義以上屬于優(yōu)化SQL語(yǔ)句執(zhí)行效率
方法的是()o
A.I、m、WB.i、m、vc.n、w、vD.i、w、v
參考答案
LB解析:本題考查關(guān)系代數(shù)的基本運(yùn)算,參見《數(shù)據(jù)庫(kù)技術(shù)》一書422
節(jié)“關(guān)系代數(shù)”。對(duì)II來(lái)說(shuō),由于首先進(jìn)行投影運(yùn)算,所以結(jié)果關(guān)系中僅
剩下A和C兩個(gè)屬性,則無(wú)法對(duì)屬性B進(jìn)行進(jìn)一步的投影運(yùn)算,故II
不正確。本題正確答案為B。
2.D不論是硬件臨界資源,還是軟件臨界資源,多個(gè)進(jìn)程必須互斥地對(duì)
它進(jìn)行訪問(wèn)。每個(gè)進(jìn)程中訪問(wèn)臨界資源的那段程序稱為臨界區(qū)
3.B解析:現(xiàn)實(shí)世界中實(shí)體是可區(qū)分的,他們具有某種惟一的標(biāo)識(shí),主
碼不能取空值,因?yàn)橹鞔a取空值說(shuō)明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,而這于
前述思想矛盾的。
4.C解析:本題是對(duì)計(jì)算機(jī)病毒基本概念的考查。計(jì)算機(jī)病毒是一類特
殊的具有破壞性的計(jì)算機(jī)程序,它具有自我復(fù)制的功能,可通過(guò)非授權(quán)
人入侵并隱藏在可執(zhí)行程序或數(shù)據(jù)文件中。當(dāng)計(jì)算機(jī)運(yùn)行時(shí)原病毒把自
身精確拷貝或修改拷貝到其他程序體內(nèi),影響或破壞正常程序的執(zhí)行和
數(shù)據(jù)的正確性。因此計(jì)算機(jī)病毒是一種程序,本題正確答案為選項(xiàng)Co
5.A解析:進(jìn)程調(diào)度即處理機(jī)調(diào)度。在多道程序設(shè)計(jì)環(huán)境中,進(jìn)程數(shù)往
往多于處理機(jī)數(shù),這將導(dǎo)致多個(gè)進(jìn)程互相爭(zhēng)奪處理機(jī)。進(jìn)程調(diào)度的任務(wù)
是控制、協(xié)調(diào)進(jìn)程對(duì)CPU的競(jìng)爭(zhēng),按照一定的調(diào)度算法,使某一就緒
進(jìn)程獲得CPU的控制權(quán),轉(zhuǎn)換成運(yùn)行狀態(tài)。進(jìn)程調(diào)度也叫低級(jí)調(diào)度。
實(shí)際上進(jìn)程調(diào)度完成一臺(tái)物理的CPU轉(zhuǎn)變成多臺(tái)虛擬的(或邏輯
的)CPU的工作。
6.D解析:當(dāng)前應(yīng)用開發(fā)工具的發(fā)展趨勢(shì)有:采用三層Client/Server結(jié)
構(gòu);對(duì)Web應(yīng)用的支持;開發(fā)的,構(gòu)件式的分布式計(jì)算環(huán)境。
7.A
8.C解析:spooling系統(tǒng)主要有三部分:輸入井和輸出井,輸入緩沖區(qū)和
輸出緩沖區(qū),輸入進(jìn)程和輸出進(jìn)程。在該系統(tǒng)中,實(shí)際上并沒(méi)有為任何
進(jìn)程分配設(shè)備,只是在輸入井或輸出井中為進(jìn)程分配一個(gè)存儲(chǔ)區(qū)和建立
一張I/O請(qǐng)求表,各用戶對(duì)I/O的請(qǐng)求形成一個(gè)請(qǐng)求隊(duì)列,實(shí)現(xiàn)同一時(shí)
刻只能一個(gè)用戶獨(dú)占的設(shè)備分時(shí)共享,在用戶進(jìn)程看來(lái)都認(rèn)為自己獨(dú)占
了一臺(tái)設(shè)備,從而實(shí)現(xiàn)將一臺(tái)獨(dú)占設(shè)備改造成為共享設(shè)備。
9.B解析:SQL語(yǔ)言的數(shù)據(jù)查詢用SELECT;數(shù)據(jù)定義用CREATE.
DROP、ALTER;數(shù)據(jù)操縱用INSERT,UPDATE,DELETE;數(shù)據(jù)控制
用GRANT、REVOKEo
10.A
n.一個(gè)一個(gè)解析:外模式也稱子模式或用戶模式,它是數(shù)據(jù)庫(kù)用戶(包
括應(yīng)用程序員和最終用戶)能夠看見的和使用的局部的邏輯結(jié)構(gòu)和特征
的描述,是數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表
示。一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式。內(nèi)模式也稱物理模式或存儲(chǔ)模式,
一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式。它是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是
數(shù)據(jù)庫(kù)內(nèi)部的表示方法。
12.n-l
13.數(shù)據(jù)庫(kù)管理員
14.冒號(hào)十六進(jìn)制【解析】IPv6的128位地址按每16位劃分為一個(gè)位
段,每個(gè)位段被轉(zhuǎn)換為一個(gè)4位的十六進(jìn)制數(shù),并用冒號(hào)隔開,這種表
示法稱為冒號(hào)十六進(jìn)制表示法。
15.獨(dú)立獨(dú)立
16.R.A=S.AR.A=S.A解析:在SQL語(yǔ)言中對(duì)關(guān)系表進(jìn)行查詢時(shí)需要加
上條件語(yǔ)句where表1.索弓|=表2.索引,這樣查詢出的記錄才是一一對(duì)
應(yīng)的。
17.物理存儲(chǔ)結(jié)構(gòu)物理存儲(chǔ)結(jié)構(gòu)解析:并行數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)的研究
是研究如何對(duì)數(shù)據(jù)庫(kù)中的關(guān)系進(jìn)行劃分。并把它們分布到多個(gè)處理器或
多個(gè)磁盤,以使查詢處理時(shí)間最小。
18.中斷中斷解析:中斷是指當(dāng)計(jì)算機(jī)系統(tǒng)中發(fā)生某個(gè)事件時(shí),CPU暫
停正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行處理該事件的程序,執(zhí)行完后再返回原先
程序斷點(diǎn)繼續(xù)執(zhí)行的過(guò)程。弓I起中斷的事件稱為中斷源。
19.聚集
20.跳數(shù)【解析】向量一距離(V-D)路由選擇算法,也稱為Bellman-Ford
算法。其基本思想是路由器周期性地向其相鄰路由器廣播自己知道的路
由信息,用于通知相鄰路由器自己可以到達(dá)的網(wǎng)絡(luò)以及到達(dá)該網(wǎng)絡(luò)的距
離(通常用“跳數(shù)”表示),相鄰路由器可以根據(jù)收到的路由器修改和刷新
自己的路由表。
21.C解析:把概念設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用的具體
機(jī)器上的DBMS所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)(包括數(shù)據(jù)庫(kù)模式
和外模式)。這些模式在功能上、完整性和一致性約束及數(shù)據(jù)庫(kù)的可擴(kuò)充
性等方面均應(yīng)滿足用戶的各種要求。
22.C
23.C
24.A
25.B解析:馮?諾依曼提出的存儲(chǔ)程序工作原理決定了計(jì)算機(jī)硬件系統(tǒng)
的5個(gè)基本組成部分,即運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)
備。運(yùn)算器是計(jì)算機(jī)中執(zhí)行各種算術(shù)運(yùn)算和邏輯運(yùn)算的部件,也叫算術(shù)
邏輯單元。存儲(chǔ)器是計(jì)算機(jī)中具有記憶能力的部件,它能根據(jù)地址接收
和保存指令或數(shù)據(jù),并能根據(jù)命令提供有關(guān)地址的指令或數(shù)據(jù)。
控制器的主要作用是使整個(gè)計(jì)算機(jī)能夠自動(dòng)地執(zhí)行程序,并控制計(jì)算機(jī)
各功能部件協(xié)調(diào)一致地動(dòng)作。執(zhí)行程序時(shí),控制器先從主存中按順序取
出程序中的一條指令,解釋該指令并形成數(shù)據(jù)地址,取出所需的數(shù)據(jù),
然后向其他功能部件發(fā)出執(zhí)行該指令所需的各種時(shí)序控制信號(hào)。然后再
從主存中取出下一條指令執(zhí)行,如此循環(huán),直到程序完成。計(jì)算機(jī)自動(dòng)
工作的過(guò)程就是逐條執(zhí)行程序中指令的過(guò)程。
輸入設(shè)備的主要功能是將數(shù)據(jù)、程序等用戶信息變換為計(jì)算機(jī)能識(shí)別和
處理的信息形式。
輸出設(shè)備的主要功能是將計(jì)算機(jī)中的二進(jìn)制信息變換為計(jì)算機(jī)用戶所
需要并能識(shí)別的信息形式。
26.C解析:本題主要考查了實(shí)體之間多對(duì)多的聯(lián)系。如果對(duì)于實(shí)體集
A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之聯(lián)系,反之亦然,稱為
一對(duì)一聯(lián)系;如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體
與之聯(lián)系;對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多有一個(gè)實(shí)體與
之聯(lián)系,稱實(shí)體集A與B的聯(lián)系為一對(duì)多聯(lián)系;如果對(duì)于實(shí)體集A中的
每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體與之聯(lián)系;對(duì)于實(shí)體集B中的每一個(gè)
實(shí)體,實(shí)體集A中有m個(gè)實(shí)體與之聯(lián)系,稱為多對(duì)多聯(lián)系。所以C)正確。
27.A
28.C
29.A
將局部E-R圖集成為全局的E-R圖時(shí)有可能發(fā)生3類沖突,即屬性沖
突,結(jié)構(gòu)沖突,命名沖突。
30.C解析:直接插入排序的基本算法是:當(dāng)插入第i(i>=l)個(gè)對(duì)象時(shí),
前面的v[0],V[l]……已經(jīng)排好序,這時(shí),用V用的關(guān)鍵碼與V[i-
2],V[i-2],……的關(guān)鍵碼順序進(jìn)行比較,找到插入位置即將v[i]插入,
原來(lái)位置上的對(duì)象則向后移。由此可知,直接插入排序法的關(guān)鍵碼比較
次數(shù)與對(duì)象的初始排列有關(guān),準(zhǔn)確的說(shuō),就是與i可以取的值有關(guān)。對(duì)
于本題來(lái)說(shuō),A中i可以取1,B中i可以取2,C中i可以取3,D中i
可以取1。所以C的關(guān)鍵碼比較次數(shù)最少。
31.\n【審題關(guān)鍵句】個(gè)位+于位與百位+十位,奇數(shù),偶數(shù),整除,從大
到小排序。
\n【解題思路】
\n本題類似第24套試題,通過(guò)審題可以發(fā)現(xiàn)主要是對(duì)四位數(shù)的篩選條
件有所不同,體現(xiàn)在兩個(gè)方面:①分解后重新組合成十位數(shù)的方式不同,
參考答案的第8、9條語(yǔ)句重新指定兩位數(shù)的組合方式;②新組合的兩
位數(shù)的奇偶性判斷及整除判斷,參考答案的第10條語(yǔ)句。
\n本題第10條語(yǔ)句中各條件表達(dá)式之間的關(guān)系有些復(fù)雜,大致思路是:
①首先判斷新組合的兩位數(shù)的十位不為0,即表達(dá)式“gwbw";②再判斷
新組合的第一個(gè)兩位數(shù)為偶數(shù),第二個(gè)兩位數(shù)為奇數(shù),且兩個(gè)兩位數(shù)中
至少有一個(gè)能被17整除的情況,兩個(gè)整除關(guān)系表達(dá)式式要用或運(yùn)算符
(11)連接,且用括號(hào)括起來(lái)先計(jì)算或運(yùn)算,再與奇偶性判斷表達(dá)式進(jìn)行
與運(yùn)算;③最后,在判斷新組合的第一個(gè)兩位數(shù)為奇數(shù),第二個(gè)兩位數(shù)
為偶數(shù),且兩個(gè)兩位數(shù)中至少有一個(gè)能被17整除的情況(各表達(dá)式之間
的連接關(guān)系同第2步)。完成以上3部分的表達(dá)式設(shè)計(jì)后,再通過(guò)與運(yùn)
算將3部分表達(dá)式連接起來(lái)。
\n【參考答案】
\n
\n
32.\n[審題關(guān)鍵句】計(jì)算金額,按產(chǎn)品代碼從小到大進(jìn)行排列,相同的
則按金額從小到大排列,結(jié)果存入結(jié)構(gòu)數(shù)組。
\n【解題思路】
\n本題類似第57套試題,通過(guò)審題可以發(fā)現(xiàn)主要是排序條件的設(shè)置要
求有所不同,參考答案的第8行進(jìn)行修改即可。
\n【參考答案】
\n
\n
33.\n[審題關(guān)鍵句】以行為單位,新字符串中每個(gè)字符的ASCII碼值等
于該位置上的原字符ASCII碼值加其后面一個(gè)字符的ASCII碼值,逆
序排序。
\n【解題思路】
\n①定義整型循環(huán)變量i、j和字符局部變量yuan。
\n②在第一層for循環(huán)中,循環(huán)變量i從0開始,依次遞增直到其值大于
或等于maxline,在循環(huán)體中,首先把第i行的第一個(gè)字符)XX[i][0]賦給
變量yuan,在第二層for循環(huán)中,循環(huán)變量j從0開始,依次遞增直到
其值等于該行字符串的長(zhǎng)度減1,在循環(huán)體中,將字符xx[i][j]的ASCH
碼值與字符)XX[i][j+l]的ASCII碼值相加的和保存到字符)中。當(dāng)
退出第二層for循環(huán)后,把第i行的最后一個(gè)字符與第一個(gè)字符變量yuan
的值相加,最后通過(guò)strreV函數(shù)對(duì)i行字符串逆序排序。
\n【參考答案】
\n
\n
34.\n[審題關(guān)鍵句】計(jì)算金額,按金額從小到大進(jìn)行排列,相同的則按
產(chǎn)品代碼從小到大排列,結(jié)果存入結(jié)構(gòu)數(shù)組。
\n【解題思路】
\n本題類似第57套試題,通過(guò)審題可以發(fā)現(xiàn)主要是排序條件的設(shè)置要
求有所不同,參考答案的第8行進(jìn)行修改即可。
\n【參考答案】
\n
\n
35.\n[審題關(guān)鍵句】以行為單位從字符串左邊部分降序排序,排序后左
邊部分與右邊部分進(jìn)行交換。如果原字符串長(zhǎng)度為奇數(shù),則最中間的字
符不參加處理。
\n【解題思路】
\n①定義循環(huán)變量i、j、k和整型變量len、po
\n②第一層for循環(huán)中,循環(huán)變量i從0開始,依次遞增直到其值等于
20,實(shí)現(xiàn)對(duì)20行數(shù)據(jù)的逐行處理。在循環(huán)體中,對(duì)于i行首先調(diào)用函數(shù)
strlen(xx[i])求得第i行字符串的長(zhǎng)度,并把其值賦給變量len,再用len
除以2,得到第i行字符串長(zhǎng)度的一半,賦給變量P。在第二層for循環(huán)
中,循環(huán)變量J從0開始,依次遞過(guò)來(lái)增直到其值等于(p-1),在第三層
for循環(huán)中,循環(huán)變量k從J+1開始,依次遞過(guò)來(lái)增直到其值等于P,比
較字符xx[i][j]ASCII碼值與xx[i][k]ASCII碼值的大小,如果字符xx[i]
啪的ASCII碼值小于xx[i][k]的ASCII碼值,則兩者進(jìn)行互換實(shí)現(xiàn)對(duì)第
i行字符串左半部分的字符串按降序排列。
\n③用變量len的值對(duì)2求余數(shù),如果余數(shù)為1,則調(diào)用函數(shù)字符串拷貝
函數(shù)strcpy,把從字符串xx[i]+P+l開始直到字符串xx[i]的結(jié)尾的子字
符拷貝到字符串變量str中,再調(diào)用字符串連接函數(shù)stmca
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度深基坑支護(hù)施工合同模板4篇
- 2025年度文化旅游項(xiàng)目投資合作合同范本4篇
- 2025年度門頭裝修工程節(jié)能評(píng)估與驗(yàn)收合同范本4篇
- 2025年度網(wǎng)絡(luò)安全個(gè)人臨時(shí)雇傭合同樣本3篇
- 二零二五年度智能機(jī)器人研發(fā)制造合同模板3篇
- 2025版寵物醫(yī)院連鎖店品牌授權(quán)及門店運(yùn)營(yíng)合同4篇
- 2025年度木材加工企業(yè)訂單合作合同范本二零二五3篇
- 2025年度夏令營(yíng)后勤保障與服務(wù)支持合同3篇
- 2025年度門窗行業(yè)供應(yīng)鏈優(yōu)化與整合合同4篇
- 二零二五版農(nóng)業(yè)機(jī)械租賃市場(chǎng)運(yùn)營(yíng)管理合同2篇
- 《新生兒預(yù)防接種》課件
- 大學(xué)生職業(yè)規(guī)劃大賽生涯發(fā)展報(bào)告
- 春節(jié)值班安全教育培訓(xùn)
- 鋰離子電池生產(chǎn)工藝流程圖
- 帶狀皰疹護(hù)理查房
- 平衡計(jì)分卡-化戰(zhàn)略為行動(dòng)
- 幼兒園小班下學(xué)期期末家長(zhǎng)會(huì)PPT模板
- 礦山安全培訓(xùn)課件-地下礦山開采安全技術(shù)
- 維克多高中英語(yǔ)3500詞匯
- 幼兒教師干預(yù)幼兒同伴沖突的行為研究 論文
- 湖南省省級(jí)溫室氣體排放清單土地利用變化和林業(yè)部分
評(píng)論
0/150
提交評(píng)論