<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            試題

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

            時間:2025-01-30 16:40:58 試題 我要投稿
            • 相關推薦

            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。

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

              (21)C

              【命題目的】考查C++語言中類定義的結束符號。

              【解題要點】C++語言中類定義的結束符號是分號。

              【考點鏈接】函數的定義不需要分號。

              (22)B

              【命題目的】考查C++語言中類定義用它自己定義數據的方法。

              【解題要點】C++語言中類定義中若想用該類來定義數據只能定義為指針類型的,而不能定義為普通類型的。

              【考點鏈接】C++語言類的定義的方法

              (23)B

              【命題目的】關于C++語言基類中虛函數的繼承問題。

              【解題要點】C++語言中基類的虛函數是可以被派生類繼承的。

              【考點鏈接】虛函數和純虛函數的區別。

              (24)C

              【命題目的】C++語言中繼承中的賦值問題。

              【解題要點】C++語言中基類的構造函數是可以被派生類繼承并賦值的。

              【考點鏈接】構造函數和析構函數均無返回值。

              (25)A

              【命題目的】考查C++語言中操作符重載中成員函數重載和友元函數重載的不同。

              【解題要點】成員函數和友元函數可重載的運算符有些相同的,有些是不同的,友元函數沒有this指針,二者重載相同運算符時的參數肯定是不同的,成員函數重載運算符時都必須聲明為公有的。

              【考點鏈接】友元函數的聲明關健字是friend。

              (26)A

              【命題目的】考查C++語言中運算符重載。

              【解題要點】C++語言中運算符重載中只能用友元函數重載的運算符是<<和>>。

              (27)A

              【命題目的】考查C++語言中數組初始化問題。

              【解題要點】如果定義數組時沒有進行初始化,則其各個成員的值不確定。

              【考點鏈接】使用數組時應先賦初值。

              (28)A

              【命題目的】考查C++語言中格式控制標志。

              【解題要點】C++語言中默認小數的輸出位一共是六位,fixed的意義是在小數點后保留六位,scientific的意義是以科學計數法輸出小數,本題中,100.8989663的默認輸出就是100.899,fixed輸出是 100.898966,scientific輸出是1.008990e+002。

              【考點鏈接】C++語言中的小數輸出及各種控制方法。

              (29)D

              【命題目的】字符串指針的考查。

              【解題要點】C++語言規定,如果指針變量q已指向數組中的一個元素,則q++指向同一數組中的下一個元素(而不是將q的值簡單的加1)。本題中q是long型指針,每個long型數據占內存字節數為4,所以q++則由當前位置向右移動4個字節,所以最后顯示出的是 efgh。

              【考點鏈接】請注意*(p++)與(*p)++的區別。

              (30)A

              【命題目的】字符串指針的考查。

              【解題要點】字符z的ASCII碼值為122,經過c-25運算后,得97。

              【考點鏈接】C++語言中,字符也可參與算術運算,運算時用的是字符的ASCII碼值。

              (31)B

              【命題目的】考查結構體的用法。

              【解題要點】:C++語言規定數組名代表數組的首地址,也就是第0號元素的地址,在本題中s就是s[0]的地址,指針變量p指向s,也就是指向s[0],所以在for循環累加的是s[0]的score成員值。

              【考點鏈接】注意結構體與類的區別。

              (32)C

              【命題目的】數據成員內存的占用。

              【解題要點】本題中,格式符0表示的是八進制無符號形式輸出整型數(不帶前導0),字符常量在內存中占一個字節,存放的是ACSII碼代碼值。C++語言規定,所有字符常量都作為整型量來處理,在計算機內部,其對應的整數值就是ACSII字符集中該字符的序號。

              【考點鏈接】for循環的次數就是字符串\ta\018bc的長度。

              (33)B

              【命題目的】本題考查帶參數的宏定義及應用方法,這種宏不只是進行字符串的替換,還要進行參數的替換。

              【解題要點】格式為:#define 宏名(參數表) 字符串

              本題的替換過程是sun=x+y+z*y+z,將其各值帶入即可。

              【考點鏈接】注意在替換的過程不要隨意加入括號。

              (34)A

              【命題目的】函數傳參的方式。

              【解題要點】本題函數fun中形參是兩個指針變量,函數fun只是將這兩個指針的指向的地址交換了一下而并沒有交換它們所指向的地址中的數據。雖然,主函數中聲明的變量a,b是整型變量而函數fun中的形參是兩個指針變量,這兩個變量僅僅是兩個參數,與主函數中的那兩個變量含義是不同的。

              【考點鏈接】采用指針或引用可將值交換。

              (35)D

              【命題目的】考查static的用法和意義。

              【解題要點】對函數的靜態局部變量是在編譯時就賦初值,即只賦初值一次,在程序運行時它已有初值,以后每次調用函數時不再重新賦值,而只是保留上次函數調用結束時的值。

              【考點鏈接】靜態函數只能用靜態變量。

              二、填空題

              (1)時間復雜度和空間復雜度

              【命題目的】本題考查了考生對算法的理解程度。

              【解題要點】算法的復雜性是指對一個在有限步驟內終止算法和所需存儲空間大小的估計。算法的計算量是算法的時間復雜性,算法所需存儲空間大小是算法的空間復雜性。

              【考點鏈接】算法的各種屬性及其相互作用。

              (2)存儲結構

              【命題目的】本題考查了數據結構所包括的幾個方面。

              【解題要點】數據結構包括3個方面,即數據的邏輯結構、數據的存儲結構及對數據的操作運算。

              【考點鏈接】數據結構包含的3個方面及各方面之間的關系。

              (3)對象類

              【命題目的】本題考查了對象的一些基本特征。

              【解題要點】類描述的是具有相似性質的一組對象;把具有相同屬性的一些不同對象歸為類,我們稱之為對象類。

              (4)過程

              【命題目的】本題考查軟件工程的3要素。

              【解題要點】軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項目的基礎上的技術手段;工具支持軟件的開發、管理、文檔生成;過程支持軟件開發的各個環節的控制、管理。

              【考點鏈接】軟件工程的3個要素及各要素的作用。

              (5)實體完整性

              【命題目的】掌握關系的完整性約束。

              【解題要點】關系的完整性約束指關系的某種約束條件,包括實體完整性、參照完整性和用戶定義的完整性。其中,前兩種完整性約束由關系數據庫系統自動支持。

              【考點鏈接】關系的各種性質。

              (6)下劃線

              【命題目的】考查C++語言的標識符的正確性。

              【解題要點】C++語言標識符只能由數字,字母和下劃線組成,并且只能以字母和下劃線為開頭。

              【考點鏈接】C++中的關鍵字不能用作標識符。

              (7)2

              【命題目的】C++存儲字符串與字符的不同。

              【解題要點】計算機存儲一個字符用1個字節,存儲字符串時,每個字符占用1個字節,另在字符串的有效字符之后存儲1個字符串的結束標記符′\0′。

              【考點鏈接】如用戶不指定加入結束標記符′\0′,則系統會自動加入結束標記符′\0′。

              (8)*(str+i)`str[i]

              【命題目的】考查字符串指針。

              【解題要點】str是指針變量,它指向字符型數據,在循環過程中,可以用 *(str+i)來訪問字符串中的第i個元素,判斷是否是結束標志,如果不是,i=i+1,繼續取下一個元素進行判斷,直到 *(str+i)的值為′\0′為止,也可以用下標的方式引用字符,如*(str+i)相當于str[i]。

              【考點鏈接】C++中字符串指針的相關問題。

              (9)0~for(i=0;i  【命題目的】for循環的使用方法。

              【解題要點】本題中直接使用指針變量k,但在使用時要注意對k的指針運算,此外,一開始應認*k的值為數組中的某一下標值,即*k=0。

              【考點鏈接】本題采用冒泡法查找一次。

              (10)類的成員對象

              【命題目的】C++類中成員對象初始化的順序問題。

              【解題要點】C++中類的成員對象比類的對象先初始化。

              (11)cc.B::show();

              【命題目的】關于C++中用加域名解決二義性的方法。

              【解題要點】class A中有show()函數,class B中也有show()函數,class C繼承了class A和class B,產生二義性,這時C的對象cc必須用域名來確定調用的是哪個show函數,因為答案是1 1,所以要加域名B::。

              【考點鏈接】C++中二義性的解決方法。

              (12)0~1

              【命題目的】考查C++中運算符重載中用成員函數和友元函數重載。

              【解題要點】C++中友元函數重載一元運算符要有一個參數,重載二元運算符要有兩個參數,而用成員函數重載時,重載一元運算符沒有參數,重載二元運算符要有一個參數。

              (13)T1 A(T1 a){return ++a;}

              【命題目的】C++中函數模板的定義。

              【解題要點】通過兩個實例知道該例中只有一種數據類型,所以在定義模板時只需定義一個模板參數T1。

            【下半年全國計算機二級C++考試考前練習題答案及解析】相關文章:

            全國計算機二級考試C++備考試題及答案解析10-12

            2015下半年全國計算機二級C++考試考前練習題11-12

            2017計算機二級C++考前練習題及答案09-11

            2017計算機二級C++考前練習題及答案09-27

            2015下半年全國計算機考試二級C++預測卷答案及解析10-05

            2015下半年全國計算機二級C++預測題答案及解析09-04

            全國計算機二級考試C++精選試題及答案08-17

            2015下半年全國計算機等級考試二級C++模擬試題答案及解析05-26

            下半年全國計算機二級C++考試模擬題及答案06-27

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院