2021年度下半年程序員考試試卷及答案_第1頁
2021年度下半年程序員考試試卷及答案_第2頁
2021年度下半年程序員考試試卷及答案_第3頁
2021年度下半年程序員考試試卷及答案_第4頁
2021年度下半年程序員考試試卷及答案_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

下半年程序員考試試卷及答案

1

下半年程序員考試試卷及答案

?在Word編輯狀態(tài)下,若要多次復(fù)制

Word中格式,用法為:一方面選中設(shè)立好格式

文字,在工具欄上(1)按鈕,光標(biāo)將變成格式

刷樣式;然后,選中需要設(shè)立同樣格式(2),即

可將選定格式復(fù)制到各種位置。取消格式刷時(shí),

只需在工具欄上再次單擊格式刷按鈕,或者按下

Esc鍵即可。

(I)A雙擊"?”圖標(biāo)B.雙擊“3”圖標(biāo)

c.單擊圖標(biāo)D.單擊“S”圖標(biāo)

(2)A.文字,按下Ctrl+V鍵

B.圖像,按下Ctrl+V鍵

C.文字,或?qū)⑹髽?biāo)移到需要復(fù)制格式段落

內(nèi),再單擊鼠標(biāo)左鍵

D.圖像,或?qū)⑹髽?biāo)移到需要復(fù)制格式圖像

內(nèi),再單擊鼠標(biāo)左鍵

?Excel學(xué)生成績表如下表所示,若要計(jì)算

表中每個(gè)學(xué)生計(jì)算機(jī)文化和英語課平均成績,那

么,可通過在D3單元格中填寫(3),并(4)拖

動(dòng)填充柄至D10單元格,則可自動(dòng)算出這些學(xué)

生平均成績。

ABCD

2

1學(xué)生成績表

2姓名計(jì)算英語平均

機(jī)文成績

3朱小8076

4于8572

5趙玲9082

6馮9179

7鄭8678

8孟曉8276

xmi

99686

10廖9380

⑶A?=AVG(B3+C3)B.

=AVERAGE(B3+C3)

3

C.=AVG(B3/C3)D.

=AVERAGE(B3:C3)

(4)A.向垂直方向B.向水平方向

C.按住Shift鍵向垂直方向D.按住

Shift鍵向水平方向

?E-mail地址由分隔符“(5)”分為先后兩某

些,分別指明顧客名及郵件服務(wù)器域名。

(5)A.//B.WC.@D..

?計(jì)算機(jī)系統(tǒng)中用來連接CPU、內(nèi)存儲(chǔ)器

和I/O接口總線稱為系統(tǒng)總線。(6)總線屬于系

統(tǒng)總線技術(shù)一種。

(6)A.IEEE1394B.PCIC.RS-232

D.USB

?微機(jī)系統(tǒng)中BIOS(基本輸入輸出系統(tǒng))保

存在(7)中。

(7)A.主板上ROMB.DRAMC.主

板上RAMD.CD-ROM

?(8)不屬于存儲(chǔ)器速度性能指標(biāo)。

(8)A.存儲(chǔ)周期B.存取時(shí)間C.主

頻D.存儲(chǔ)器帶寬

?下面關(guān)于Cache(高速緩沖存儲(chǔ)器)論述,

“(9)”是錯(cuò)誤。

4

(9)A.在體系構(gòu)造上,Cache存儲(chǔ)器位于主

存與CPU之間

B.Cache存儲(chǔ)器存儲(chǔ)內(nèi)容是主存某些內(nèi)容

拷貝

C.使用Cache存儲(chǔ)器并不能擴(kuò)大主存容

D.Cache命中率只與其容量有關(guān)

?計(jì)算機(jī)系統(tǒng)可靠性通慣用(10)來衡量。

(10)A.平均響應(yīng)時(shí)間B.平均故障間隔

時(shí)間

C.平均故障時(shí)間D.數(shù)據(jù)解決速率

?計(jì)算機(jī)系統(tǒng)可維護(hù)性是指(11)O

(11)A.對(duì)系統(tǒng)進(jìn)行故障檢測(cè)與修復(fù)定期時(shí)

間間隔

B.系統(tǒng)失效后能被修復(fù)概率

C.在單位時(shí)間內(nèi)完畢修復(fù)概率

D.系統(tǒng)失效后在規(guī)定期間內(nèi)可修復(fù)到規(guī)定

功能能力

?關(guān)于哈夫曼編碼辦法,如下說法對(duì)的是

(12)o

(12)A.哈夫曼編碼是一種用于校驗(yàn)編碼辦

5

B.編碼過程中需要依照符號(hào)浮現(xiàn)概率來進(jìn)

行編碼

C.編碼過程中需要建立“詞典”

D.哈夫曼編碼辦法不能用于靜態(tài)圖像壓縮

?下列光盤格式中,可以多次擦除重寫數(shù)據(jù)

是(13)o

(13)A.CD-ROMB.CD-DAC.CD-R

D.CD-RW

