當前位置:學者齋 >

計算機 >計算機二級 >

2015下半年全國計算機二級C++考試考前練習題答案及解析

2015下半年全國計算機二級C++考試考前練習題答案及解析

  一、選擇題

2015下半年全國計算機二級C++考試考前練習題答案及解析

(1)C

【命題目的】考查考生對數據結構分類的理解。

【解題要點】根據數據結構中各數據元素之間前後件關係的複雜程序,一般將數據結構分為兩大類:線性結構和非線性結構。線性結構是指滿足以下兩個條件的非空的數據結構:一是有且只有一個根結點,二是每一個結點最多有一個前件,也最多有一個後件。如是一個數據結構不是線性結構,則稱為非線性結構。

【考點鏈接】數據結構的各種分類方法及標準。

(2)B

【命題目的】本題考查二叉樹的基本概念及其基本性質。

【解題要點】按照題目的要求可得到滿足條件的二叉樹,如下圖所示:

故該二叉樹中總的結點個數為13。

(3)D

【命題目的】要求考生對幾種排序方法的實現機制有充分的理解。

【解題要點】快速排序的基本思想是,通過一趟排序將待排序記錄分割成獨立的兩部分,其中一部分記錄的關鍵字均比另一部分記錄的關鍵字小,再分別對這兩部分記錄繼續進行排序,以達到整個序列有序;插入排序的基本操作是指將無序序列中的各元素依次插入到已經有序的線性表中,從而得到一個新的序列;選擇排序的基本思想是:掃描整個線性表,從中選出最小的元素,將它交換到表的最前面(這是它應有的位置),然後對剩下的子表採用同樣的方法,直到表空為止;歸併排序是將兩個或兩個以上的有序表組合成一個新的有序表。

【考點鏈接】各種排序方法實現過程及實現機制。

(4)B

【命題目的】本題考查了結構化程序設計的原則。

【解題要點】結構化程序設計方法的主要原則可以概括為以下4個方面,即自頂向下、逐步求精、模塊化及限制使用goto語句。

(5)B

【命題目的】掌握軟件調試技術的方法。

【解題要點】調試的關鍵在於推斷程序內部的錯誤位置及原因。主要的調試方法有強行排錯法、回溯法和原因排除法。

【考點鏈接】軟件調試的各種方法及各種方法的區別。

(6)B

【命題目的】本題考查了幾種常用的算法描述工具及其基本知識。

【解題要點】常見的過程設計工具有:程序流程圖、N-S圖、PAD圖和HIPO圖。其中,為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替傳統的程序流程圖,通常也把這種圖稱為N-S圖。

【考點鏈接】其他常用算法描述工具的概念。

(7)B

【命題目的】記憶軟件複雜性度量的參數。

【解題要點】定量度量方法是程序複雜程度經常使用的方法,把程序的複雜程度乘以適當參數即可估算出軟件中錯誤的數量以及軟件開發需要用的工作量,定量度量的結果可以用來比較兩個不同設計或兩個不同算法的優劣,程序的定量的複雜程度可作為模塊規模的精確限度,因而軟件複雜性度量的參數包括規模。

【考點鏈接】軟件複雜性度量的方法及各種度量參數的作用。

(8)B

【命題目的】本題考查數據庫系統的基礎知識 -- 數據庫系統的組成部分。

【解題要點】數據庫系統(Database System,簡稱DBS)由如下幾部分組成,即數據庫、數據庫管理系統、數據庫管理員、硬件和軟件。

(9)B

【命題目的】考查對數據庫系統各方面之間的關係。

【解題要點】數據庫管理系統是對數據庫進行管理和對數據庫進行操作的管理系統,它是建立在操作系統基礎之上的,位於操作系統和用户之間的一層數據管理軟件,負責對數據庫的數據進行統一的管理和控制,它是實現數據庫和管理數據庫的核心。

【考點鏈接】數據庫系統各方面之間的關係及相互作用。

(10)B

【命題目的】本題主要考查了數據庫概念設計中,視圖設計的基本概念。

【解題要點】視圖設計一般有3種設計次序,它們分別是自頂向下、自底向上和由內向外,它們又為視圖設計提供了具體的操作方法,設計者可根據實際情況靈活掌握,可以單獨使用也可混合使用。

【考點鏈接】數據庫概念設計的過程:首先選擇局部應用,再進行局部視圖設計,最後對局部視圖進行集成得到概念模式。

(11)D

【命題目的】C++語言關鍵字的概念。

