2021年安徽省銅陵市全國計算機等級考試數據庫技術預測試題(含答案)_第1頁
2021年安徽省銅陵市全國計算機等級考試數據庫技術預測試題(含答案)_第2頁
2021年安徽省銅陵市全國計算機等級考試數據庫技術預測試題(含答案)_第3頁
2021年安徽省銅陵市全國計算機等級考試數據庫技術預測試題(含答案)_第4頁
2021年安徽省銅陵市全國計算機等級考試數據庫技術預測試題(含答案)_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2021年安徽省銅陵市全國計算機等級考試數據庫技術預測試題(含答案)學校:________班級:________姓名:________考號:________

一、1.選擇題(10題)1.在邏輯結構設計中,關系雖已達到規范化,但因某些屬性過多時,可將它分為兩個或多個關系模式,這叫做

A.模式評價B.優化模式C.合并D.分解

2.下述哪一條不是局部E-R圖集成為全局E-R圖時可能存在的沖突?

A.模型沖突B.結構沖突C.屬性沖突D.命名沖突

3.為了保證CPU執行程序指令時能正確訪問存儲單元,需要將用戶程序中的邏輯地址轉換為運行時可由機器直接尋址的物理地址,這一過程稱為______。

A.地址分配B.地址計算C.地址映射D.地址查詢

4.下列關于E-R模型向關系數據模型轉換的敘述中,正確的是

A.實體的元組就是關系的屬性B.實體的屬性就是關系的屬性C.實體的候選碼就是關系的碼D.實體的主屬性就是關系的碼

5.惟―標識實體的屬性集稱為

A.域B.碼C.聯系D.主屬性

6.PowerDesigner中的WarehouseArchitect模塊的主要功能是()。

A.用于物理(邏輯)數據庫的設計和應用對象的生成

B.通過模型的共享支持高級團隊工作的能力

C.用于數據倉庫和數據集市的建模和實現

D.提供對PowerDesigner所有模型信息的只讀訪問

7.______是一個用以更好地支持企業或組織的決策分析處理的、面向主題的、集成的,相對穩定的、體現歷史變化的數據集合。

A.數據庫系統B.數據庫管理系統C.數據倉庫D.數據集成

8.下列哪個工具是Oracle數據庫管理系統提供的CASE工具?()

A.Developer/2000

B.PowerBuilder/2000

C.Discoverer/2000

D.Designer/2000

9.下面軟件結構圖表示的是瀏覽器/服務器模式的哪種結構

A.以數據庫服務器為中心的軟件結構

B.以Web服務器為中心的軟件結構

C.以應用服務器為中心的軟件結構--基本腳本的方式

D.以應用服務器為中心的軟件結構--基本構件的方式

10.下面關于數據庫系統基于日志的恢復的敘述中,______是正確的。

A.利用更新日志記錄中的改前值可以進行UNDO,利用更新日志記錄中的改前值可以進行REDO

B.利用更新日志記錄中的改前值可以進行UNDO,利用更新日志記錄中的改后值可以進行REDO

C.利用更新日志記錄中的改后值可以進行UNDO,利用更新日志記錄中的改前值可以進行REDO

D.利用更新日志記錄中的改后值可以進行UNDO,利用更新日志記錄中的改后值可以進行REDO

二、填空題(10題)11.防火墻是指設置在不同網絡或___________之間的一系列部件的組合。

12.若D1={al,a2,a3},D2={b1,b2,b3},則D1?D2集合中共有元組__________個。

13.設K為R中的屬性或屬性組合,若K→U,則K為R的【】。

14.在對一組記錄(54,38,96,23,15,72,60,45,83)進行希爾排序時,假定取di+1=[di/2],i≤t≤t+1,其中t=[log2n],d0=n,d1=1,n為待排序記錄的個數,則第二趟排序結束后,前四條記錄為【】。

15.DBMS對數據庫進行封鎖時采用的兩種基本鎖類型是排它鎖(X)和______。

16.在數據庫設計的四個階段中,每個階段都有自己的設計內容。“為哪些表、在哪些字段上、建什么樣的索引。”這一設計內容應該屬于______設計階段。