?某數(shù)碼相機(jī)內(nèi)置128MB存儲(chǔ)空間,拍

攝辨別率設(shè)定為1600E200像素,顏色深度為

24位,若不采用壓縮存儲(chǔ)技術(shù),使用內(nèi)部存儲(chǔ)

器最多可以拍攝(14)張照片。

128x1024x1024128x1024x1024x8

(14)A.L-1600x1200B」1600x1200

128x1024x1024128x1024x1024x8

C.L1600x1200x24D.L1600X1200X24

?關(guān)于計(jì)算機(jī)病毒說法,“(15)”是錯(cuò)誤。

(15)A.正版軟件不會(huì)感染病毒B.壓縮文

獻(xiàn)包中也也許包括病毒

C.病毒是一種特殊軟件D.病毒只有在一

定條件下才會(huì)發(fā)作

?關(guān)于數(shù)字簽名,“(16)”是錯(cuò)誤。

6

(16)A.數(shù)字簽名可以保證數(shù)據(jù)完整性B.

發(fā)送方無法否認(rèn)自己簽發(fā)消息

C.接受方可以得到發(fā)送方私鑰D.接受方

可以確認(rèn)發(fā)送方身份

?下列權(quán)利,不屬于軟件著作財(cái)產(chǎn)權(quán)是

(17)o

(17)A.復(fù)制權(quán)B.簽名權(quán)C.發(fā)行權(quán)D.

翻譯權(quán)

?根據(jù)國內(nèi)知識(shí)產(chǎn)權(quán)關(guān)于規(guī)定,(18)需要

依法審查確認(rèn)后方能受法律保護(hù)。

(18)A.專利權(quán)B.著作權(quán)C.商業(yè)秘密權(quán)

D.信息網(wǎng)絡(luò)傳播權(quán)

?在CRC(循環(huán)冗余校驗(yàn))辦法中,采用了

(19)運(yùn)算計(jì)算校驗(yàn)碼。

(19)A.邏輯與B.邏輯或C.循環(huán)移位D.

模2除法(異或)

?若內(nèi)存按字節(jié)編址,用存儲(chǔ)容量為8Kx8

比特存儲(chǔ)器芯片構(gòu)成地址編號(hào)7000H至

EFFFH內(nèi)存空間,則至少需要(20)片。

(20)A.4B.6C.8D.10

?已知X=-121,若采用8位機(jī)器碼表達(dá),

則[X]原=(21),[X]補(bǔ)=(22)o

7

(21)A.11001001B.11111001C.

01111001D.01011001

(22)A.10110111B.10000111C.

10100111D.01111001

?在Windows系統(tǒng)中,當(dāng)鼠標(biāo)指針呈現(xiàn)

(23)形狀時(shí)表達(dá)處在等待狀態(tài)。

(23)A.益BA?

C.曜D.I

?若分頁系統(tǒng)地址構(gòu)造如下圖所示:

J9I2II

1頁號(hào)?頁內(nèi)地址一

該系統(tǒng)頁大小為(24)字節(jié),頁號(hào)取值范疇

為(25)o

(24)A.1024B.2048C.4096D.8192

(25)A.0—255B.1?256C.0—511D.

1-512

?已知有6個(gè)進(jìn)程共享一種互斥段,如果

最多容許3個(gè)進(jìn)程同步進(jìn)入互斥段,則信號(hào)量

S變化范疇是(26);若信號(hào)量S當(dāng)前值為?2,

則表達(dá)系統(tǒng)中有(27)個(gè)正

在等待該資源進(jìn)程。

(26)A.-5-1B??3?3C.-2-4D.?2?5

(27)A.0B.1C.2D.3

8

?編譯型程序設(shè)計(jì)語言若規(guī)定程序中變量

必要先定義(或聲明)再引用,那么違背此規(guī)定程

序在(28)時(shí)報(bào)錯(cuò)。

(28)A.編輯B.編譯C.鏈接D.運(yùn)營

?開發(fā)微型嵌入式應(yīng)用系統(tǒng),采用(29)更

適當(dāng)。

(29)A.C語言或匯編語言B.HTML或

XML語言

C.腳本語言D.SQL語言

?設(shè)正規(guī)式S=(a|ba)*,則其相應(yīng)正規(guī)集

字符串(30)o

(30)A.長度必要是偶數(shù)B.長度必要是奇

數(shù)

C.a不能持續(xù)浮現(xiàn)D.b不能持續(xù)浮現(xiàn)

?對(duì)布爾表達(dá)式進(jìn)行短路求值是指:不必對(duì)

式中所有操作數(shù)或運(yùn)算符進(jìn)行計(jì)算就可擬定表

達(dá)式值。對(duì)于表達(dá)式“bor((c>d)anda)”,(31)

時(shí)可進(jìn)行短路計(jì)算。

(31)A.d為trueB.a為trueC.b為trueD.

c為true

?函數(shù)f和g定義如下圖所示。執(zhí)行函數(shù)f

