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