17.RIP協議中表示距離的參數為___________。

18.在SQL語言中,為了修改基本表的結構,可以使用的語句是______。

19.計算機網絡拓撲主要是指通信子網的拓撲構型,它對網絡性能、系統可靠性與___________都有重大影響。

20.進行DES加密時,需要進行___________輪的相同函數處理。

三、單選題(10題)21.病毒的主要特性表現在如下哪幾個方面?()

Ⅰ.傳染性

Ⅱ.靈活性

Ⅲ.破壞性

Ⅳ.隱蔽性

Ⅴ.常駐內存

A.Ⅰ、Ⅱ和ⅢB.Ⅰ、Ⅱ和ⅣC.Ⅱ、Ⅲ和ⅣD.全都是

22.下列角色中,具有數據庫中全部用戶表數據的插入、刪除、修改權限且只具有這些權限的角色是__________。

A.db_ownerB.db_datareaderC.db_datawriterD.public

23.______文件可存放在磁盤、磁帶等多種存儲介質上,通常只能按記錄的順序存取,對這種文件進行更新,原則上需對文件做整體拷貝。

A.索引文件B.索引順序文件C.順序文件D.直接文件

24.以下關于OSI的描述中,錯誤的是()。A.OSI詳細說了各層提供的服務,但各層提供的服務與這些服務如何實現無關

B.OSI不是一個標準,只是一個在制定標準時所使用的概念性的框架

C.OSI提供了一系列可以實現的方法

D.OSI中采用了三級抽象

25.()可以看成是現實世界到機器世界的一個過渡的中間層次。

A.概念模型B.邏輯模型C.結構模型D.物理模型

26.SQL語言的GRANT和REVOKE語句主要用來維護數據庫的()。A.安全性B.完整性C.可靠性D.一致性

27.在需求分析階段中,業務流程的分析結果一般用()

A.E-R圖表示B.程序流程圖表示C.數據流圖表示D.數據結構圖表示

28.設棧S和隊列Q的初始狀態為空,元素e1、e2、e3、e4、e5和e6依次通過棧S,一個元素出棧后即進入隊列Q,若6個元素出棧的順序是e2、e4、e3、e6、e5、e1,則棧S的容量至少應該是()

A.6B.4C.3D.2

29.ENIAC所用的主要元件是()

A.集成電路B.晶體管C.電子管D.以上答案都不對

30.數據庫的概念模型獨立于()。

A.具體的機器和DBMSB.實體聯系圖C.信息世界D.關系模型

四、C語言程序設計題(10題)31.函數ReadDat實現從文件in.dat中讀取一篇英文文章存入到字符串數組XX中;請編制函數SortCharD,其函數的功能是:以行為單位對字符按ASCII碼從大到小的順序進行排序,排序后的結果仍按行重新存入字符串數組XX中。最后main函數調用函數WriteDat把結果XX輸出到文件out.dat中。

例:原文:dAe,BfC.

CCbbAA結果:fedCBA.,bbCCAA原始數據文件存放的格式是:每行的寬度均小于80個字符,含標點符號和空格。

注意:部分源程序存放在test.C文件中。

請勿改動主函數main、讀數據函數ReadDat和輸出數據函數WriteDat的內容。

32.在文件in.dat中已存有200個正整數,且每個數均在1000至9999之間。函數readDat是讀取這200個數存放到數組aa中。請編制函數jsSort,其函數的功能是:要求按每個數的后三位的大小進行降序排列,如果出現后三位相等的數值,則對這些數值按原始4位數據進行升序排列,將排序后的前10個數存入數組bb中。

最后調用函數writeDat把結果bb輸出到文件out.dat中。

33.已知數據文件in.dat中存有200個四位數,并已調用讀函數readDat把這些數存入數組a中,請考生編制一函數jsVal,其功能是:若一個四位數的千位數位置上的值大于等于百位數位置上的值,百位數位置上的值大于等于十位數位置上的值,以及十位數位置上的值大于等于個位數位置上的值,并且原四位數是奇數,則統計出滿足此條件的個數cnt并把這些四位數按從小到大的順序存入數組b中,最后調用寫函數writeDat把結果cnt以及數組b中符合條件的數輸出到0ut.dat文件中。注意:部分源程序存在test.c文件中。