時(shí)需要調(diào)用函數(shù)g(a),若采用值調(diào)用方式(call

9

byvalue)調(diào)用g(a),則函數(shù)f返回值為(32);

若采用引用(callbyreference)方式調(diào)用g(a),

則函數(shù)f返回值為(33)o

g(形式參數(shù)X)

inia=3,c;HUin=5;

c-g(a);ill—X*,X—til?5,

returna-c;returnx-m;

(32)A.6B.13C.25D.28

(33)A.35B.28C.25D.13

?設(shè)數(shù)組2[1.?6。,9]元素以行為主序存儲(chǔ),

每個(gè)元素占用一種存儲(chǔ)單元,則數(shù)組元素a[3,3]

地址為(34)o

(34)A.a+23B.a+27C.a+39D.a+35

?若字符串s長度為n(n>1)且其中字符互

不相似,則s長度為2子串有(35)個(gè)。

(35)A.nB.n-1C.n-2D.2

?若線性表(24,13,31,6,15,18,8)

采用散列(Hash)法進(jìn)行存儲(chǔ)和查找,設(shè)散列函數(shù)

為H(Key)=Keymod11,則構(gòu)造散列表時(shí)發(fā)生

沖突元素為(36)o(其中mod表達(dá)整除取余運(yùn)

算)

10

(36)A.24^013B.6和15c.6和24D.18

和8

?線性表采用順序存儲(chǔ)構(gòu)造,若表長為m,

且在任何一種合法插入位置上進(jìn)行插入操作概

率相似,則插入一種元素平均移動(dòng)(37)個(gè)元

素。

(37)A.m-1B.2C.1D.m

?若二叉樹先序遍歷序列與中序遍歷序列

相似且樹中結(jié)點(diǎn)數(shù)不不大于1,則該二叉樹

(38)o

(38)A.只有根結(jié)點(diǎn)無左子樹B.只有根結(jié)

點(diǎn)無右子樹

C.非葉子結(jié)點(diǎn)只有左子樹D.非葉子結(jié)點(diǎn)

只有右子樹

?由核心字序列(12,7,36,25,18,2)

構(gòu)造一棵二叉排序樹(初始為空,第一種核心字

作為根結(jié)點(diǎn)插入,此后對(duì)于任意核心字,若不大

于根結(jié)點(diǎn)核心字,則插入左子樹中,若不不大于

根結(jié)點(diǎn)核心字,則插入右子樹中,且左、右子樹

均為二叉排序樹),該二叉排序樹高度(層數(shù))為

(39)o

(39)A.6B.5C.4D.3

11

?對(duì)連通圖進(jìn)行遍歷前設(shè)立所有頂點(diǎn)訪問

標(biāo)志為false侏被訪問),遍歷圖后得到一種遍歷

序列,初始狀態(tài)為空。深度優(yōu)先遍歷含義是:從

圖中某個(gè)未被訪問頂點(diǎn)v出發(fā)開始遍歷,先訪問

v并設(shè)立其訪問標(biāo)志為true(已訪問),同步將v

加入遍歷序列,再從v未被訪問鄰接頂點(diǎn)中選一

種頂點(diǎn),進(jìn)行深度優(yōu)先遍歷;若V所有鄰接點(diǎn)都

已訪問,則回到V在遍歷序列直接前驅(qū)頂點(diǎn),再

進(jìn)行深度優(yōu)先遍歷,直至圖中所有頂點(diǎn)被訪問

過。(40)是下圖深度優(yōu)先遍歷序列。

(40)A.123465B.126345C.1625

43D.123456

?棧運(yùn)算特點(diǎn)是后進(jìn)先出。元素a、b、c、

d依次入棧,則不能得到出棧序列是(41)o

(41)A.abcdB.cabdC.dcbaD.be

da

?兩個(gè)遞增序列A和B長度分別為m和

n(m

12

(42)A.當(dāng)A最大元素不不大于B最大元

素時(shí)

B.當(dāng)A最大元素不大于B最小元素時(shí)

C.當(dāng)A最小元素不不大于B最小元素時(shí)

D.當(dāng)A最小元素不大于B最大元素時(shí)

?在任意一棵非空二叉樹中,終端結(jié)點(diǎn)(葉

子)數(shù)目總是比具備兩個(gè)孩子非終端結(jié)點(diǎn)數(shù)目

(43)o

(43)A.多0個(gè)B.多1個(gè)C.多2個(gè)D.多

3個(gè)

?(44)是對(duì)象之間關(guān)聯(lián)一種重要方面,它闡

明了在關(guān)聯(lián)中一種類對(duì)象可以相應(yīng)另一種類各

種對(duì)象。

(44)A.繼承B.多態(tài)C.封裝D.多重性

?匯集一種形式是匯集對(duì)象和它構(gòu)成對(duì)象

之間具備強(qiáng)關(guān)聯(lián)關(guān)系,這種匯集稱為(45),其

核心特性是某些對(duì)象只能存在于構(gòu)成對(duì)象之中。

(45)A.集合B.組合C.關(guān)聯(lián)D.弱關(guān)聯(lián)

?(46)是類特性,它描述了類對(duì)象所具備一

系列特性值。

(46)A.屬性B.操作C.行為D.狀態(tài)

13

?面向?qū)ο?47)強(qiáng)調(diào)對(duì)問題調(diào)查而不是

