版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年陜西省咸陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試
數(shù)據(jù)庫(kù)技術(shù)真題(含答案)
學(xué)校:班級(jí):姓名:考號(hào):
一、1.選擇題(10題)
1.在數(shù)據(jù)庫(kù)系統(tǒng)階段,數(shù)據(jù)
A.具有物理獨(dú)立性,沒(méi)有邏輯獨(dú)立性
B.具有邏輯獨(dú)立性,沒(méi)有物理獨(dú)立性
C.物理獨(dú)立性和邏輯獨(dú)立性均沒(méi)有
D.具有高度的物理獨(dú)立性和邏輯獨(dú)立性
2.下面不屬于數(shù)據(jù)模型的組成。
A.數(shù)據(jù)的組織方法B.數(shù)據(jù)操作集合C.數(shù)據(jù)完整性集合D.數(shù)據(jù)的約束
性
3.設(shè)順序表中結(jié)點(diǎn)個(gè)數(shù)為n,向第i個(gè)結(jié)點(diǎn)后面插入一個(gè)新結(jié)點(diǎn),設(shè)向
每個(gè)位置插入的概率相等,則在順序表中插入一個(gè)新結(jié)點(diǎn)平均需要移動(dòng)
的結(jié)點(diǎn)個(gè)數(shù)為()。
A.(n-l)/2B.n/2C.nD.(n+l)/2
4.用二維表數(shù)據(jù)來(lái)表示實(shí)體之間聯(lián)系的模型叫做
A.網(wǎng)狀模型B.層次模型C.關(guān)系模型D.實(shí)體-聯(lián)系模型
5.對(duì)線性表進(jìn)行二分法檢索,其前提條件是
A.線性表以順序方式存儲(chǔ),并且按關(guān)鍵碼值排好序
B.線性表以順序方式存儲(chǔ),并且按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈接方式存儲(chǔ),并且按關(guān)鍵碼值排好序
D.線性表以鏈接方式存儲(chǔ),并且按關(guān)鍵碼的檢索頻率排好序
6.在多道程序系統(tǒng)中,每組進(jìn)程中的每一個(gè)進(jìn)程均無(wú)限期地等待被該組
進(jìn)程中的另一個(gè)進(jìn)程所占有且永遠(yuǎn)不會(huì)釋放的資源,這種現(xiàn)象稱為
A.獨(dú)占B.等待C.睡眠D.死鎖
7.新一代數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工具應(yīng)具備的特征有
I.支持與多種數(shù)據(jù)庫(kù)連接
II,支持可視化圖形用戶界面
III,支持面向?qū)ο蟮某绦蛟O(shè)計(jì)
IV.支持開(kāi)放性
V.提供完善的數(shù)據(jù)對(duì)象
A.I,II和wB.I,II和mc.I,m和wD.全部
8.在高級(jí)語(yǔ)言中使用嵌入式SQL語(yǔ)句時(shí),所有SQL語(yǔ)句前必須添加前
綴()O
A.SYSSQLB.GOTOSQLC.EXECSQLD.DOSQL
9.數(shù)據(jù)獨(dú)立性是指()。
A.數(shù)據(jù)依賴于程序B.數(shù)據(jù)庫(kù)系統(tǒng)C.數(shù)據(jù)庫(kù)管理系統(tǒng)D.數(shù)據(jù)不依賴于
程序
10.數(shù)據(jù)庫(kù)是在計(jì)算機(jī)系統(tǒng)中按照一定的數(shù)據(jù)模型組織、存儲(chǔ)和應(yīng)用的()
A.文件的集合B.數(shù)據(jù)的集合C.命令的集合D.程序的集合
二、填空題(10題)
11.數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)提供數(shù)據(jù)定義語(yǔ)言(DDL)及它的翻譯程序,
DDL定義數(shù)據(jù)庫(kù)的模式、外模式和內(nèi)模式,并通過(guò)翻譯程序分別翻譯成
相應(yīng)的目標(biāo)模式,存放在【】。
12.m階B+樹(shù)的根結(jié)點(diǎn)至多有個(gè)子女。
13.操作系統(tǒng)之所以能夠找到磁盤(pán)上的文件,是因?yàn)橛写疟P(pán)上的文件名與
存儲(chǔ)位置的記錄。在DOS中,它叫做o
14.若一棵二叉樹(shù)中度為2的結(jié)點(diǎn)數(shù)為11,則該二叉樹(shù)的葉結(jié)點(diǎn)數(shù)為
15.被認(rèn)為是真正意義上的安全產(chǎn)品一般其安全級(jí)別應(yīng)達(dá)到o
16.是用戶接入Internet的入口點(diǎn),一方面它為用戶提供Internet
接入服務(wù),另一方面,它也為用戶提供各類信息服務(wù)。
17.用高級(jí)語(yǔ)言編寫(xiě)的程序稱之為[】。
^.PowerBuilder10.0為使用.NET開(kāi)發(fā)工具的用戶提供了一套_口_工
具。這項(xiàng)專利技術(shù)是為簡(jiǎn)化應(yīng)用開(kāi)發(fā)而設(shè)計(jì)的,可縮短開(kāi)發(fā)時(shí)間、減少
代碼等。
19.SMTP的通信過(guò)程可以分成三個(gè)階段,它們是連接階段、
郵件傳遞階段和連接關(guān)閉階段。
20.關(guān)系數(shù)據(jù)模型包括關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和3個(gè)重要
部分。
三、單選題(10題)
21.邏輯設(shè)計(jì)主要是把概念模式轉(zhuǎn)換成()
A.DBMS能處理的模式B.與DBMS無(wú)關(guān)的模式C.層次結(jié)構(gòu)模型D.子
模式
22.進(jìn)程具有并發(fā)性和()兩大重要屬性。
A.動(dòng)態(tài)性B.靜態(tài)性C.易用性D.封閉性
23.設(shè)散列函數(shù)為H(k)=kmod7,現(xiàn)欲將關(guān)鍵碼23,14,9,6,30,12,
18依次散列于地址。?6中,用線性探測(cè)法解決沖突,則在地址空間0?
6中,得到的散列表是
A.14,6,23,9,18,30,12
B.14,18,23,9,30,12,6
C.14,12,9,23,30,18,6
D.6,23,30,14,18,12,9
24.鏈棧與順序棧相比,有一個(gè)比較明顯的優(yōu)點(diǎn)是()
A.插入操作更加方便B.通常不會(huì)出現(xiàn)棧滿的情況C.不會(huì)出現(xiàn)??盏?/p>
情況D.刪除操作更加方便
25.某數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)使用SQLServer2008作為數(shù)據(jù)庫(kù)平臺(tái)。在系統(tǒng)運(yùn)
行期間,用戶反映某更新操作很慢,無(wú)法正常完成業(yè)務(wù)。系統(tǒng)工程師分
別在用戶的客戶機(jī)和數(shù)據(jù)庫(kù)服務(wù)器上使用數(shù)據(jù)庫(kù)管理系統(tǒng)自帶的客戶
端工具執(zhí)行此更新操作語(yǔ)句,發(fā)現(xiàn)該語(yǔ)句執(zhí)行后長(zhǎng)時(shí)間無(wú)響應(yīng)。經(jīng)檢查
數(shù)據(jù)庫(kù)服務(wù)器CPU使用率小于1%,磁盤(pán)10也非常小。造成此現(xiàn)象可
能的原因是()
A.客戶機(jī)到數(shù)據(jù)庫(kù)服務(wù)器的網(wǎng)絡(luò)故障
B.更新操作涉及到的表沒(méi)有建立主碼
C.更新的字段沒(méi)有建立有效的索引
D.更新操作涉及到的數(shù)據(jù)被鎖定
26.在數(shù)據(jù)庫(kù)技術(shù)中,為提高數(shù)據(jù)庫(kù)的邏輯獨(dú)立性和物理獨(dú)立性,數(shù)據(jù)
庫(kù)的結(jié)構(gòu)被劃分成用戶級(jí)、()和存儲(chǔ)級(jí)3個(gè)層次。
A.管理員級(jí)B.外部級(jí)C.概念級(jí)D.內(nèi)部級(jí)
27.在概念設(shè)計(jì)和邏輯設(shè)計(jì)之間起橋梁作用的是()
A.DFDB.E-R圖C.數(shù)據(jù)結(jié)構(gòu)圖D.功能模塊圖
28.整個(gè)軟件生存期中時(shí)間最長(zhǎng)蹬是()
A.需求分析B.設(shè)計(jì)C.程序編制D.運(yùn)行維護(hù)
29.數(shù)據(jù)庫(kù)的概念模型獨(dú)立于()。
A.具體的機(jī)器和DBMSB.實(shí)體聯(lián)系圖C.信息世界D.關(guān)系模型
30.某數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中,數(shù)據(jù)庫(kù)管理員發(fā)現(xiàn)某個(gè)查詢功能是用多表連接
操作實(shí)現(xiàn)的,此操作性能較差。在保證功能不變的前提下,若要提高該
查詢的執(zhí)行效率,下列方法中可行的是()
A.將此查詢語(yǔ)句放置在視圖中,使用視圖實(shí)現(xiàn)該查詢操作
B.修改實(shí)現(xiàn)此功能的查詢語(yǔ)句,將連接查詢改為嵌套查詢
C.將此功能涉及到的表進(jìn)行合并,然后對(duì)合并后的表進(jìn)行查詢
D.將此查詢語(yǔ)句放置在存儲(chǔ)過(guò)程中,通過(guò)調(diào)用存儲(chǔ)過(guò)程實(shí)現(xiàn)該查詢操作
四、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ù)各位上的數(shù)字均是奇數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)ent并把這些四
位數(shù)按從大到小的順序存入數(shù)組b中。最后main函數(shù)調(diào)用寫(xiě)函數(shù)
writeDat把結(jié)果ent以及數(shù)組b中符合條件的四位數(shù)輸出到Out.dat文
件中。
注意:部分源程序存在teste文件中.
程序中已定義數(shù)組:a(200].b(200].巴定義變量;ent
請(qǐng)勿改動(dòng)數(shù)據(jù)文件imdat中的任何數(shù)據(jù).主函數(shù)maiM)、速函readDatQ和寫(xiě)函數(shù)writeDat()的內(nèi)容.
1;finclude<stdio.h>
2!IdefineMAX200
3;inta[MAX),b(MAX|,ent-0;
4?voidwriteDat();
5?voidjsVal()
9;voidreadDat()〃從Arudat文件中博取200個(gè)四位數(shù)存入依姻a中
10!(
11jinti;
12jFILE*fp;
13?fp-fopen(*in.datw,*rH);
14;for(i-0;i<MAX;ii)
15jfscanf(fp/&a[i]>;
16?fclose(fp);
**I)
18!voidmain()
21|readDat();
221jsVal()?〃?川嫉值jsv.i,實(shí)現(xiàn)?求的功能
23?print/「滿足條件的數(shù)?Qd\n”,entI;
24?for(i?0;i<ent;i—)
25;printf("%ci”?b[i));
writeDat()〃把ilWM梨cm以及數(shù)也b中將什條外的四位效?也到om.dM更件中
int1;
wM
fp■fopen("out.dat#w*);
fprintf(fp/7d\n".ent);
for(i-0;i<ent;
fprintf(fp,Fd\n",b(i])/
fclose(fp);
32.函數(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
則處理后字符串hgfedcba
876594321
注意:部分源程序存在teste文件中.
請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.dat中的任何敷據(jù)、主函數(shù)main()、讀曲數(shù)rcadD叫)和寫(xiě)的數(shù)writcD&U)的內(nèi)容.
1Jlinclude<stdio.h>
2j*include<string.h>
3;charxx[201f80);
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
33.已知數(shù)據(jù)文件indat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat。
把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(shù)jsVal,其功能是:依次從數(shù)
組a中取出一個(gè)四位數(shù),如果該四位數(shù)大于該四位數(shù)以后的連續(xù)五個(gè)數(shù)
且該數(shù)是奇數(shù)(該四位數(shù)以后不滿五個(gè)數(shù),則不統(tǒng)計(jì)),則統(tǒng)計(jì)出滿足此
條件的個(gè)數(shù)ent并把這些四位數(shù)按從小到大的順序存入數(shù)組b中,最后
調(diào)用寫(xiě)函數(shù)writeDat把結(jié)果ent以及數(shù)組b中符合條件的四位數(shù)輸出到
Out.dat文件中。
注意:部分源程序存在test.C文件中。
程序中已定義數(shù)組:a[200],b[200],已定義變量:ent
請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main、讀函數(shù)readDat
和寫(xiě)函數(shù)writeDat的內(nèi)容。
linclude<stdio.h>
^defineMAX200
inta(MAX)<b[MAX],ent
4voidwriteDat;
5voidjsValO
8
/?readDat()從數(shù)界文件in.dii中讀取2W個(gè)四位數(shù)存人數(shù)組■中?/
voidreadDat()
FILEefp;
13fp-fopen(-in.daf,"r");
14for(i-0;i<MAX;if
15fscanf(fp,;
16fclose(fp);
17
18voidmain()
19
20,int1;
21!readDat();
22;jsValO;〃調(diào)用”Vah)曲故,實(shí)現(xiàn)KH要求的功能
23\printf("湎足條件的數(shù)=Sd\n-,ent);
24?for(i■0;i<ent;1+?)
25;printf(0%d”,b(i]);
261printf;
27'writeDat():
28;|
?函數(shù)writeD叫)和端聚cm以及數(shù)赳b中符合條件的四位數(shù)■出到oul4at文件中?/
29;voidwriteDat()
30
31FILEefp;
32inti;
33fp=?fopen("out.dat",Ww");
34fprintf(fp#ent);
35for(1=0;i<ent;
36fprintf(fp/"$d\n”,b[i1)
37fclose(fp);
38
34.已知數(shù)據(jù)文件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(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)用寫(xiě)函數(shù)writeDat把結(jié)果ent以及數(shù)組b中符合條件
的四位數(shù)輸出到文件Out.dat中。
注意J部分源程序存在testx文件中.
程序中已定義數(shù)ftba(200bb(200J.已定義變ent
請(qǐng)勿改動(dòng)數(shù)據(jù)文件iftdal中的任何數(shù)據(jù).FA?main()?讀函數(shù)neadDatO和寫(xiě)函數(shù)writeDatQ的內(nèi)容.
1!Iinclude<stdio.h>
2\?defineMAX200〃定義宏支fltMAX,N值等于zoo
3!inta[MAX),b【MAX],ent-0;〃定義全局整整TB數(shù)蛆alMAX).biHAX?和支■st,其初值等于o
4\voidwriteDat();
5;voidjsVal()
6i1
e\)
9\voidreadDat()〃從in?dat文件中灌取200個(gè)四位*t存入數(shù)ifl■中
10
11inti;
12FILEefp;
13fp-fopon("in.dat","r");
14for(1?0;i<MAX;1>*?)
ISfscant(fp,;
16fcloae(fp);
17
18;voidmain()
19j(
20jint1;
21readDatO;
22jsValO;〃四用”v?M)的也實(shí)現(xiàn)?目要求的功健
23printf(”滿足條件的敢Td\n",ent);
24for(i*0;i<ent;i++)
25printf(ntd-,b(i]);
26printf;
27writeDat()s
28)
29voidwriteDatO〃化計(jì)算姑果國(guó)以及敷蝸b中符合條件的四位敏■出到OULW文件中
30?{
31FILE?fp;
32inti;
w
33fp-fopen(out.dat",",");
34fprintf(fp,fd\n",ent);
35ford?0;1<ent;I**)
36fprintf(fpr"%d\n"rb(iD;
37fclose(fp);
38
35.函數(shù)ReadDat實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章,存入到無(wú)符
號(hào)字符串?dāng)?shù)組XX中,?請(qǐng)編制函數(shù)encryptChar,按給定的替代關(guān)系對(duì)數(shù)
組XX中的所有字符進(jìn)行替代,其替代值仍存入數(shù)組)xx的對(duì)應(yīng)的位置
上,最后調(diào)用函數(shù)wmeDat把結(jié)果xX輸出到文件out.dat中。
替代關(guān)系:f(p)=p*llmod256,mod為取余運(yùn)算,P是數(shù)組xx中某一個(gè)
字符的ASCII值,f(p)是計(jì)算后無(wú)符號(hào)的整型值(注意:中間變量定義成
整型變量),如果計(jì)算后f(p)值小于等于32或f(p)對(duì)應(yīng)的字符是小寫(xiě)字
母,則該字符不變,否則用f(P)替代所對(duì)應(yīng)的字符。
注意:部分源程序存放在test.c文件中,原始數(shù)據(jù)文件存放的格式是:
每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格,并也按此替代關(guān)系
進(jìn)行處理。
請(qǐng)勿改動(dòng)住數(shù)main、讀數(shù)據(jù)函數(shù)ReadDat和輸出數(shù)據(jù)函數(shù)WriteDat的
內(nèi)谷。
?include<stdio.h>
tinclude<strlng.h>
3?include<ctype.h>
unsignedcharxx[50][80];
intmaxline-0;/?文章的總行數(shù)?/
6intReadDat(void);
7!voidWriteDat(void);
8?voidencryptChar()
10!
11j)
12JvoidmainO
13?(
14iif(ReadDat0)
15\1
161printf(-數(shù)據(jù)文件in.daw不能打開(kāi)!\n\007"”
17return;
18
19encryptCharO;
WriteDat();
21
/?從文件ndu中謨?nèi)?英文文存人■無(wú)M號(hào)字折席敏煙?中?/
22intReadDat(void)
23
FILE*fp;
25int1-0;
26unsignedchar*p;
27if((fp*fopen(win.datw,^r"))?-NULL)
28return1;
29while(fgeta(xx[i],80<fp)!"NULL)
30
31p-strchr(xx[1]t*\n*);
32If(p)*p■0;
33
34J
35maxline-i;
36fclose(fp);
37return0;
38)
八把雄果XX?出到文件OULdtf中?/
39voidWriteDat(void)
40
41FILE*fp;
42inti;
M
43fp-fopen("out.datr"w");
44for(i*0;i<maxline;11??)
45(
w
46printfC%s\nrxx[1]);
47fprintf(fp,7s\n",xx[i));
48)
49fclose(fp);
50
36.函數(shù)readDat是從文件in.dat中讀取20行數(shù)據(jù)存放到字符串?dāng)?shù)組
xx中(每行字符串長(zhǎng)度均小于80)。請(qǐng)編制函數(shù)jsSort,其函數(shù)的功能是:
以行為單位對(duì)字符串變量的下標(biāo)為奇數(shù)的位置上的字符按其ASCII值
從小到大的順序進(jìn)行排序,下標(biāo)為偶數(shù)的位置上的字符仍按原來(lái)位置存
放,排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組)XX中,最后調(diào)用函數(shù)
WrriteDat把結(jié)果xx輸出到out.dat文件中。
例如:位置01234567
源字符串hgfedcba
則處理后字符串hafcdebR
注意:部分源程序存在皿c文件中.
請(qǐng)勿改動(dòng)數(shù)據(jù)文件Hdat中的任何數(shù)據(jù)、主函數(shù)main。、讀函數(shù)re?n>at()和耳函敗writeDat()的內(nèi)容.
■include<stdio.h>
yllnclude<string.h>
3voidreadDat();
4voidwriteDat();
5charxx(20J(80]:
6voidjsSort()
e
9
10jvoidmain()
11;(
12?readDat();
13jsSort();
14writeDat();
15i)
;“從文件iadtf中謨?nèi)?0打數(shù)據(jù)存放到字柯串?dāng)?shù)蛆xx中?/
16!voidreadDat()
17?(
18?FILE?in;
19!inti■0;
20;char*p;
21!in?fopen("in.dat"/°r");
22{while(i<20&&fgets(xx[1],80,in)!-NULL)
j
23j(
2Ap?strchr(xx[i]**\n*);
25if(p)*p?0;
26if
27i)
?
28;fdose(in);
29!)
?/?把懦果出到OUt<fal文件中?/
30;voidwriteDat()
31\(
32FILE*OUt;
33?int1;
w
34out-fopen("out.date;
35for(1?0;i<20;
36
37printfxx[1]);
wH
3Bfprintf(out,%s\n,xx[1]);
39
40fclose(out);
41
37.已知數(shù)據(jù)又件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(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)用寫(xiě)函數(shù)writeDat把結(jié)果ent以及數(shù)組b中符合條件的四位數(shù)輸出
到Out.dat文件中。
注麻:部分源程序存在teste文件中.
程序中巳定義數(shù)ALa|200].b(200],巳定義變量:ent
請(qǐng)勿改動(dòng)數(shù)據(jù)文件m.dat中的任何數(shù)據(jù)、主函數(shù)nwunO、讀的數(shù)rvadDatO和寫(xiě)曲數(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)陽(yáng)的敝加me寶現(xiàn)&U要求的功能
32printf("滿足條件的SUd\n”.nt);
33for(1-0;1<ent;1?*)
34printf<7d”,b[i!);
35printf(H\nM);
36writeDat();
37!)
38.函數(shù)ReadDat實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章存入到字符
串?dāng)?shù)組XX中,請(qǐng)編制函數(shù)StrCharJR,其函數(shù)的功能是t以該文章中的
行為單位把字符串中的所有字符的二進(jìn)制ASCII值右移4位,高位補(bǔ)
0,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的
值仍存入原字符串對(duì)應(yīng)的位置上,之后把已處理的結(jié)果仍按行重新存入
數(shù)組XX中。最后main函數(shù)調(diào)用函數(shù)WriteOat把結(jié)果XX輸出到文件
out.dat中。
例如:
"z”對(duì)應(yīng)的ASCII值為7AH,二進(jìn)制值為01111010,右移4位后為
00000111,加上原來(lái)"2"的ASCII值01111010得至【J10000001結(jié)果。
原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符
號(hào)和空格,并也按字符處理。
注意:部分源程序存放在test.C文件中。
請(qǐng)勿改動(dòng)主函數(shù)main、讀函數(shù)ReadDat和輸出函數(shù)WriteDat的內(nèi)容。
linclude<stdio.h>
iinclude<string.h>
3charxx(501(801;
4intmaxline=0;/?文豪的總行數(shù),/
5intReadDat(void);
6voidWriteDat(void);
7voidStrCharJR(void)
8
9
10
11voidmain()
12I
13if(ReadDat())
14
15printf數(shù)據(jù)文件in.dat不能打開(kāi)!\n\007*1
16return;
17I
18StrCharJRO;
19WriteDat{);
20
八從文件m&u中談取篇英文文章存入J1字符申斂但MI中?/
21intReadDat(void)
22
23FILE*fp;
24inti*0;
25charep;
www
26if((fp-fopen(in.dafrr))—NULL)
27return1;
whlle(fgets(xx(i]r80,fp);?NULL)
(
::p?strchr(xx[i)#
if(p)*p,0;
32?£?+;
33j)
34;maxline?i;
35!fclose(fp);
36ireturn0;
37i)
i/果xx?出到文依ouutai中?/
38JvoidWriteDat(void)
39j(
40-FILE*fp;
41?inti;
www
42;fp?fopen("out.dat#w);
43!for(i■0;i<maxline;i4+)
44;(
R
45jprintf(%s\n"rxx[i]);
46jfprintf(fp,w%s\nM,xxI1));
47j)
48{fclose(fp);
49;)
39.已知數(shù)據(jù)文件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat
把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(shù)jsVal,其功能是:把一個(gè)四
位數(shù)的個(gè)位數(shù)位置上的值減去千位數(shù)位置上的值再減去百位數(shù)位置上
的值最后減去十位數(shù)位置上的值,如果得出的值大于等于零且原四位數(shù)
是偶數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)ent,并把這些四位數(shù)按從小到大
的順序存入數(shù)組b中,最后調(diào)用寫(xiě)函數(shù)writeDat把結(jié)果ent以及數(shù)組b
中符合條件的四位數(shù)輸出到Out.dat文件中。
注意;部分源程序存在teste文件中.
程序中已定義數(shù)組:限00],b(200],已定義變量Ient
請(qǐng)勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)讀函數(shù)readDat()和寫(xiě)函?twriteDatO的內(nèi)容。
1jixncludG<stdio.h>
2\IdefineMAX200
3inta(MAX],b[MAXbent
4voidwriteDat();
5voidjsVal()
6
7
8
9voidreadDat()
10
11
12FILE*fp;
wR
13fp,fopen(in.dat/"
14ford-0;i<MAX;
15fscanf(fp,"Rd",J
16fclose(fp);
17
18voidmain0
19
int1;
readDat();
jsVal();
printf("滿足條件的數(shù)7d\rT.cn
for(i-0;i<ent;
printf(0%d",b(i]);
printf「\n”);
writeDat();
28J
29voidwriteDat()
30
31FILE#fp;
32inti;
33fp-fopen("out.datw,;
wn
34fprintf(fp,%d\necnt);
35for(1-0;i<ent;[?+)
36fprintf(fprbl:】);
37fclose(fp);
38
40.函數(shù)ReadDat實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章,存入到字符
串?dāng)?shù)組XX中;請(qǐng)編制函數(shù)eneryptChar,按給定的替代關(guān)系對(duì)數(shù)組XX
中的所有字符進(jìn)行替代,仍存入數(shù)組XX對(duì)應(yīng)的位置上,最后調(diào)用函數(shù)
WriteDat把結(jié)果xX輸出到文件out.dat中。
替代關(guān)系:f(p)=p*Hmod256,mod為取余運(yùn)算,P是數(shù)組XX中某一
個(gè)字符的ASCII值,f(p)是計(jì)算后的無(wú)符號(hào)整型值(注意:中間變量定義
成整型變量),如果計(jì)算后f(p)值小于等于32或f(p)對(duì)應(yīng)的字符是大寫(xiě)
字母,則該字符不變,否則用f(P)替代所對(duì)應(yīng)的字符。
注意:部分源程序存放在test.c文件中,原始數(shù)據(jù)文件存放的格式是:
每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格,并也按此替代關(guān)系
進(jìn)行處理。
請(qǐng)勿改動(dòng)主函數(shù)main、讀函數(shù)ReadDat和輸出函數(shù)WriteDat的內(nèi)容。
finclude<stdio.h>
Iinclude<string.h>
3?finclude<ctype.h>
4unsignedcharxx[50][80];
5;intmaxline-0;/?文章的總行數(shù)?/
6;intReadDat(void);
7?voidWriteDat(void);
8;voidencryptCharO
9J(
10;
unsignedintval;
11;
12;
13;voidmam()
14;(
15!if(ReadDatO)
16i(
:;iprintf("數(shù)據(jù)文件m.dat不能打開(kāi)!\n\007");
return;
19;
20jencryptChar();
21;WriteDat();
22jI
/?從文件tiLdm中諭取一篇英文文IL存人勃字符中數(shù)批1*中?/
23;intReadDat(void)
24!I
25JFILE*fp;
26\inti-0;
27!unsignedchar*p;
28\
if((fp-fopenLin.daL,)-NULL)
29-return1;
1
30?while(fgets(xx(i)#80,fp)?NULL)
31((
32j
p-strchr(xx[ih*\n*);
33iif(p),P-0;
34\if
35:
36;maxiine?i;
37;fclose(fp);
38!return0;
39;?
/?£結(jié)果MX■出到文件outdai中?/
40-voidWriteDat(void)
41
42FILE*fp;
43inti;
44fp-fopen(?,out.dat**,、");
45for(i?0;i<maxline;1??)
46(
H
47printf("ls\nrxx[i]);
48fprintf(fp,Fs\n”,xx[ij);
49)
50fclose(fp);
51
五、設(shè)計(jì)與應(yīng)用題(2題)
41.設(shè)有高校選課系統(tǒng),需要對(duì)學(xué)校的系信息、教師信息、課程信息、
學(xué)生信息、學(xué)生選課信息進(jìn)行管理。已知系(DEPT)信息包括系編號(hào)
(DeptNO)、系名稱(DeptName);教師(Teacher)信息包括教師
號(hào)(TNO)、教師名(Tname);課程(Course)信息包括課程號(hào)
(CNO)、課程名(CName)、課程學(xué)分(Credit);學(xué)生(Student)
信息包括學(xué)號(hào)(SNO)、學(xué)生姓名(Sname)、學(xué)生性別(Sex)。選
課系統(tǒng)的管理規(guī)則如下:I,一個(gè)系可聘用多名教師,一個(gè)教師只受
聘于一個(gè)系;II.一個(gè)系可有多名學(xué)生,一個(gè)學(xué)生只屬于一個(gè)系;
III.一名教師可講授多門課程,一門課程可由多名教師講授;IV.一
名學(xué)生可選修多門課程,一門課程可被多名學(xué)生選修;V.學(xué)生選修完
課程后,可獲得相應(yīng)課程的成績(jī)。針對(duì)以上描述,完成下列設(shè)計(jì)內(nèi)
容:(1)構(gòu)建選修課系統(tǒng)的ER圖。(要求圖中的實(shí)體集名用試卷中
給出的英文名,聯(lián)系所關(guān)聯(lián)的實(shí)體集名的首字母,字母問(wèn)用“一”或
連接,大小寫(xiě)不限)。(6分)(2)根據(jù)所構(gòu)建的ER圖,設(shè)計(jì)滿足
3NF的關(guān)系模式,并標(biāo)出每個(gè)關(guān)系模式的主碼和外碼。(要求關(guān)系模
式名同實(shí)體集名或聯(lián)系名,屬性名用試卷中給出的英文名,大小寫(xiě)不
限)(4分)
42.設(shè)某教學(xué)管理系統(tǒng),其查詢模塊需要提供如下功能:I.查詢系信
息,列出各系編號(hào)、系名和系辦公電話;II.查詢某系教師的信息,
列出教師號(hào)、教師名、工資和聘用日期;m.查詢某教師講授的課程
信息,列出課程號(hào)、課程名和學(xué)分;IV.查詢講授某門課程的教師信
息,列出教師名和職稱;V.查詢某門課程的先修課程信息,列出先修
課程號(hào)和先修課程名。系統(tǒng)有如下業(yè)務(wù)規(guī)則:I.一個(gè)系可聘用多名
教師,一名教師只能受聘于一個(gè)系;II.一名教師可講授多門課程,
一門課程可由多名教師講授;m.一門課程可以有多門先修課程,也
可以沒(méi)有先修課程。(1)請(qǐng)根據(jù)以上查詢功能與業(yè)務(wù)規(guī)則,用ER圖
描述該系統(tǒng)的概念模型。(5分)(2)將ER圖轉(zhuǎn)換為滿足3NF的關(guān)
系模式,并說(shuō)明每個(gè)關(guān)系模式的主碼和外碼。(5分)
六、單選題口分](2題)
43.在SQLServer2008中,建立索引視圖的目的是為了提高數(shù)據(jù)查詢的
效率。下列關(guān)于索引視圖的說(shuō)法,錯(cuò)誤的是()o
A.當(dāng)很少對(duì)基表數(shù)據(jù)進(jìn)行更改操作時(shí),適合建立索引視圖
B.索引視圖的數(shù)據(jù)被物理地保存在數(shù)據(jù)庫(kù)中,因此建立索引視圖會(huì)占用
更多的存儲(chǔ)空間
C.對(duì)于經(jīng)常執(zhí)行連接和聚合操作的查詢,不適合建立索引視圖
D.如果GroupBy列具有高基數(shù)度的數(shù)據(jù)聚合,則不適合建立索弓【視圖
44.下列關(guān)于SQLServer2008身份驗(yàn)證模式的說(shuō)法,錯(cuò)誤的是()。
A.在“Windows身份驗(yàn)證模式”下,不允許sa登錄到SQLServer服務(wù)器
B.在“Windows身份驗(yàn)證模式”下,所有Windows用戶都自動(dòng)具有登錄到
SQLServer服務(wù)器的權(quán)限
C.不管是哪種身份驗(yàn)證模式,Windows中的Administrator無(wú)需授權(quán)就可
登錄到SQLServer服務(wù)器
D.安裝好SQLServer之后,可以根據(jù)需要隨時(shí)更改身份驗(yàn)證模式
參考答案
LD解析:數(shù)據(jù)獨(dú)立性是指應(yīng)用程序與數(shù)據(jù)之間相互獨(dú)立、互不影響,
數(shù)據(jù)獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性。在數(shù)據(jù)庫(kù)系統(tǒng)階段,數(shù)據(jù)具
有較高的物理獨(dú)立性和邏輯獨(dú)立性。
2.D解析數(shù)據(jù)模型數(shù)據(jù)的組織方法+數(shù)據(jù)操作集合+數(shù)據(jù)完整性集合。
3.B解析:若順序表中結(jié)點(diǎn)個(gè)數(shù)為n,且往每個(gè)位置插入的概率相等,則
插入一個(gè)結(jié)點(diǎn)平均需要移動(dòng)的結(jié)點(diǎn)個(gè)數(shù)為n/2o
4.C解析:在數(shù)據(jù)庫(kù)系統(tǒng)中,有3種數(shù)據(jù)模型:網(wǎng)狀模型使用網(wǎng)狀結(jié)構(gòu)
來(lái)表示實(shí)體之間的聯(lián)系;層次模型使用層次(樹(shù)型)結(jié)構(gòu)來(lái)表示實(shí)體之間
的聯(lián)系;關(guān)系模型用二維表數(shù)據(jù)來(lái)表示實(shí)體之間聯(lián)系。
5.A在進(jìn)行二分法查找時(shí),線性表節(jié)點(diǎn)必須按關(guān)鍵碼值排序,而且線性
表是按順序存儲(chǔ)方式存儲(chǔ)的
6.D解析:在多道程序系統(tǒng)中,每組進(jìn)程中的每一個(gè)進(jìn)程均無(wú)限期地等
待被該組進(jìn)程中的另一個(gè)進(jìn)程所占有且永遠(yuǎn)不會(huì)釋放的資源,這種現(xiàn)象
稱為系統(tǒng)處于死鎖狀態(tài)。掌握如何解除死鎖,以及睡眠、等待、獨(dú)占的
概念。
7.D解析:新一代數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工具應(yīng)具備的特征有:支持與多種數(shù)
據(jù)庫(kù)連接,支持可視化圖形用戶界面,支持面向?qū)ο蟮某绦蛟O(shè)計(jì),支持
開(kāi)放性,提供完善的數(shù)據(jù)對(duì)象等。掌握數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工具的發(fā)展趨勢(shì)
和目前存在的問(wèn)題。
8.C解析:在嵌入式SQL,中,為了區(qū)分SQL語(yǔ)句與宿主語(yǔ)句,所有
SQL語(yǔ)句前必須加上前綴標(biāo)識(shí)“EXECSQL”,并以“END-EXEC”作為語(yǔ)
句結(jié)束標(biāo)志,結(jié)束標(biāo)志在不同的宿主語(yǔ)言中是不同的。
9.D解析:數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫(kù)領(lǐng)域的一個(gè)常用術(shù)語(yǔ),包括數(shù)據(jù)的物理
獨(dú)立性和數(shù)據(jù)庫(kù)邏輯獨(dú)立性。數(shù)據(jù)的物理獨(dú)立性是指用戶的應(yīng)用程序與
存儲(chǔ)在磁盤(pán)上的數(shù)據(jù)庫(kù)中的數(shù)據(jù)是相互獨(dú)立的。也就是說(shuō),數(shù)據(jù)在磁盤(pán)
上的數(shù)據(jù)庫(kù)中是怎樣存儲(chǔ)的,是由DBMS管理的,用戶程序不需要了
解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲(chǔ)改
變時(shí),應(yīng)用程序不用改變。數(shù)據(jù)的邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)
據(jù)庫(kù)的邏輯結(jié)構(gòu)是相互獨(dú)立的,也就是說(shuō),數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用
戶程序也可以不變。
10.B解析:根據(jù)數(shù)據(jù)庫(kù)的定義可知,數(shù)據(jù)庫(kù)是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)的、
有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、
描述和存儲(chǔ),具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性、和易擴(kuò)展性,并
可為各種用戶所共享。
11.系統(tǒng)目錄/數(shù)據(jù)字典/DD系統(tǒng)目錄/數(shù)據(jù)字典/DD
12.m
13.FAT【解析】操作系統(tǒng)之所以能夠找到磁盤(pán)上的文件,是因?yàn)橛写疟P(pán)
上的文件名與存儲(chǔ)位置的記錄。在DOS里,它稱為文件表(FAT);在
Windows里,稱為虛擬文件表(VFAT);在mM的操作系統(tǒng)OS/2里,稱
為高性能文件系統(tǒng)(HPFS)。
14.12
15.B1B1解析:根據(jù)計(jì)算機(jī)系統(tǒng)對(duì)各項(xiàng)指標(biāo)的技術(shù)情況,TCSEC將系
統(tǒng)劃分為4組7個(gè)安全級(jí)別,按系統(tǒng)可靠性或可信程度逐漸增高依次
為:D、ChC2、Bl、B2、B3、AloBl級(jí)別的產(chǎn)品才被認(rèn)為是真正意
義上的安全產(chǎn)品,達(dá)到此級(jí)別的產(chǎn)品其名稱中多冠以“安全”或“可信”字
樣,作為區(qū)別于普通產(chǎn)品的安全產(chǎn)品出售。
16.ISPISP解析Internet服務(wù)提供商(ISP)是用戶接入Internet的入口點(diǎn)。
一方面它為用戶提供Internet接入服務(wù);另一方面,它也為用戶提供種
類信息服務(wù)。
17.源程序源程序解析:在計(jì)算機(jī)語(yǔ)言中,把用高級(jí)語(yǔ)言和匯編語(yǔ)言寫(xiě)
的程序稱為源程序,對(duì)應(yīng)的機(jī)器語(yǔ)言程序稱為目標(biāo)程序。
18.DataWindow.NETPowerBuilder美國(guó)Sybase公司研制的一種新型、快
速開(kāi)發(fā)工具,是客戶機(jī)/服務(wù)器結(jié)構(gòu)下,基于Windows3.x、Windows95和
WindowsNT的一個(gè)集成化開(kāi)發(fā)工具。它包含一個(gè)直觀的圖形界面和可
擴(kuò)展的面向?qū)ο蟮木幊陶Z(yǔ)言PowerScript,提供與當(dāng)前流行的大型數(shù)據(jù)庫(kù)
的接口,并通過(guò)ODBC與單機(jī)數(shù)據(jù)庫(kù)相連。PowerBuilder的主要特色是
DataWindow(數(shù)據(jù)窗口),通過(guò)DataWindow可以方便地對(duì)數(shù)據(jù)庫(kù)進(jìn)行
各種操作,也可以處理各種報(bào)表,而無(wú)需編寫(xiě)SQL語(yǔ)句,可以直接與
SybasesSQLServersInformixsOracle等大型數(shù)據(jù)庫(kù)連接。
19健立【解析】SMTP的通信過(guò)程可以分成三個(gè)階段:連接建立階段、
郵件傳遞階段和連接關(guān)閉階段。
20.關(guān)系完整性約束關(guān)系完整性約束
21.A
22.A
23.B解析:將23,14,9,6,30,12,18依次按散列函數(shù)K(k)=kmod7計(jì)算,
并按線性探測(cè)法解決沖突,得到的散列結(jié)果是14,18,23,9,30,12,6O
24.B
25.D
26.C
對(duì)應(yīng)于外模式的數(shù)據(jù)庫(kù)稱為用戶級(jí)數(shù)據(jù)庫(kù)。它是用戶可以看到并準(zhǔn)許
使用的數(shù)據(jù)庫(kù)。模式也叫做概念模式,它是全局邏輯級(jí)的,是數(shù)據(jù)庫(kù)
的整體邏輯結(jié)構(gòu)。內(nèi)模式對(duì)應(yīng)于數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu),是為了提高模式
對(duì)存儲(chǔ)設(shè)備的獨(dú)立性而設(shè)立的。
27.B
28.D
29.A解析:概念模型用于信息世界的建模,是將現(xiàn)實(shí)世界的客觀對(duì)象抽
象為某種信息結(jié)構(gòu)。這種結(jié)構(gòu)不依賴于具體的計(jì)算機(jī)系統(tǒng),不是某一個(gè)
DBMS支持的數(shù)據(jù)模型。實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。
30.C
31.\n[審題關(guān)鍵句】各位都是奇數(shù),從大到小排序。
\n【解題思路】
\n本題類似第32套試題,通過(guò)審題可以發(fā)現(xiàn)主要是對(duì)四位數(shù)的篩選條
件有所不同,即判斷四位數(shù)的每一位數(shù)都為奇數(shù),參考答案的第8條語(yǔ)
句,只需將每位數(shù)的判斷條件改為奇數(shù)判斷即可。
\n【參考答案】
\n
\n
32.\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開(kāi)始,依次遞增直到其值等于
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開(kāi)始,依次遞過(guò)來(lái)增直到其值等于(p-1),在第三層
for循環(huán)中,循環(huán)變量k從J+1開(kāi)始,依次遞過(guò)來(lái)增直到其值等于P,比
較字符xx[i][j]ASCII碼值與xx[i][k]ASCII碼值的大小,如果字符xx[i]
啪的ASCII碼值小于xx皿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開(kāi)始直到字符串xx國(guó)的結(jié)尾的子字
符拷貝到字符串變量str中,再調(diào)用字符串連接函數(shù)stmcat把字符串xx[i]
的中間字符連接到字符串變量str的后面,再調(diào)用字符串連接函數(shù)stmcat
把字符串xx[i]的左半部分的子字符串連接到變量str的后面;如果余數(shù)
不等于1,則調(diào)用字符串拷貝函數(shù)strcpy,把從字符串xx[i]+P開(kāi)始直到
字符串xx[i]的結(jié)尾的子字符拷貝到字符串變量str中,再調(diào)用字符串連
接函數(shù)stmcat把字符串xx[i]的左半部分的子字符串連接到變量str的后
面,實(shí)現(xiàn)字符串xx[i]左右部分子字符串的交換。
\n④調(diào)用字符串拷貝函數(shù)strcpy,把字符串變量str的值拷貝到字符串
xx[i],實(shí)現(xiàn)把排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組XX中。
\n【參考答案】
\n
\n
33.\n【審題關(guān)鍵句】大于后連續(xù)5個(gè)數(shù),奇數(shù),從小到大排序。
\n【解題思路】本題類似第35套試題,通過(guò)審題可以發(fā)現(xiàn)主要有兩個(gè)不
同點(diǎn):①判斷數(shù)值為奇數(shù),可通過(guò)a[i]%2進(jìn)行判斷,參考答案的第4條
語(yǔ)句;②要求進(jìn)行比較的元素大于后連續(xù)5個(gè)數(shù),因此在設(shè)置判斷條件
時(shí),作為比較的兩個(gè)數(shù)之間應(yīng)該是大于關(guān)系,參考答案的第4條語(yǔ)句。
\n【參考答案】
\n
\n
34.【審題關(guān)鍵句】千位+十位組合與個(gè)位+百位組合,都是奇數(shù),兩數(shù)相
減結(jié)果大于等于0小于等于10,從大到小排序。
\n【解題思路】
\n①首先,本題要定義多個(gè)變量,包括兩侖循環(huán)變量循環(huán)isj;用來(lái)存
放四位數(shù)分解之后各位數(shù)的變量qw(千位)、bw(百位)、SW(十位)和gw(個(gè)
位);兩個(gè)用來(lái)存放重新組合數(shù)字的變量newVl和newV2。
\n②通過(guò)for循環(huán)依次對(duì)數(shù)組中的每個(gè)四位數(shù)進(jìn)行分解,每分解一個(gè)四
位數(shù),根據(jù)題目要求,對(duì)其各位數(shù)進(jìn)行重新組合,形成兩個(gè)新的十位數(shù),
組合條件分別是原四位數(shù)的千位和十位組成一個(gè)十位數(shù),個(gè)位和百位組
成一個(gè)十位數(shù),并將兩個(gè)新的十位數(shù)分別賦給變量newVI和newV2o
\n③數(shù)字重組完畢之后,再根據(jù)題目要求篩選滿足條件的四位數(shù),本題
需要考慮多個(gè)篩選條件:一是新組合的十位數(shù)中,其十位數(shù)不能為0,
即原四位數(shù)的千位和個(gè)位數(shù)字不能為0;二是兩個(gè)新組合的十位數(shù)之差
必須大于等于。小于等于10;三是兩個(gè)新組合的數(shù)字均為奇數(shù)。
\n④將同時(shí)滿足以上3個(gè)條件的四位數(shù)賦給數(shù)組b[cnt],同時(shí)數(shù)組下標(biāo)
值加1,當(dāng)for循環(huán)執(zhí)行完畢后,則將所有滿足條件的四位數(shù)全部存放
到數(shù)組b[cnt]qbo
\n⑤最后通過(guò)兩個(gè)for循環(huán),對(duì)數(shù)組b[cnt]中的元素按從大到小的順序排
序,排序過(guò)程中,可用newVl或newV2作為數(shù)據(jù)交換的中間變量。
\n【參考答案】
\n
\n
35.\n【審題關(guān)鍵句】字符替代f(p)=p*llmod256,小于等于3
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中物理-示波器的奧秘課件-粵教版選修3-1
- 人教版小學(xué)數(shù)學(xué)五年級(jí)上冊(cè)課件:6.1百分?jǐn)?shù)的意義和寫(xiě)法課件40p
- 數(shù)學(xué)同步優(yōu)化指導(dǎo)(人教版選修4-5)課件:第3講2課時(shí)一般形式的柯西不等式
- 冀教版八年級(jí)下冊(cè)《Lesson 10 Make Your Garden Grow!》同步練習(xí)卷
- 云南省昆明市(2024年-2025年小學(xué)四年級(jí)語(yǔ)文)人教版摸底考試(上學(xué)期)試卷及答案
- 四川省宜賓市(2024年-2025年小學(xué)四年級(jí)語(yǔ)文)人教版小升初真題(下學(xué)期)試卷及答案
- 護(hù)理不良事件魚(yú)骨圖分析
- 《 醫(yī)學(xué)人類學(xué)視角下的“綿羊療法”研究》范文
- 《 岱海湖泊湖濱帶濕地生態(tài)系統(tǒng)多功能性維持機(jī)理研究》范文
- 增材制造技術(shù)在農(nóng)業(yè)機(jī)械維修的優(yōu)勢(shì)考核試卷
- 2024-2030年中國(guó)綠色建筑行業(yè)發(fā)展分析及競(jìng)爭(zhēng)格局與發(fā)展趨勢(shì)預(yù)測(cè)研究報(bào)告
- TDT 1083-2023 國(guó)土調(diào)查數(shù)據(jù)庫(kù)更新數(shù)據(jù)規(guī)范
- 橋梁施工質(zhì)量控制培訓(xùn)考題試卷及答案(共5頁(yè))
- 修辭與句子仿寫(xiě)(課堂PPT)
- 八年級(jí)數(shù)學(xué)課程說(shuō)明書(shū)
- 季度酒店工程部設(shè)備維修保養(yǎng)計(jì)劃
- 淺析電力市場(chǎng)穩(wěn)定性與風(fēng)險(xiǎn)管理
- 微信公眾號(hào)代運(yùn)營(yíng)協(xié)議書(shū).doc
- 明州大橋主橋施工方案
- 神經(jīng)病學(xué)——癲癇
- 課本劇《田忌賽馬》劇本
評(píng)論
0/150
提交評(píng)論