34.函數readDat是從文件in.dat中讀取20行數據存放到字符串數組XX中(每行字符串長度均小于80)。請編制函數isSort,其函數的功能是:以行為單位對字符串按下面給定的條件進行排序,排序后的結果仍按行重新存入字符串數組XX中,最后調用函數writeDat把結果)XX輸出到文件0ut.dat中。

條件:字符串從中間一分為二,左邊部分按字符的ASCII值降序排序,右邊部分不作處理,排序后,左邊部分與右邊部分按例子所示進行交換。如果原字符串長度為奇數,則最中間的字符不參加處理,字符仍放在原位置上。

35.編寫一個函數findStr(char*str,char*substr),該函數統計一個長度為2的子字符串substr在另一個字符串str中出現的次數,該次數作為函數值返回。例如,假定輸入的字符串為”asdasasdfgasdaszx67asdmklo”,子字符串為”as”,函數返回值是6。

函數ReadWrite實現從文件in.dat中讀取兩個字符串,并調用函數findStr,最后把結果輸出到文件out.dat中。

注意:部分源程序存在test.c文件中。請勿改動主函數main和其他函數中的任何內容,僅在函數findStr的花括號中

填入你編寫的若干語句。

36.設有n個人圍坐一圈并按順時針方向從1到n編號,從第s個人開始進行1到m的報數,報數到第m個人,此人出圈,再從他的下一個人重新開始1到m的報數,如此進行下去直到所有的人都出圈為止。現要求按出圈次序,每10人一組,給出這n個人的順序表。請考生編寫函數Josegh(void)實現此功能,并調用函數writeDat,把結果P輸出到文件out.dat中。

設n=100,s=1,m=10。

①將1到n個人的序號存入一維數組P中;

②若第i個人報數后出圈,則將p[i]置于數組的倒數第i個位置上,而原來第i+1個至倒數第i個元素依次向前移動一個位置;

③重復第②步直至圈中只剩下p[1]為止。

注意:部分源程序已經給出。

請勿改動主函數main和輸出數據函數writeDAT的內容。

37.程序test.C的功能是:把s字符串中的所有字符左移一個位置,串中的第一個字符移到最后。請考生編寫函數chg(char*s)實現程序要求,最后調用函數readwriteDAT把結果輸出到0ut.dat文件中。

38.函數ReadDat實現從文件in.dat中讀取一篇英文文章,存入到無符號字符串數組XX中;請編制函數encryptChar,按給定的替代關系對數組XX中的所有字符進行替代,其替代值仍存入數組)xx的對應的位置上,最后調用函數wmeDat把結果xX輸出到文件out.dat中。

替代關系:f(p)=p*11mod256,mod為取余運算,P是數組xx中某一個字符的ASCII值,f(p)是計算后無符號的整型值(注意:中間變量定義成整型變量),如果計算后f(p)值小于等于32或f(p)對應的字符是小寫字母,則該字符不變,否則用f(p)替代所對應的字符。

注意:部分源程序存放在test.c文件中,原始數據文件存放的格式是:每行的寬度均小于80個字符,含標點符號和空格,并也按此替代關系進行處理。

請勿改動住數main、讀數據函數ReadDat和輸出數據函數WriteDat的內容。

39.已知數據文件in.dat中存有200個四位數,并已調用讀函數readDat把這些數存入數組a中,請考生編制一函數jsVal,其功能是:把個位數字和千位數字重新組成一個新的含有兩位數字的數(新數的十位數字是原四位數的個位數字,新數的個位數字是原四位數的千位數字),以及把百位數字和十位數字組成另~個新的含有兩位數字的數(新數的十位數字是原四位數的百位數字,新數的個位數字是原四位數的十位數字),如果兩個新組成的數均是偶數并且至少有一個數能被9整除,同時兩個新數的十位數字均不為零,則將滿足此條件的四位數按從大到小的順序存入數組b中,并要計算滿足上述條件的四位數的個數cnt。最后main函數調用寫函數writeDat把結果cnt以及數組b中符合條件的四位數輸出到0ut.dat文件中。