如何擬定解決方案,面向?qū)ο?48)強(qiáng)調(diào)是問題邏

輯解決方案,即系統(tǒng)如何才干滿足需求。

(47)A.編程B.實(shí)現(xiàn)C.分析D.設(shè)計(jì)

(48)A.編程B.實(shí)現(xiàn)C.分析D.設(shè)計(jì)

?(49)屬于動(dòng)態(tài)交互圖,它們關(guān)注系統(tǒng)動(dòng)態(tài)

特性。

(49)A.序列圖和通信圖B,序列圖和類圖

C.類圖和對(duì)象圖D,用例圖和通信圖

?構(gòu)造化分析辦法(SA)采用“自頂向下,逐

級(jí)分解”開發(fā)方略,其需求分析成果中不涉及

(50)o

(50)A.一套分層數(shù)據(jù)流圖B.一本數(shù)據(jù)字

C.一組加工邏輯D.一組顧客界面

?(51)是一種面向數(shù)據(jù)構(gòu)造軟件開發(fā)辦法,

該辦法以數(shù)據(jù)構(gòu)造為基本,通過一組映射或轉(zhuǎn)換

過程來建立程序構(gòu)造。

(51)A.構(gòu)造化開發(fā)辦法B.Jackson系統(tǒng)

開發(fā)辦法

C.Booch辦法D.UML(統(tǒng)一建模語言)

14

?普通在軟件開發(fā)過程(52)階段,無需顧

客參加。

(52)A.需求分析B.維護(hù)

C.編碼D.測(cè)試

?軟件測(cè)試分為黑盒測(cè)試和白盒測(cè)試,其中

(53)辦法屬于黑盒測(cè)試。

(53)A.等價(jià)類劃分和邊界值劃分

B.循環(huán)覆蓋以及基本途徑測(cè)試

C.錯(cuò)誤推測(cè)和邏輯覆蓋

D.因果圖和途徑覆蓋

?關(guān)于軟件文檔論述,“(54)”是錯(cuò)誤。

(54)A.文檔就是指軟件操作闡明書

B.文檔是軟件產(chǎn)品一某些,沒有文檔軟件

就不成為軟件

C.高質(zhì)量文檔對(duì)于軟件開發(fā)、維護(hù)和使用

有重要意義

D.測(cè)試用例也是重要軟件文檔

?為了改進(jìn)系統(tǒng)硬件環(huán)境和運(yùn)營環(huán)境而產(chǎn)

生系統(tǒng)更新?lián)Q代需求而導(dǎo)致軟件維護(hù)屬于(55)

維護(hù)。

(55)A.適應(yīng)性B.對(duì)的性C.完善性D.

防止性

15

?某軟件在進(jìn)行維護(hù)時(shí),因誤刪除一種標(biāo)記

符而引起錯(cuò)誤是(56)副作用。

(56)A.文檔B.數(shù)據(jù)C.編碼D.設(shè)計(jì)

?采用二維表格構(gòu)造表達(dá)實(shí)體類型及實(shí)體

間聯(lián)系數(shù)據(jù)模型稱為(57)o

(57)A.層次模型B.網(wǎng)狀模型C.關(guān)系模

型D.實(shí)體聯(lián)系模型

?關(guān)系數(shù)據(jù)庫是表集合。對(duì)視圖進(jìn)行查詢,

本質(zhì)上就是對(duì)從(58)中導(dǎo)出數(shù)據(jù)進(jìn)行查詢;支

持?jǐn)?shù)據(jù)庫各種操作軟件系統(tǒng)稱為(59)o

(58)A.一種或若干個(gè)基本表B.一種或若

干個(gè)索引文獻(xiàn)

C.一種或若干個(gè)視圖D.一種視圖

(59)A.數(shù)據(jù)庫系統(tǒng)B.文獻(xiàn)系統(tǒng)

C.數(shù)據(jù)庫管理系統(tǒng)D.操作系統(tǒng)

?某銀行信貸額度關(guān)系credit-in(C_no,

C_name,limit,Credit_balance)中四個(gè)屬性

分別表達(dá)顧客號(hào)、顧客姓名、信貸額度和合計(jì)消

費(fèi)額。該關(guān)系(60)屬性可以作為主鍵。下表為

關(guān)系credit-in一種詳細(xì)實(shí)例。

16

C_noJnamelimitCredit_balance

131000)張靜3500)800

131OOO2陳繼軍35002000

2410003李雨莉23802100

2410004劉華東66002000

311004】趙慶民98005800

4110042范建華160004500

41)0812趙慶民

