一、選擇題
(1)A
解析: 線性表是一種線性結(jié)構(gòu),數(shù)據(jù)元素在線性表中的位置只取決于它們自己的序號,即數(shù)據(jù)元素之間的相對位置是線性的;棧、隊列、線性鏈表實際上也是線性表,故也是線性結(jié)構(gòu);樹是一種簡單的非線性結(jié)構(gòu)。
(2)C
解析: 循環(huán)鏈表就是將鏈表的最后一個結(jié)點指向鏈表頭結(jié)點(或第一個結(jié)點),即p->next=head。
(3)B
解析: 當(dāng)數(shù)據(jù)表A中每個元素距其最終位置不遠(yuǎn),說明數(shù)據(jù)表A按關(guān)鍵字值基本有序,在待排序序列基本有序的情況下,采用插入排序所用時間最少,故答案為選項B)。
(4)A
解析: 程序設(shè)計應(yīng)該簡單易懂,語句構(gòu)造應(yīng)該簡單直接,不應(yīng)該為提高效率而把語句復(fù)雜化。
(5)A
解析: 結(jié)構(gòu)化分析的常用工具有數(shù)據(jù)流圖、數(shù)據(jù)字典、判定樹和判定表。而PAD圖是常見的過程設(shè)計工具中的圖形設(shè)計。
(6)D
解析: 軟件需求是指用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計約束等方面的期望。
(7)D
解析: 需求分析中的常用工具有PAD、PFD及N-S等,而DFD(數(shù)據(jù)流圖)為結(jié)構(gòu)化分析工具。
(8)C
解析: 此題屬于記憶性的題目,NULL是指未知的值或無任何值。
(9)C
解析: 一旦數(shù)據(jù)庫中的數(shù)據(jù)遭受破壞,需要及時進行恢復(fù),RDBMS一般都提供此種功能,并由DBA負(fù)責(zé)執(zhí)行故障恢復(fù)功能。
(10)C
解析: 數(shù)據(jù)模型所描述的內(nèi)容有3個部分,它們是數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)約束。其中,數(shù)據(jù)模型中的數(shù)據(jù)結(jié)構(gòu)主要描述數(shù)據(jù)的類型、內(nèi)容、性質(zhì),以及數(shù)據(jù)庫的聯(lián)系等;數(shù)據(jù)操作主要是描述在相應(yīng)數(shù)據(jù)結(jié)構(gòu)上的操作類型與操作方式。
(11)B
解析: 面向?qū)ο蟪绦蛟O(shè)計的主要特征是繼承性,封裝性和信息隱藏,多態(tài)性。
(12)B
解析: C++語言是對C語言進行了擴充,繼承了它的語法,并增加了面向?qū)ο蟮脑O(shè)計方法。
(13)C
解析: 根據(jù)混合運算規(guī)則,如果有一個數(shù)據(jù)是double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運算的結(jié)果最終也是double型。為保證精度的不丟失,表達式的數(shù)據(jù)類型是變量和常量中精確度最高的變量類型。
(14)D
解析: 邏輯運算符"||"表示或的意思。
(15)B
解析: 該題是一個for循環(huán)嵌套語句。第一層for循環(huán)循環(huán)2次,第二層循環(huán)3次,但當(dāng)j等于0和1時,將執(zhí)行continue語句,不執(zhí)行x++運算,所以每次執(zhí)行完內(nèi)循環(huán)后,x的增量為1。最后一個x++運算將每次累加起來就是x的值。
(16)C
解析: 本題考查簡單的if…else語句。先執(zhí)行條件if(a (17)D
解析: C++語言規(guī)定了一個字符串結(jié)束標(biāo)志,以字符′\0′代表,在遇到′\0′時,表示字符串結(jié)束,由它前面的字符組成字符串。
(18)D
解析: 本題考查字符串?dāng)?shù)組和指針的引用方式。在C++語言中,系統(tǒng)在每個字符串或數(shù)組的最后自動加入一個字符′\0′,作為字符的結(jié)束標(biāo)志,在本題中,char a[]="It is mine";所表示的a字符串實際含有11個字符。
(19)B
解析: 在C++語言中,調(diào)用函數(shù)不可能改變實參指針變量的值,但可以改變實參指針變量所指變量的值。了解了實參指針變量的改變情況,本題只剩下簡單的"加減法"了。
(20)D
解析: 本題中直接使用指針變量k,但在使用時要注意對k的指針運算,此外,一開始應(yīng)認(rèn)為*k的值為數(shù)組中的某一下標(biāo)值,即*k=0。