40.程序test.c的功能是:選出1000至5000范圍內(包括1000、5000)符合下面條件的四位自然數。條件是:千位數字與百位數字之和等于十位數字與個位數字之和,且千位數字與百位數字之和等于個位數字與千位數字之差的整10倍。計算并輸出這些四位自然數的個數cnt以及這些數的和sum。請編寫函數countValue實現程序的要求。最后main函數調用函數writeDAT把結果crlt和sum輸出到out.dat文件中。

五、設計與應用題(2題)41.設有商品表(商品號,商品名,單價)和銷售表(銷售單據號,商品號,銷售時間,銷售數量,銷售單價)。其中,商品號代表一類商品,商品號、單價、銷售數量和銷售單價均為整型。請編寫查詢某年某商品的銷售總毛利的存儲過程,毛利=銷售數量x(銷售單價一單價)。要求商品號和年份為輸入參數,總毛利用輸出參數返回。(10分)

42.在SQLServer2008中,設某數據庫中有商品表(商品號,商品名,進貨價格),商品號為主碼;銷售表(商品號,銷售時間,銷售數量,銷售價格,本次利潤),商品號和銷售時間為主碼,銷售價格為本次銷售商品的單價。現要求每當在銷售表中插入前4列數據時(假設一次只插入一行數據),系統自動計算本次銷售產生的利潤,并將該利潤賦給銷售表的第5列“本次利潤”。請編寫實現上述功能的后觸發型觸發器代碼。(10分)

六、單選題[1分](2題)43.設數據庫管理員為SQLServer2008默認實例中的某數據庫實施了基于維護計劃的數據庫備份任務。配置完成后,發現此維護計劃并未執行但數據庫運行正常。有關此維護計劃未執行的原因,下列說法中最有可能的是()。

A.“SQLServer(MSSQLSERVER)”服務未啟動

B.“SQLServer代理(MSSQLSERVER)”服務未啟動

C.“SQLServerBrowser”服務未啟動

D.“SQLServerVSSWriter”服務未啟動

44.設有工作表(工作編號,最低工資,最高工資),其中工作編號、最低工資和最高工資均為整型,工作編號為主碼。現要求最高工資必須大于等于最低工資,但不能超過最低工資的2倍。在SQLServer2008環境中有下列創建該表的語句:1.CREATETABLE工作表(工作編號intprimarykey,最低工資int,最高工資intcheck(最高工資between最低工資and最低工資*2))Ⅱ.CREATETABLE工作表(工作編號int,最低工資int,最高工資int,primarykey(工作編號),check(最高工資between最低工資and最低工資*2))Ⅲ.CREATETABLE工作表(工作編號intprimarykey(工作編號),最低工資int,最高工資int,check(最高工資between最低工資and最低工資*2))Ⅳ.CREATETABLE工作表(工作編號intprimarykey(工作編號),最低工資int,最高工資intcheck(最高工資between最低工資and最低工資*2))上述語句中正確的是()。

A.僅Ⅰ和ⅡB.僅Ⅱ和ⅢC.僅Ⅲ和ⅣD.全部

參考答案

1.D解析:在邏輯結構設計中,關系雖已達到規范化,但因某些屬性過多時,可將它分為兩個或多個關系模式,這叫做分解。掌握關系模式中模式評價、優化模式、合并的概念,并能夠區別它們。

2.A解析:將局部E-R圖集成為全局E-R圖時可能存在的沖突有:屬性沖突、結構沖突和命名沖突。因此4個選項中只有A(模型沖突)不屬于將局部E-R圖集成為全局E-R圖時可能存在的沖突,正確答案為選項A。