查詢合計(jì)消費(fèi)額不不大于3000顧客姓名以

及剩余消費(fèi)額SQL語句應(yīng)為:

Select(61)

Fromcredit-in

Where(62);

(60)A.C_noB.C_name

C.Credit_balanceD.limit

(61)A.C_name,Credit_balance-limitB.

C_name,limit-Credit_balance

C.C^ameJimitjCredit-balanceD.

C_name,Credit_balance

(62)A.limit>3000B.

Credit_balance>3000

C.limit?Credit_balance>3000D.

Credit_balance-limit>3000

?某一類應(yīng)用問題中,需規(guī)定正比例函數(shù)與

反比例函數(shù)之和極值。例如,正比例函數(shù)4x與

17

反比例函數(shù)9/x之和用f(x)表達(dá),即f(x)=4x+

9/x,(x>0),那么函數(shù)f(x)(63)o

(63)A.沒有極小值B.在x=1時(shí)達(dá)到極大

C.在4x=9/x時(shí)達(dá)到極小值D.極大值是

極小值9/4倍

?某民辦學(xué)校有若干間宿舍準(zhǔn)備安排給一

批女生住。如果每間住3人,則會(huì)有21人無法

安排;如果每間住6人,則最后一間不空也不滿。

依照上述狀況,可以推算出,該學(xué)校有(64)間

宿舍,有(65)名女生需要安排住宿。

(64)A.5B.6C.7D.8

(65)A.45B.42C.39D.36

?安全Web服務(wù)器與客戶機(jī)之間通過(66)

合同進(jìn)行通信。

(66)A.HTTP+SSLB.Telnet+SSL

C.Telnet+HTTPD.HTTP+FTP

?下列Internet應(yīng)用中,傳播層需要采用

UDP合同是(67)o

(67)A.IP電話B.瀏覽Web頁面C.

telnetD.發(fā)送電子郵件

18

?網(wǎng)絡(luò)顧客能進(jìn)行QQ聊天,但在瀏覽器

地址欄中輸入,org卻不能正常訪問該頁面,此時(shí)

應(yīng)檢查(68)o

(68)A.網(wǎng)絡(luò)物理連接與否正常B.DNS服

務(wù)器與否正常工作

C.默認(rèn)網(wǎng)關(guān)設(shè)立與否對(duì)的D.IP地址設(shè)立

與否對(duì)的

?一種HTML文獻(xiàn)起始標(biāo)記為(69)o

(69)A.<body>B.<title>C.<h

tml>D.<meta>

?ARP合同功能是(70)o

(70)A.由目的IP地址求目的MAC地址

B.由目的MAC地址求目的IP地址

C.由源IP地址求源MAC地址

D.由源MAC地址求源IP地址

?Asanoperatingsystemrepeatedly

allocatesandfreesstoragespace,many

physicallyseparatedunusedareasappear.

Thisphenomenoniscalled(71).

(71)A.fragmentationB.compactionC.

swappingD.paging

19

?Todocumentyourcodecanincrease

program(72)andmakeprogrameasier

to(73).

(72)A.reliabilityB.securityC.

readabilityD.usability

(73)A.executeB.interpretC.compile

D.maintain

?Wecanusethewordprocessorto(74)

yourdocuments.

(74)A.editB.computeC.translateD.

unload

?A(75)infectedcomputermayloseits

data.

(75)A.fileB.databaseC.virusD.

program

試題一(共15分)

閱讀如下闡明和流程圖,彌補(bǔ)流程圖中空缺

(1)-(5),將解答填入答題紙相應(yīng)欄內(nèi)。

[闡明]

下面流程圖功能是:在已知字符串A中查

找特定字符串B,如果存在,則輸出B串首字

符在A串中位置,否則輸出?1。設(shè)串A由n

20

個(gè)字符A(0)、A⑴、…、A(n?1)構(gòu)成,串B由

m個(gè)字符B(0)、B⑴、…、B(m?1)構(gòu)成,其中

n>m>Oo在串A中查找串B基本算法如下:從

串A首字符A(0)開始,取子串

A(0)A(1)…A(m-1)與串B比較;若不同,則再取

子串A⑴A(2)…A(m)與串B比較,依次類推。

例如,字符串“CABBRFFD”中存在字符子

串“BRF”(輸出3),不存在字符子串“RFD”(輸出

?1)。