【解題要點】關鍵字是C++語言中預先定義並實現一定功能的一類單詞,它不是由用户定義的,它是一種功能性單詞。

【考點鏈接】注意關鍵字不能用做用户標識符。

(12)B

【命題目的】關於C++語言中函數的基本概念。

【解題要點】C++語言中函數在被調用以前必須先被聲明,主函數是程序的入口函數,用户定義的函數是可以被重複調用的,C++語言中面向對象程序設計的基本組成單元是類。

【考點鏈接】主函數可以放在程序中的任何位置。

(13)A

【命題目的】C++語言運算符的使用。

【解題要點】C++語言規定:取餘運算符的運算對象必須是整型,複合運算符"%="中包含%運算,它的運算對象也必須是整型。

(14)D

【命題目的】考查C++語言中的轉義字符。

【解題要點】在C++語言中退格符表示為b退格。

【考點鏈接】其他轉義字符的意義:n表示回車換行,t表示橫向跳到下一製表位置,v表示豎向跳格,r表示回車,f表示走紙換頁,表示反斜線符,a表示鳴鈴,

ddd1~3位表示八進制數所代表的字符,xhh1~2位表示十六進制數所代表的字符。

(15)D

【命題目的】關於C++語言中邏輯運算符的考查。

【解題要點】在C++語言中,邏輯運算符有4個,它們分別是!(邏輯非)、||(邏輯或)、&&(邏輯與)、^(異或)。在位運算裏面還有&(位與)、|(位或)的運算。本題考查邏輯與運算符的用法,在語句x=(a&&b)&&(c<′B′);中,先判斷a&&b條件,邏輯與條件的兩邊都要保證為1,即a和b都成立,當然c<′B′是成立的,顯然,該表達式的值為1。

(16)B

【命題目的】考查C++語言中while語句的應用

【解題要點】該題目應該根據循環體第一次和最後一次執行時的輸出結果來決定哪一項是正確的。第一次進入循環時,n的值是9,循環體內,先經過n--運算,n的值變為8,所以第一次的輸出值是8,由此可以排除選項A)和D)。由循環條件n>6可以知道,最後一次循環開始時,n的值應該為7,所以最後一次執行循環體時輸出為6,由此可以排除C)。

【考點鏈接】while與do-while的區別。

(17)A

【命題目的】本題考查對指針數組的掌握。

【解題要點】指針數組的定義、賦初值、數組元素的引用與賦值等操作和一般數組的處理方法基本相同。需要注意指針數組是指針類型的,對其元素所賦的值必須是地址值。其格式是"存儲類型數據類型*指針數組名1[長度1]={初值1},功能是定義指向"數據類型"變量或數組的指針型數組,同時給指針數組元素賦初值。這些指針變量具有指定的"存儲類型"。本題中指針*p指向數組a,表達式*(p+3)+=4的含義是*(p+3)= *(p+3)+4,而*(p+3)在數組中指向的值為9,最後輸出的結果為9+4=13。

【考點鏈接】一個語句的結束要有分號。

(18)D

【命題目的】C++語言中字符串的賦值。

【解題要點】C++語言中操作一個字符串常量的方法有:①把字符串常量存放在一個字符數組之中;②用字符指針指向字符串, 然後通過字符指針來訪問字符串存貯區域。當字符串常量在表達式中出現時, 根據數組的類型轉換規則, 它被轉換成字符指針。本題D)項中錯誤的關鍵是對數組初始化時,可以在變量定義時整體賦初值,但不能在賦值語句中整體賦值。

(19)C

【命題目的】數據類型的默認轉換。

【解題要點】本題中,先將x轉換為浮點型再與3.8相加,得到結果與5.0相除。最後將得到的結果去掉小數位化成整型數據賦給y。另外,值得注意的是,整型、實型、字符型數據間可以混合運算。在進行運算時,不同類型的數據先轉換成同一類型,然後再進行運算。

【錯解分析】如果認為執行y=(x+3.8)/5.0後y的值為1是錯誤的,此時y的值為0。

【考點鏈接】x為int型,將1.2賦值給x時,x的值為1。

(20)B

【命題目的】本題考查了函數的遞歸調用的應用。

【解題要點】在main函數中,對f(1)和f(2)的值進行了累加。過程如下:

f(1)=1

f(2)=f(1)+1=2

最後,j的值為1+2=3。

【考點鏈接】函數的遞歸調用需要有一個結束的條件。

  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-hk/jsj/erji/mx4jmw.html