3.C解析:計算機中的數據存儲地址通常分為邏輯地址和物理地址。用戶程序經過編譯或匯編形咸的目標代碼,通常采用相對地址,其首地址為零,其余指令中的地址都是相對而言的,這個相對地址就成為邏輯地址。而物理地址是內存中各存儲單元的編號,即存儲單元的真實地址。為了保證CPU執行程序指令時能正確訪問存儲單元,需要將用戶程序中的邏輯地址轉換為運行時可由機器直接尋址的物理地址,這一過程稱為地址映射或地址重定位。因此本題的答案是c:地址映射.

4.B解析:E-R模型向關系數據模型轉換時,實體的屬性就是關系的屬性,實體的碼就是關系的碼。掌握E-R模型向關系數據模型轉換的步驟,E-R方法的數據庫概念結構設計的步驟。

5.B解析:惟一標識實體的屬性集稱為碼。掌握域、碼、聯系和主屬性這些概念之間的區別。

6.C解析:PowerDesignerAppModeler用于物理(邏輯)數據庫的設計,和應用對象的生成。PowerDesignerMetaWorks通過模型的共享支持高級團隊工作的能力。PowerDesignerWarehouseArchitect用于數據倉庫和數據集市的建模和實現。PowerDesignerViewer提供了對PowerDesigner所有模型信息的只讀訪問,包括處理、概念、物理(邏輯)和倉庫模型。

7.C解析:數據倉庫是一個用以更好地支持企業或組織的決策分析處理的、面向主題的、集成的、相對穩定的、體現歷史變化的數據集合。

8.D解析:目前,較具代表性的CASE工具主要有:①Sybase公司的PowerDesigner。②Oracle公司的Designer/2000。③Ration公司的Rose。④CA公司的Erwin。

9.C解析:以應用服務器為中心的軟件結構是Web服務器和三層客戶機/服務器結合的成果。為了解決Web服務器負責接收客戶機瀏覽器的HTTP請求,并將請求的頁面和控件返回給客戶端,對于客戶端的變現邏輯,存在兩種不同的解決方式:一種是基于構建的方式;另一種是基于腳本的方式。

10.B解析:日志文件能夠很好地支持事務故障的恢復和系統故障的恢復。利用更新日志記錄中的改前值可以進行UNDO,撤銷做過的修改操作,將數據項恢復到修改以前的舊值;利用更新日志記錄中的改后值可以進行REDO,重做已完成的操作,將數據項置頂為修改后的新值。

11.網絡安全域【解析】防火墻是指設置在不同網絡或網絡安全域之間的一系列部件的組合。

12.9【解析】兩個分別為n和m目的關系R和s的笛卡兒積是一個n+m列的元組的集合。若R有k1個元組,S有k2個元組,則關系R和S的廣義笛卡兒積有k1?k2個元組。

13.候選碼候選碼

14.(15,23,54,38)先取一個小于n的整數d1作為第一個增量,把文件的全部記錄分成d1個組。所有距離為d1的倍數的記錄放在同一個組中。先在各組內進行直接插入排序;然后,取第二個增量d2<dt-l<…<d2<d1),即所有記錄放在同一組中進行直接插入排序為止

15.共享鎖或S鎖共享鎖或S鎖解析:給數據項加鎖的方式有多種。最基本的兩種是:

①共享鎖如果事務T獲得了數據項Q上的共享型鎖(記為S),則T可讀Q但不能寫Q。

②排他鎖如果事務T獲得了數據項Q上的排他型鎖(記為X),則T既可讀Q又可寫Q。

16.物理物理解析:數據庫設計的四個階段是:需求分析、概念設計、邏輯設計和物理設計。其中物理設計階段的主要任務是:對數據庫中數據在物理設備上的存放結構和存取方法進行設計。“為哪些表、在哪些字段上、建什么樣的索引”便是為數據庫設計索引存放的方法。

需求分析階段的任務是:對現實世界要處理的對象(組織、部門、企業等)進行詳細調查,在了解新系統的概況、確定新系統功能的過程中,收集支持系統目標的基礎數據及其處理方法。

概念設計的任務是產生反映企業組織信息需求的數據庫概念結構,即概念模型。

邏輯設計的目的,是從概念模型導出特定的DBMS可以處理的數據庫的邏輯結構(數據庫的模式和外模式),這些模式在功能、性能、完整性、一致性約束及數據庫可擴充性等方面都滿足用戶的要求。