在流程圖中,i用于訪問串A中字符(i=0,

1,n?1),j用于訪問串B中字符(j=0,1,

m-1)o在比較A(i)A(i+D…A(i+m?1)與

B(O)B⑴…時(shí),需要對(duì)A⑴與B(0)>A(i+1)

與B⑴、…、A(i+j)與B(j)、…逐對(duì)字符進(jìn)行比

較。若發(fā)現(xiàn)不同,則需要取下一種子串進(jìn)行比較,

依此類推。

[流程圖]

21

試題二(共15分)

閱讀如下闡明和C程序代碼,將應(yīng)填入(n)

處字句寫在答題紙相應(yīng)欄內(nèi)。

[闡明]

下面C程序代碼功能是:對(duì)于輸入一種正

整數(shù)n(1OO0nvlOOO),先判斷其與否是回文數(shù)

(正讀反讀都同樣數(shù))。若不是,則將n與其反

序數(shù)相加,再判斷得到和數(shù)與否為回文數(shù),若還

不是,再將該和數(shù)與其反序數(shù)相加并進(jìn)行判斷,

依此類推,直到得到一種回文數(shù)為止。例如,278

不是回文數(shù),其反序數(shù)為872,相加后得到

1150還不是回文數(shù),再將1150與其反序數(shù)511

相加,得到1661是回文數(shù)。

22

函數(shù)intisPalm(longm)功能是:將正整數(shù)

m各位數(shù)字取出存入數(shù)組中,然后判斷其與否為

回文數(shù)。若m是回文數(shù)則返回1,否則返回0。

[C程序代碼]

#include

#include

intisPalm(longm)

{/*判斷m與否為回文數(shù)*/

inti=0,k=0;

charstr[32];

while(m>0){/*從個(gè)位數(shù)開始逐個(gè)取出m

各位數(shù)字并存入字符數(shù)組str*/

str[k++]=(1)+'0f;

m=m/10;

)

for(i=0;i<k/2;i++)/*判斷str中k個(gè)數(shù)

字字符序列與否是回文7

if(str[i]!=str[(2)])return0;

return1;

}

intmain()

23

longn,a,t;

printf("inputapositiveinteger:");

scanf("%ld'\&n);

if(n<100||n>=1000)return-1;

while((3)){/*n不是回文數(shù)時(shí)執(zhí)行循環(huán)7

printf("%ld">",n);

for(a=0,t=n;t>0;){/*計(jì)算n反序數(shù)

并存入a*/

a=(4)*10+t%10;t=t/10;

}/*endoffor*/

n=(5);/*與反序數(shù)求和7

}/*endofwhile*/

printfC%ld\nM,n);

system("pause");return0;

)

試題三(共15分)

閱讀如下闡明和C函數(shù),將應(yīng)填入(n)處

字句寫在答題紙相應(yīng)欄內(nèi)。

[闡明]

已知某二叉樹非葉子結(jié)點(diǎn)均有兩個(gè)孩子結(jié)

點(diǎn),現(xiàn)將該二叉樹存儲(chǔ)在構(gòu)造數(shù)組Ht中。結(jié)點(diǎn)

構(gòu)造及數(shù)組Ht定義如下:

24

#defineMAXLEAFNUM30

structnode{

charch;/*當(dāng)前結(jié)點(diǎn)表達(dá)字符,對(duì)于非葉

子結(jié)點(diǎn),此域不用7

char*pstr;/*當(dāng)前結(jié)點(diǎn)編碼指針,非葉子

結(jié)點(diǎn)不用7

intparent;/*當(dāng)前結(jié)點(diǎn)父結(jié)點(diǎn),為。時(shí)表

達(dá)無父結(jié)點(diǎn)7

intlchild,rchild;

/*當(dāng)前結(jié)點(diǎn)左、右孩子結(jié)點(diǎn),為。時(shí)表達(dá)無

相應(yīng)孩子結(jié)點(diǎn)7

};

structnodeHt[2*MAXLEAFNUM];/*數(shù)

組元素Ht[O]不用7

該二叉樹n個(gè)葉子結(jié)點(diǎn)存儲(chǔ)在下標(biāo)為1?

nHt數(shù)組元素中。例如,某二叉樹如圖3-1所示,

其存儲(chǔ)構(gòu)造如圖3?2所示,其中,與葉子結(jié)點(diǎn)a

相應(yīng)數(shù)組元素下標(biāo)為1,a父結(jié)點(diǎn)存儲(chǔ)在Ht[5],

表達(dá)為Ht[1].parent=5oHt[7].parent=0表達(dá)

7號(hào)結(jié)點(diǎn)是樹根,Ht[7].lchild=3>

Ht[7].rchild=6分別表達(dá)7號(hào)結(jié)點(diǎn)左孩子是3

號(hào)結(jié)點(diǎn)、右孩子是6號(hào)結(jié)點(diǎn)。

25

圖3“二叉樹示意圖

下標(biāo)ChparentIdhildrchild

-^L500

「在甚敦

寫2o0

u—ijiy?<

3c00

4d600

561?)

6754

703;6

圖3-2結(jié)構(gòu)數(shù)批出論咨兀3幽

如果用“0”或“1”分別標(biāo)記二叉樹左分支和

右分支(如圖3-1所示),從根結(jié)點(diǎn)開始到葉子結(jié)

點(diǎn)為止,按所通過度支順序?qū)⑾鄳?yīng)標(biāo)記依次排

列,可得到一種0、1序列,稱之為相應(yīng)葉子結(jié)

點(diǎn)編碼。例如,圖3?1中a、b、c、d編碼分別

是100、是1、是11o

函數(shù)LeafCode(Ht[],n)功能是:求解存儲(chǔ)在

Ht中二叉樹中所有葉子結(jié)點(diǎn)(n個(gè))編碼,葉子結(jié)

點(diǎn)存儲(chǔ)在Ht[1]?Ht[n]中,求出編碼存儲(chǔ)區(qū)由相

應(yīng)數(shù)組元素pstr域批示。

26

函數(shù)LeafCode從葉子到根逆向求葉子結(jié)

點(diǎn)編碼。例如,對(duì)圖3?1中葉子結(jié)點(diǎn)a求編碼過

程如圖3-3所示。

圖3-3從葉子到根求結(jié)點(diǎn)編碼示意圖

typedefenumStatus{ERROR,OK}

Status;

[函數(shù)]

StatusLeafCode(structnodeHt[],intn)

(

intpc,pf;/*pc用于指出樹中結(jié)點(diǎn),pf則

指出pc所相應(yīng)結(jié)點(diǎn)父結(jié)點(diǎn)7

inti,start;

chartstr[31]={'\0'};/*暫時(shí)存儲(chǔ)給定葉子

結(jié)點(diǎn)編碼,從高下標(biāo)開始存入7

for(i=1;(1);i++){/*對(duì)所有葉子結(jié)點(diǎn)求編

碼,i表達(dá)葉結(jié)點(diǎn)在HT數(shù)組中下標(biāo)7

start=29;

27

pc=i;pf=Ht[i].parent;

while(pf!=(2)){/*沒有到達(dá)樹根時(shí),繼續(xù)

求編碼7

if((3).Ichild==pc)/*pc所示結(jié)點(diǎn)是其父

結(jié)點(diǎn)左孩子7

tstr[-start]='O';

else

tstr[-start]=T;

pc=(4);pf=Ht[pf].parent;/*pc和pf

分別向根方向回退一層7

}/*endofwhile*/

Ht[i].pstr=(char*)malloc(31-start);

if(!Ht[i].pstr)returnERROR;

strcpy(Ht[i].pstr,(5));

}/*endoffor*/