17.跳數【解析】向量一距離(V-D)路由選擇算法,也稱為Bellman--Ford算法。其基本思想是路由器周期性地向其相鄰路由器廣播自己知道的路由信息,用于通知相鄰路由器自己可以到達的網絡以及到達該網絡的距離(通常用“跳數”表示),相鄰路由器可以根據收到的路由器修改和刷新自己的路由表。

18.ALTERTABLEALTERTABLE解析:修改表可能的操作包括:增加或修改一個列的定義;增加或刪除表的完整性約束等。SQL語言用ALTERTABLE語句修改基本表,其一般格式為:

ALTERTABLE<表名>

[ADD<新列名><數據類型>[完整性約束]]

[DROP<完整性約束名>]

[MODIFY<列名><數據類型>]

其中,<表名>為指定需要修改的基本表名,ADD子句用于增加新列和新的完整性約束,DROP子句用于刪除指定的完接性約束,MODIFY子句用于修改原有的列定義。

19.通信費用【解析】計算機網絡拓撲主要是指通信子網的拓撲構型,它對網絡性能、系統可靠性與通信費用都有重大影響。

20.16【解析】在DES加密中,明文的處理經過3個階段。首先,64位的明文經過初試置換(IP)而被重新排列。然后進行l6輪的相同函數的作用,每輪的作用中有置換和代換。最后一輪迭代的輸出有64位,它是輸入明文和密鑰的函數。最后,預輸出再被與置換(IP)互逆的逆初始置換(IP-1)作用產生64位的密文。

21.D解析:病毒的主要特征包括:傳染性、靈活性、破壞性、隱蔽性、通常常駐內存。傳染性是指病毒的自我復制功能;靈活性表現在程序的小巧,都是可以直接或間接運行的程序;破壞性是病毒對計算機軟件硬件的損壞;隱蔽性表現在不易被用戶察覺,一般隱藏于磁盤的引導區或附著在可執行文件中:病毒會常駐內存,隨時可感染其他可執行文件。

22.C

23.C解析:順序文件通常只能按記錄的順序存取,對這種文件進行更新,原則上需對文件做整體拷貝。鏈接結構的文件可以將文件分散存放于若干不連續的物理塊中,每個物理塊中設一指針,指向下一塊。索引結構的文件也可以將文件分散存放于若干不連續的物理塊中,系統為每個文件建立一張索引表。

24.COSI參考模型并沒有提供一個可以實現的方法。OSI參考模型只是描述了一些概念,用來協調進程問通信標準的制定。

25.A

26.ASQL語言中用GRANT、REVOKE語句實現數據控制功能,數據庫中權限的授予可以使用GRANT....ON....TO....語句,要求指明授予哪個用戶(組)對哪個對象有什么權限,而REVOKE語句實現數據庫權限的回收,需要指明從哪個用戶(組)回收對于哪個對象的什么權限。

27.C

28.C

29.C

30.A解析:概念模型用于信息世界的建模,是將現實世界的客觀對象抽象為某種信息結構。這種結構不依賴于具體的計算機系統,不是某一個DBMS支持的數據模型。實際上是現實世界到機器世界的一個中間層次。

31.【審題關鍵句】以行為單位對字符按從大到小排序,結果仍按行重新存入字符串數組中。

\n【解題思路】

\n①首先定義字符變量ch和無符號整型變量i、j、k。