returnOK;

}/*endofLeafCode*/

試題四(共15分)

閱讀如下闡明和C函數(shù)代碼,回答問題并

將解答寫在答題紙相應(yīng)欄內(nèi)。

[闡明]

知名菲波那契數(shù)列定義式為

28

f1=1f2=1fn=fn-1+fn-2(n=3,4,…)

因而,從第1項(xiàng)開始該數(shù)列為

1,1,2,3,5,8,13,21,...o函數(shù)fib1和fib2分別

用遞歸方式和迭代方式求解菲波那契數(shù)列第n

項(xiàng)(調(diào)用fib1、fib2時(shí)可保證參數(shù)n獲得一種正

整數(shù))。

[C函數(shù)代碼]

‘二二11在線教肯

/國呵呼明n

if(n<=2)

return1;

else

iibl(n)=fibl(n-l)-fibl(n-2);

I0

學(xué)費(fèi)n?在線教育

[問題1](6分)

函數(shù)fib1和fib2存在錯(cuò)誤,只需分別修改

其中一行代碼即可改正錯(cuò)誤。

⑴函數(shù)fib1不能通過編譯,請(qǐng)寫出fib1中

錯(cuò)誤所在行修改對(duì)的后完整代碼;

(2)函數(shù)fib2在n<2時(shí)不能獲得對(duì)的成果,

請(qǐng)寫出fib2中錯(cuò)誤所在行修改對(duì)的后完整代碼。

[問題2](3分)

29

將函數(shù)fib1和fib2改正后進(jìn)行測(cè)試,發(fā)現(xiàn)

前46項(xiàng)都對(duì)的,而第47項(xiàng)值是一種負(fù)數(shù),請(qǐng)

闡明因素。

[問題司(6分)

函數(shù)fib1、fib2求得菲波那契數(shù)列第n項(xiàng)

(n>40)速度并不相似,請(qǐng)指出速度慢函數(shù)名,并

簡要闡明因素。

試題五(共15分)

閱讀如下應(yīng)用闡明、屬性設(shè)立以及Visual

Basic程序代碼,將解答寫在答題紙對(duì)

應(yīng)欄內(nèi)。

[應(yīng)用闡明]

本應(yīng)用運(yùn)營時(shí),由顧客輸入一種正整數(shù)n后

自動(dòng)產(chǎn)生n個(gè)正整數(shù),然后按照顧客指定規(guī)定對(duì)

該組數(shù)進(jìn)行解決。該應(yīng)用運(yùn)營界面如下圖所示:

1.窗體中有兩個(gè)文本框(txtSrc,txtObj)、

兩個(gè)標(biāo)簽(IblSrc,IblObj)、三個(gè)命令按鈕

30

(cmdGendat,cmdProc,cmdQuit)和一種彈

出式菜單(procMenu,初始時(shí)不可見)。

2.文本框txtSrc(由標(biāo)簽IblSrc提示)用于顯

示產(chǎn)生數(shù)據(jù),文本框txtObj(由標(biāo)簽IblObj提示)

用于顯示解決成果,規(guī)定每行顯示一種整數(shù)。

3.程序啟動(dòng)時(shí),命令按鈕cmdProc(運(yùn)算規(guī)

定)不可用。點(diǎn)擊命令按鈕cmdGendat(產(chǎn)生數(shù)

據(jù))后,提示顧客輸入一種n值并生成n個(gè)正整

數(shù)存入數(shù)組元素a(1)?a(n),然后將數(shù)據(jù)逐行顯

示在txtSrc中,并設(shè)立命令按鈕cmdProc可用。

4.點(diǎn)擊命令按鈕cmdProc(運(yùn)算規(guī)定)后彈

出菜單。選取菜單項(xiàng)并單擊后,進(jìn)行相應(yīng)解決并

將成果顯示在txtObj中,同步將IblObj標(biāo)題改

為該菜單項(xiàng)表達(dá)解決命令。

彈出式菜單“運(yùn)算規(guī)定”構(gòu)造如下表所示:

標(biāo)題名稱

層次

運(yùn)算規(guī)定procMenu

1

31

排序Sorting

2

遞增排列Ascend

3

遞減排列Descend

3

找特殊數(shù)SpecNum

2

中位數(shù)MidNum

3

求均數(shù)AvgNum

3

一種整數(shù)序列中位數(shù)指對(duì)該序列進(jìn)行非遞

減(增)排列后最中間位置上元素。若序列長度為

偶數(shù),則取中間兩個(gè)元素平均值為其中位數(shù)。

[屬性設(shè)立]

為實(shí)現(xiàn)單擊命令按鈕cmdProc后彈出

“運(yùn)算規(guī)定”菜單(procMenu),設(shè)計(jì)時(shí)需將

procMenu(1)屬性設(shè)立成false。

供⑴選取屬性:DefaultEnabled

ScaleModeStyleVisible從下列3道試題(試

32

題五至試題七)中任選1道解答。如果解答試題

數(shù)超過1道,則題號(hào)小1道解答有效。

[VisualBasic程序代碼]

Dima()AsInteger,nAsInteger

PrivateSubForm_Load()

txtSrc.Text=txtObj.Text=(2)=

False

EndSub

PrivateSubcmdGendat_Click()'生成正

整數(shù)序列并存入數(shù)組a

OnErrorGoToError_handler

n=lnputBox$(”請(qǐng)輸入數(shù)組元素個(gè)數(shù):",

”輸入序列長度”)

If(n<1)Then

MsgBox”輸入數(shù)據(jù)錯(cuò)誤!'vbOKOnly,“

提示:“

GoToError_handler:

EndIf

ReDima(n)AsInteger

s=

Fori=1Ton,將生成正整數(shù)存入a(1)-a(n)

33

a(i)=lnt(Rnd*10000):s=s&Str$(a(i))

&vbCrLf

Next

txtSrc.Text=s

(3廠設(shè)立運(yùn)算規(guī)定命令按鈕可用

Error_handler:

EndSub

PrivateSubcmdProc_Click()

PopupMenuprocMenu

EndSub

PrivateSubMidNum_Click()'求中位數(shù)

IblObj.Caption=MidNum.Caption&

Fori=1Toround((n+1)⑵'用選取排序

法對(duì)數(shù)組a進(jìn)行某些排序

a(0)=a(i):k=i'a(0)用作暫時(shí)變量,暫存

第i次選出最小元素

Forj=i+1Ton

Ifa(j)<a(0)Then

a(0)=a⑴:k=(4)

EndIf

Next

Ifk<>iThen

34

a(k)=a(i):a(i)=a(0)

EndIf

Next

Ifn/2-n\2>0Then*n為奇數(shù)時(shí),取中

間一種數(shù)

txtObj.Text=Str$(a((5)))

日se,n為偶數(shù)時(shí),取中間兩個(gè)數(shù)平均值

txtObj.Text=Str$(lnt((a(n\2)+a(n\2+

1))/2))

EndIf

EndSub

'其她代碼略

試題六(共15分)

閱讀如下闡明和C++代碼,將應(yīng)填入(n)

處字句寫在答題紙相應(yīng)欄內(nèi)。

[闡明]

C++原則模板庫中提供了vector模板類,

可作為動(dòng)態(tài)數(shù)組使用,并可容納任意數(shù)據(jù)類型,

其所屬命名空間為stdovector模板類某些辦法

闡明如下表所示:

辦法含義

push_back(k向vector對(duì)象尾部添加一種元

35

)素k

begin()返回一種迭代器對(duì)象,該對(duì)象指

向vector中第一種元素

end()返回一種迭代器對(duì)象,該對(duì)象指

向vector中最后一種元素

empty()測(cè)試vector對(duì)象與否為空

erase(ptr)刪除vector中ptr指向

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論