\n②對字符二維數組XX,在第一層for循環中,變量i從0開始,依次遞增直到其值等于maxline,實現對文章每行的掃描,在第二層for時循環中,變量j從0開始,依次遞增直到其值等于strlen(xx[i]),即第i行的長度。在第三層循環語句中,變量k從j開始,依次遞增直到其值等于strlen(xx[i]),對每一行中的數組元素xx[il[j]、XX[i][k]按照它們的ASCII碼值的大小進行比較,如果xx[i][j]的ASCII碼小于XX[i][k]的ASCII碼,則兩者交換,實現整篇文章中的字符按ASCII碼值從大到小的順序進行排序。

\n【參考答案】

\n

\n

32.\n【審題關鍵句】按每個數的后三位降序排列,然后取出滿足此條件的前10個數依次存入數組;如果后三位的數值相等,則按原先的數值進行升序排列。

\n【解題思路】本題類似第7套試題,通過審題可以發現主要有兩個不同點:①按每個數的后三位降序排列,參考答案的第5條語句,修改兩數組元素的大小比較符即可;②后三位的數值相等則按原先的數值進行升序排列,參考答案的第13條語句,同樣也是修改兩數組元素的大小比較符即可。

\n【參考答案】

\n

\n

\n

33.\n【審題關鍵句】四位數的千位>=百位>=十位>=個位,且四位數是奇數,統計出滿足此條件的個數,按從小到大的順序存入數組。

\n【解題思路】

\n本題類似第9套試題,通過審題可以發現主要有兩個不同點:一是要求統計的四位數的條件是“千位>=百位>=十位>=個位”,二是要求該四位數是奇數,這兩個不同點都體現在參考答案的第8條語句中,對該語句進行修改即可,其中,可以判斷奇數的表達式是“a[i]%2”。

\n【參考答案】

\n

\n

34.\n【審題關鍵句】以行為單位從字符串左邊部分降序排序,排序后左邊部分與右邊部分進行交換。如果原字符串長度為奇數,則最中間的字符不參加處理。

\n【解題思路】

\n①定義循環變量i、j、k和整型變量len、p。

\n②第一層for循環中,循環變量i從0開始,依次遞增直到其值等于20,實現對20行數據的逐行處理。在循環體中,對于i行首先調用函數strlen(xx[i])求得第i行字符串的長度,并把其值賦給變量len,再用1en除以2,得到第i行字符串長度的一半,賦給變量P。在第二層for循環中,循環變量J從0開始,依次遞過來增直到其值等于(p-1),在第三層for循環中,循環變量k從J+1開始,依次遞過來增直到其值等于P,比較字符xx[i][j]ASCII碼值與xx[i][k]ASCII碼值的大小,如果字符xx[i]啪的ASCII碼值小于xx[i][k]的ASCII碼值,則兩者進行互換實現對第i行字符串左半部分的字符串按降序排列。

\n③用變量len的值對2求余數,如果余數為1,則調用函數字符串拷貝函數strcpy,把從字符串xx[i]+P+1開始直到字符串xx[i]的結尾的子字符拷貝到字符串變量str中,再調用字符串連接函數stmcat把字符串xx[i]的中間字符連接到字符串變量str的后面,再調用字符串連接函數stmcat把字符串xx[i]的左半部分的子字符串連接到變量str的后面;如果余數不等于1,則調用字符串拷貝函數strcpy,把從字符串xx[i]+P開始直到字符串xx[i]的結尾的子字符拷貝到字符串變量str中,再調用字符串連接函數stmcat把字符串xx[i]的左半部分的子字符串連接到變量str的后面,實現字符串xx[i]左右部分子字符串的交換。

\n④調用字符串拷貝函數strcpy,把字符串變量str的值拷貝到字符串xx[i],實現把排序后的結果仍按行重新存入字符串數組XX中。

\n【參考答案】

\n

\n

35.\n【審題關鍵句】統計一個長度為2的子字符串在另一個字符串中出現的次數。

\n【解題思路】

\n①定義字符指針p,q,并且q指向字符串str。定義計數整型變量cnt,設置其值等于0。

\n②在while循環中調用C語言的字符串庫函數strstr,返回子字符串substr在字符串q第一次出現的位置,賦給變量P。用if語句判斷,如果p的值為空,則說明在字符串str沒有找到子字符串,退出循環。否則,變量cnt加1,再把P的值加2(因為子字符串substr的長度為2)賦給變量q,執行下一次循環。直到字符串中不存在子字符串時,退出循環結束。

\n③最后,返回子字符串substr在字符串str中出現的次數。

\n【參考答案】

\n

36.\n【審題關鍵句】圍圈問題。

\n【解題思路】

\n①定義整型變量i、j,表示出圈人位置的變量s1和出圈人序號的變量W。并將S的值賦給變量s1(s的值已在源程序中賦值為1)。

\n②通過一個for循環,將n個人的序號存入一維數組P中(n的值已在源程序中賦值為100)。

\n③再建立一個for循環,循環變量i從n開始,即從100開始,依次遞減直到其值小于2時退出循環。由于每執行一次循環,人數就會減少1個,因此,此處的for循環應表示為遞減方式。在該循環體中,先計算每次出圈人的位置,通過表達式“(s1+m.1)%i”計算每次出圈人的位置(m的值已在源程序賦值為1O)。若所得結果為0,則說明要開始報數的是最后一個人,在此人前面的那個人就是要出圈的人,再通過一個循環將要出圈的人移到數組最后。

\n【參考答案】

\n

\n

37.【審題關鍵句】所有字符左移一個位置,串中的第一個字符移到最后。

\n【解題思路】

\n定義循環變量i,字符變量first和字符指針變量P,并使P指向字符串S。

\n②把字符串S的第一個字符賦給first變量保存起來。

\n③在for循環語句中,循環變量i從0開始,依次遞增直到其值等于或大于(int)strlen(s)一1,把*(p+i+1)的值賦給+(p+i),實現把字符串S中的所有字符左移一個位置,循環結束后,把first的值賦給p[strlen(s).1],即把字符串的首字符移動到字符串的最后位置上。

\n【參考答案】

\n

\n

38.\n【審題關鍵句】字符替代f(p)=p*11mod256,小于等于32或對應小寫字母不變,否則替換。

\n【解題思路】

\n本題類似第65套試題,通過審題可以發現主要是排序條件的設置要求有所不同,參考答案的第6行,修改if條件語句的設置即可。

\n【參考答案】

\n

\n

39.\n【審題關鍵句】個位+千位與百位+十位,偶數,整除,從大到小排序。

\n【解題思路】

\n本題類似第24套試題,通過審題可以發現主要是對四位數的篩選條件有所不同,體現在兩個方面:①分解后重新組合成兩位數的方式不同,參考答案的第8、9條語句重新指定兩位數的組合方式:②新組合的兩位數的偶數的判斷及整除判斷,參考答案的第10條語句。注意,兩個整除關系表達式要用或運算符(||)連接,且用括號括起來先進行整除運算(因為或運算級別比與運算級別低,因此要括起來),再與奇偶性判斷表達式進行與()運算。

\n【參考答案】

\n

\n

\n

40.\n【審題關鍵句】千位+百位等于十位十個位,且千位+百位等于個位.千位的10倍。計算并輸出這些四位自然數的個數cnt以及這些數的和。

\n【解題思路】

\n①首先定義一個循環變量i,以及分別用來存放四位數分解之后各位數的變量qw(千位)、bw(百位)、SW(十位)和gw(個位)。

\n②通過for循環依次對數組中的每個四位數進行分解,循環初值為1000,終值為5000,每循環一次,循環變量i的值加1。每分解一個四位數,根據題目要求,判斷其“千位十百位=十位+個位”的條件是否滿足,同時判斷“(千位+百位)=(個位-于位)*10”的條件是否滿足,兩個條件之間用運算符進行連接。當同時滿足以上兩個判斷條件時,計數變量cnt的值加1,同時將該四位數累加到求和變量sum中,最終得到滿足條件的四位自然數個數cnt及它們的和sum。

\n本題中cnt和sum變量在源程序中已經定義,在該子程序中就不需要再重新定義了。

\n【參考答案】

\n

\n

41.存儲過程是由PL/SQL語句書寫的過程,這個過程經編譯和優化后存儲在數據庫服務器中,使用時只要調用即可。使用存儲過程具有以下優點:其已經編譯和優化過了,所以運行效率高,提供了在服務器端快速執行SQL語句的有效途徑;存儲過程降低了客戶端和服務器之間的通信量;方便實施企業規則,當企業規則發生變化時只要修改存儲過程,而無需修改其他應用程序。創建存儲過

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論