2012年3月全國計算機等級考試二級C++筆試模擬試題(三)

字號:

一、選擇題
    在下列各題的A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
    (1)最簡單的交換排序方法是
    A)快速排序
    B)選擇排序
    C)堆排序
    D)冒泡排序
    (2)棧通常采用的兩種存儲結(jié)構(gòu)是
    A)線性存儲結(jié)構(gòu)和鏈表存儲結(jié)構(gòu)
    B)散列方式和索引方式
    C)鏈表存儲結(jié)構(gòu)和數(shù)組
    D)線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)
    (3)線性表的順序存儲結(jié)構(gòu)和線性表的鏈式存儲結(jié)構(gòu)分別是
    A)順序存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu)
    B)隨機存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu)
    C)隨機存取的存儲結(jié)構(gòu)、隨機存取的存儲結(jié)構(gòu)
    D)任意存取的存儲結(jié)構(gòu)、任意存取的存儲結(jié)構(gòu)
    (4)完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測試用例的測試方法是
    A)黑箱測試法
    B)白箱測試法
    C)錯誤推測法
    D)安裝測試法
    (5)在結(jié)構(gòu)化設(shè)計方法中,生成的結(jié)構(gòu)圖(SC)中,帶有箭頭的連線表示
    A)模塊之間的調(diào)用關(guān)系
    B)程序的組成成分
    C)控制程序的執(zhí)行順序
    D)數(shù)據(jù)的流向
    (6)下列選項中,不屬于模塊間耦合的是
    A)數(shù)據(jù)耦合
    B)同構(gòu)耦合
    C)異構(gòu)耦合
    D)公用耦合
    (7)一個關(guān)系中屬性個數(shù)為1時,稱此關(guān)系為
    A)對應(yīng)關(guān)系
    B)單一關(guān)系
    C)一元關(guān)系
    D)二元關(guān)系
    (8)為用戶與數(shù)據(jù)庫系統(tǒng)提供接口的語言是
    A)高級語言
    B)數(shù)據(jù)描述語言(DDL)
    C)數(shù)據(jù)操縱語言(DML)
    D)匯編語言
    (9)相對于數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和
    A)可重用性差
    B)安全性差
    C)非持久性
    D)冗余性
    (10)需求分析階段的任務(wù)是確定
    A)軟件開發(fā)方法
    B)軟件開發(fā)工具
    C)軟件開發(fā)費用
    D)軟件系統(tǒng)功能
      ?。?1)以下哪個特征不是面向?qū)ο笏枷胫械闹饕卣鳎?BR>    A)多態(tài)
    B)繼承
    C)封裝
    D)垃圾回收
    (12)以下哪個不是C++語言中的有效標(biāo)識符?
    A)34a
    B)_AB
    C)A_B
    D)A25
    (13)C++中運算符優(yōu)先級由高到低排列正確的是
    A):: ++ + ||
    B)< * || ,
    C)sizeof % + ::
    D), && new sizeof
    (14)下面程序的運行結(jié)果是
    #include"iostream.h"
    #define sum(a,b)a*b
    void main()
    { int x;
    x=sum(1+2,3);
    cout<  }
    A)0
    B)9
    C)7
    D)5
    (15)以下for語句中不是死循環(huán)的是
    A)for(int i=0;i<1;++i);
    B)for(int i=0;;++i);
    C)for(int i=1;i>0;++i);
    D)for( ; ; );
    (16)關(guān)于continue語句敘述不正確的是
    A)continue語句用于循環(huán)體中,結(jié)束循環(huán)
    B)continue語句用于循環(huán)體中,它使執(zhí)行流跳出循環(huán)體中尚未執(zhí)行的語句,并進行下一循環(huán)判斷
    C)continue可以用于if語句中
    D)continue語句不能代替break語句
    (17)以下定義數(shù)組中錯誤的是
    A)int a[10];
    B)int a[2][20];
    C)int a[20][ ];
    D)int a[];
    (18)下面程序的執(zhí)行結(jié)果是
    #include"iostream.h"
    void main()
    { int *p,r;
    p = new int;
    *p = 20;
    r=sizeof(*p);
    cout<  delete p;
    }
    A)程序錯誤
    B)內(nèi)存為20地址的大小
    C)20
    D)4
    (19)下面程序錯誤的語句是
    #include "iostream.h"
    ① void main()
    ② {
    ③ int A = 0;
    ④ int & B;
    ⑤ B = A;
    ⑥ cout << B;
    ⑦ cout << A;
    ⑧ }
    A)②
    B)③
    C)④
    D)⑥
    (20)下列程序的輸出結(jié)果是
    #include "iostream"
    using namespace std;
    int Max( int a, int b )
    {
    if( a > b)
    return a;
    else
    return b;
    }
    void main()
    {
    int m, n;
    m =10,n=5;
    int max = Max( m, n );
    cout << max << endl;
    }
    A)10
    B)程序有誤
    C)1
    D)0
      ?。?1)函數(shù)int test( int a , int b=1, int c = 0),下列調(diào)用不合法的個數(shù)是
    test( 0 );test( 0, 0 );test( );test( 0, 0, 0 );
    A)0
    B)1
    C)2
    D)3
    (22)C++語言中類定義中默認的訪問權(quán)限是
    A)public
    B)protected
    C)private
    D)default
    (23)C++語言中關(guān)于構(gòu)造函數(shù)的說法正確的是
    A)構(gòu)造函數(shù)的函數(shù)名不必和類名相同
    B)構(gòu)造函數(shù)只能每一個
    C)每個類必定有構(gòu)造函數(shù)
    D)構(gòu)造函數(shù)必有返回值
    (24)關(guān)于構(gòu)造函數(shù)A()的拷貝構(gòu)造函數(shù)正確的是
    A)A( A *B );
    B)A( A B );
    C)A( A & B );
    D)A( A );
    (25)下面程序的執(zhí)行結(jié)果為
    #include "iostream"
    using namespace std;
    class A
    {
    int a;
    public:
    void Seta( int x ){ a = x;}
    void Display_a(){ cout << a << endl; }
    };
    class B
    {
    int b;
    public:
    void Setb( int x ){ b = x;}
    void Dispaly_b(){ cout << b << endl; }
    };
    class C : public A, private B
    {
    private:
    int c;
    public:
    void Setc( int x, int y, int z )
    { c = z; Seta( x ); Setb( y ); }
    void Display_c(){ cout << c << endl; }
    };
    ① void main()
    ② {
    ③ C cc;
    ④ cc.Seta( 1 );
    ⑤ cc.Display_a();
    ⑥ cc.Setc( 2, 2, 3 );
    ⑦ cc.Dispaly_b();
    ⑧ cc.Display_c();
    }
    A)輸出為223
    B)有錯誤在第5行
    C)輸出為123
    D)有錯誤在第7行
    (26)虛函數(shù)必須是類的
    A)成員函數(shù)
    B)友元函數(shù)
    C)構(gòu)造函數(shù)
    D)析構(gòu)函數(shù)
    (27)多態(tài)性指的是
    A)以任何方式調(diào)用一個虛函數(shù)
    B)以任何方式調(diào)用一個純虛函數(shù)
    C)借助于指向?qū)ο蟮幕愔羔樆蛞谜{(diào)用一個虛函數(shù)
    D)借助于指向?qū)ο蟮幕愔羔樆蛞谜{(diào)用一個純虛函數(shù)
    (28)不能重載的運算符是
    A)new
    B)sizeof
    C).*
    D)++
    (29)只能作為成員函數(shù)重載的是
    A)=
    B)++
    C)*
    D)new
    (30)關(guān)于模板下列說法不正確的是
    A)用類模板定義一個對象時,不能省略實參
    B)類模板只能有虛擬類型參數(shù)
    C)類模板本身在編譯中不會生成任何代碼
    D)類模板的成員函數(shù)都是模板函數(shù)
     ?。?1)語句cout << setprecision (2)<< 1024.4567;的輸出結(jié)果為
    A)1024.4567
    B)1024
    C)1024.45
    D)1e+003
    (32)下面程序的結(jié)果為
    #include"iostream.h"
    void change( int a, int b )
    {
    int temp;
    temp = a;
    a = b;
    b = temp;
    }
    void main()
    {
    int m, n;
    m = 8;
    n = 9;
    change( m, n );
    cout << m << " " << n << endl;
    }
    A)8 9
    B)9 8
    C)程序有錯誤
    D)9 9
    (33)下面程序的結(jié)果是
    #include "iostream.h"
    void main()
    {
    char *str;
    str = "test!";
    cout << str[5];
    }
    A)程序錯誤
    B)!
    C)′\0′
    D)為空字符
    (34)下面程序輸出的結(jié)果為
    #include "iostream.h"
    class A
    {
    public:
    A(){ cout << "CLASS A" << endl; }
    ~A(){}
    };
    class B : public A
    {
    public:
    B(){ cout << "CLASS B" << endl; }
    ~B(){}
    };
    void main()
    {
    A *p;
    p = new B;
    B *q;
    q = new B;
    }
    A)CLASS A
    CLASS B
    B)CLASS A
    CLASS B
    CLASS B
    C)CLASS A
    CLASS B
    CLASS A
    CLASS B
    D)CLASS A
    CLASS B
    CLASS B
    CLASS B
    (35)C++語言函數(shù)中不能由系統(tǒng)自動生成的是
    A)析構(gòu)函數(shù)
    B)構(gòu)造函數(shù)
    C)內(nèi)聯(lián)函數(shù)
    D)拷貝構(gòu)造函數(shù)
       二、填空題
    請將每一個空的正確答案寫在答題卡序號的橫線上,答在試卷上不給分。
    (1)棧和隊列通常采用的存儲結(jié)構(gòu)是 1 。
    (2)在程序設(shè)計階段應(yīng)該采取 2 和逐步求精的方法,把一個模塊的功能逐步分解,細化為一系列具體的步驟,進而用某種程序設(shè)計語言寫成程序。
    (3)軟件結(jié)構(gòu)是以 3 為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。
    (4)數(shù)據(jù)庫系統(tǒng)階段的數(shù)據(jù)具有較高獨立性,數(shù)據(jù)獨立性包括物理獨立性和 4 兩個含義。
    (5)數(shù)據(jù)庫保護分為安全性控制、 5 、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。
    (6) 6 是C++語言程序的入口。
    (7)程序
    #include"iostream.h"
    void main()
    {
    int i = 10;
    int j = 5;
    cout << j + i++ <  }
    的結(jié)果為 7 。
    (8)C++語言的基本控制結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和 8 。
    (9)語句int *i; i = new int[10]; ,釋放指針i的語句是 9 。
    (10)函數(shù)重載要求重載的函數(shù)必須有和原函數(shù)一樣的 10 。
    (11)在C++語言中每個類都有一個 11 指針,該指針指向正在調(diào)用成員函數(shù)的對象。
    (12)設(shè)置虛基類的目的是 12 ,通過 13 表示虛基類。
    (13)程序的結(jié)果為 14 。
    #include "iostream.h"
    template
    T total( T *data )
    { T s = 0;
    while( *data )
    {
    s += *data++;
    }
    return s;
    }
    int main()
    { int x[] = { 2,4,6,8,0,12,14,16,18 };
    cout << total(x);
    return 0;
    cout<
    (14)語句cout << ′\n′ 還可表示為 15 。
    一、選擇題
    (1)D
    【命題目的】讓考生加深對各種排序方法特點的了解。
    【解題要點】冒泡排序是一種最簡單的交換類排序方法,它是通過相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。
    【錯解分析】交換排序方法有冒泡排序和快速排序,顯然選項B)和選項C)錯誤,冒泡排序比較簡單,其算法也容易理解,但快速排序本身較為復(fù)雜,且采用了遞歸調(diào)用,其算法理解也稍難。
    【考點鏈接】插入排序、選擇排序、歸并排序、基數(shù)排序等排序方法的特點。
    (2)A
    【命題目的】考查棧的存儲結(jié)構(gòu)的基本知識。
    【解題要點】和線性表類似,棧也有兩種存儲方法,一是順序棧,二是鏈式棧。棧的順序存儲結(jié)構(gòu)是利用一組地址連續(xù)的存儲單元一次存儲自棧底到棧頂?shù)臄?shù)據(jù)元素,同時附設(shè)指針top指示棧頂元素的位置,由于棧的操作是線性表操作的特例,相對而言,鏈式棧的操作更易于實現(xiàn)。
    【考點鏈接】這3種運算方法在各種存儲結(jié)構(gòu)中的應(yīng)用。
    (3)B
    【命題目的】考查有關(guān)線性表存儲結(jié)構(gòu)的基本知識。
    【解題要點】順序存儲結(jié)構(gòu)中,數(shù)據(jù)元素存放在一組地址連續(xù)的存儲單元中,每個數(shù)據(jù)元素地址可通過公式LOC(ai)=LOC(a1)+(i-1)L計算得到,從而實現(xiàn)了隨機存取。對于鏈式存儲結(jié)構(gòu),要對某結(jié)點進行存取,都得從鏈的頭指針指向的結(jié)點開始,這是一種順序存取的存儲結(jié)構(gòu)。
    【考點鏈接】順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)的定義和性質(zhì),兩種存儲結(jié)構(gòu)的操作方法。
    (4)A
    【命題目的】讓考生熟練掌握常用的測試方法及其概念。
    【解題要點】黑箱測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)功能導(dǎo)出測試用例。
    【錯解分析】白箱測試是根據(jù)對程序內(nèi)部邏輯結(jié)構(gòu)的分析來選取測試用例,白箱測試也稱為邏輯覆蓋測試,故選項B)不正確;錯誤推測法只是黑箱測試所使用的一種具體的方法,故選項C)不正確;安裝測試是測試層次中的一種,它屬于高級測試,故選項D)不正確。
    【考點鏈接】常用的黑箱測試方法及其定義,白箱測試用例的準則。
    (5)A
    【命題目的】讓考生對常用的軟件結(jié)構(gòu)設(shè)計工具要有較深入的了解。
    【解題要點】常用的軟件結(jié)構(gòu)設(shè)計工具是結(jié)構(gòu)圖(SC-Structure Chart),也稱程序結(jié)構(gòu)圖。其中,矩形內(nèi)用于注明模塊的功能和名字;箭頭表示模塊間的調(diào)用關(guān)系,帶實心圓的箭頭表示傳遞的是控制信息,帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
    【考點鏈接】根據(jù)結(jié)構(gòu)圖設(shè)計思想,了解結(jié)構(gòu)圖構(gòu)成的基本形式。
    (6)C
    【命題目的】本題主要考查了模塊間耦合的類型。
    【解題要點】模塊之間的耦合程度反映了模塊的獨立性,也反映了系統(tǒng)分解后的復(fù)雜程度。按照耦合程度從弱到強,可以將其分成5級,分別是:數(shù)據(jù)耦合、同構(gòu)耦合、控制耦合、公用耦合和內(nèi)容耦合。選項C),沒有這種耦合方式。
    【考點鏈接】評價模塊獨立性的主要標(biāo)準,以及對它們的定義和分類。
    (7)C
    【命題目的】使學(xué)生加深對關(guān)系模型數(shù)據(jù)庫基礎(chǔ)知識的記憶。
    【解題要點】在關(guān)系模型數(shù)據(jù)庫中,基本結(jié)構(gòu)是二維表,這種二維表稱為關(guān)系。關(guān)系的列稱為屬性,一個具有N個屬性的關(guān)系稱為N元關(guān)系。
    【考點鏈接】各種關(guān)系查詢語言與過程性語言和非過程性語言的關(guān)系,過程性語言的特點。
    (8)C
    【命題目的】考查考生對數(shù)據(jù)庫基本知識的了解。
    【解題要點】DBMS提供數(shù)據(jù)操縱語言(DML)實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的操作,數(shù)據(jù)操縱語言(DML)是用戶(包括應(yīng)用程序)與數(shù)據(jù)庫系統(tǒng)的接口。數(shù)據(jù)操縱語言通常包括檢索和更新功能。
    【考點鏈接】程序模塊中語言處理部分的分類,各子類的定義及其功能。
    (9)D
    【命題目的】讓考生了解文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的區(qū)別。
    【解題要點】文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨立的,因此相對于數(shù)據(jù)庫系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個缺點,數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡稱為數(shù)據(jù)依賴)。
    【考點鏈接】文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)各自的特點,人工管理階段及數(shù)據(jù)庫系統(tǒng)三代的特點。
    (10)D
    【命題目的】考查考生對需求分析的內(nèi)容的了解。
    【解題要點】需求分析是軟件定義時期的最后一個階段,它的基本任務(wù)就是詳細調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。。
    【錯解分析】選項A)軟件開發(fā)方法是在總體設(shè)計階段完成的任務(wù);選項B)軟件開發(fā)工具是在實現(xiàn)階段需完成的任務(wù);選項C)軟件開發(fā)費用是在可行性研究階段需完成的任務(wù)。
    【考點鏈接】需求分析的任務(wù)和它的6種方法。
    (11)D
    【命題目的】考查面向?qū)ο笳Z言的基本思想。
    【解題要點】面向?qū)ο笳Z言的基本特性是封裝,繼承和多態(tài)。
    【錯解分析】垃圾回收是Java的主要特點。
    【考點鏈接】要掌握面向?qū)ο蟮膬?yōu)點。
    (12)A
    【命題目的】考查C++語言標(biāo)識符規(guī)則。
    【解題要點】在C++語言中,標(biāo)識符只能由數(shù)字,字母,下劃線組成,并且第一個字符不能是數(shù)字。
    【錯解分析】選項A)是以數(shù)字開始的。
    【考點鏈接】關(guān)鍵字不能用作標(biāo)識符。
    (13)A
    【命題目的】考查C++運算符的優(yōu)先級。
    【解題要點】運算符的優(yōu)先級是::,其次是[ ],( ),等,然后是++,--,再低還有->*,*,+,<<,>>,=。
    【考點鏈接】逗號的優(yōu)先級最低。
    (14)C
    【命題目的】考查宏定義的簡單運用。
    【解題要點】理解宏定義,sum(a,b)a*b中a為1+2,b為3,故sum(1+2,3)=1+2*3,即宏定義的替換過程是原樣替換。
    【錯解分析】選項B)的計算方法是(1+2)* 3 = 9是錯誤的,注意,不要隨意的加括號。
    【考點鏈接】宏定義與函數(shù)的區(qū)別。
    (15)A
    【命題目的】考查循環(huán)語句for的使用。
    【解題要點】for循環(huán)的一般格式為for ( 初始化部分; 終止條件判斷部分; 迭代部分){ 循環(huán)體;}
    說明如下:for循環(huán)開始時,首先執(zhí)行初始化操作,然后判斷終止條件是否滿足,如果滿足,則執(zhí)行循環(huán)體中的語句,最后執(zhí)行迭代部分。完成一次循環(huán)后,重新判斷終止條件。
    【錯解分析】在for語句中,如果省略了終止條件判斷部分,并且在語句中沒有break,或者是終止條件判斷部分始終沒有終止,都將出現(xiàn)死循環(huán)。
    【考點鏈接】for循環(huán)語句可由while循環(huán)語句來代替。
    (16)A
    【命題目的】考查continue語句的運用。
    【解題要點】continue是跳出了本次循環(huán)中尚未執(zhí)行的語句,重新執(zhí)行循環(huán),但沒有終止循環(huán)。
    【考點鏈接】注意break,continue和goto語句的用法和區(qū)別。
    (17)C
    【命題目的】考查數(shù)組的定義方法。
    【解題要點】二維數(shù)面的二維不能省略。
    【考點鏈接】數(shù)組的下標(biāo)是從零開始的。
    (18)D
    【命題目的】考查指針和運算符sizeof的運用。
    【解題要點】理解sizeof的用法,它可以運算出各種數(shù)據(jù)類型所占內(nèi)存空間的多少。
    【錯解分析】選項C)中是指針p所指向的內(nèi)存地址中內(nèi)容是20。
    【考點鏈接】在用完申請后的內(nèi)存應(yīng)立刻釋放。
    (19)C
    【命題目的】考查引用的用法。
    【解題要點】引用必須在第一時間進行賦值,int & B沒有在第一時間賦值故錯誤。
    【考點鏈接】引用的方式,引用和指針應(yīng)用的比較。
    (20)A
    【命題目的】考查return語句的用法和函數(shù)的調(diào)用。
    【解題要點】本題函數(shù)Max的功能是求出兩個整數(shù)中的較大者,并且通return語句返回。
    【考點鏈接】return語句的用法,注意return的條件。
    (21)C
    【命題目的】考查函數(shù)含有默認參數(shù)時的調(diào)用方法。
    【解題要點】如果一個函數(shù)中有多個參數(shù),則默認參數(shù)應(yīng)從右到左逐個定義。
    【錯解分析】選項C)沒有給a傳遞任何的參數(shù),所以是錯誤的。
    【考點鏈接】函數(shù)含有默認參數(shù)時的調(diào)用方式。
    (22)C
    【命題目的】考查類的概念。
    【解題要點】C++語言中類定義中默認的類的訪問權(quán)限是private。
    【錯解分析】C++語言中沒有default權(quán)限。
    【考點鏈接】結(jié)構(gòu)體默認的訪問權(quán)限是public,注意它們之間的區(qū)別。
    (23)C
    【命題目的】考查構(gòu)造函數(shù)的概念。
    【解題要點】構(gòu)造函數(shù)的函數(shù)名必須和類名相同;構(gòu)造函數(shù)可以有一個,也可以有多個;構(gòu)造函數(shù)沒有返回值。
    【考點鏈接】構(gòu)造函數(shù)可以被重載。
    (24)C
    【命題目的】考查拷貝構(gòu)造函數(shù)的方法。
    【解題要點】固定的一種拷貝方式就是<類名>:<類名>const<類名>&<引用對象名>
    【考點鏈接】如果一個類中沒有聲明,拷貝構(gòu)造函數(shù),編譯器會自動生成一個如上述形成的僅有的拷貝構(gòu)造函數(shù)。
    (25)D
    【命題目的】考查類的繼承方法。
    【解題要點】private繼承不能調(diào)用Display_b函數(shù),public繼承可以調(diào)用基類中非private成員。
    【考點鏈接】類的繼承方式public,protected和private的區(qū)別。
    (26)A
    【命題目的】考查虛函數(shù)的基本概念。
    【解題要點】虛函數(shù)只能是類的成員函數(shù),不能是構(gòu)造函數(shù)或析構(gòu)函數(shù)。
    【考點鏈接】虛函數(shù)可以是另一個類的友元函數(shù)。
    (27)C
    【命題目的】考查多態(tài)性的基本概念。
    【解題要點】多態(tài)性主要是指借助于指向?qū)ο蟮幕愔羔樆蛞谜{(diào)用一個虛函數(shù)。
    【考點鏈接】注意多態(tài)和重載的關(guān)系和應(yīng)用。
    (28)C
    【命題目的】運算符重載的概念考查。
    【解題要點】C++語言規(guī)定.*運算符是不能被重載的。
    【考點鏈接】還有.,->*,::,?:這幾個運算符不能重載。
    (29)A
    【命題目的】關(guān)于重載概念的考查。
    【解題要點】C++語言規(guī)定"="運算符只能作為成員函數(shù)重載。
    (30)B
    【命題目的】模板概念的考查。
    【解題要點】類模板可以有虛擬類型參數(shù)。
    【考點鏈接】模板及其周邊概念和模板的實現(xiàn)。
    (31)D
    【命題目的】setprecision()函數(shù)的考查。
    【解題要點】setprecision()函數(shù)為設(shè)置小數(shù)位數(shù)。
    【考點鏈接】C++ 中I/O流各種函數(shù)的使用例如:setw(),setfill()。
    (32)A
    【命題目的】考查交換兩整數(shù)的方法。
    【解題要點】兩數(shù)只在函數(shù)change內(nèi)被使用,函數(shù)調(diào)用完后該內(nèi)存被釋放,因此沒有交換兩數(shù)。
    【考點鏈接】交換兩個數(shù)的方法簡單說有兩種一是使用指針,二是用引用。
    (33)D
    【命題目的】考查字符串的應(yīng)用和′\0′的輸出。
    【解題要點】′\0′輸出為不顯示,只代表一個字符串的結(jié)束。
    【考點鏈接】C++語言中各種字符轉(zhuǎn)義序列的意義和應(yīng)用。
    (34)C
    【命題目的】考查類的繼承和實例化。
    【解題要點】每實例化一個類就要調(diào)用其構(gòu)造函數(shù),結(jié)束運行該實例后調(diào)用析構(gòu)函數(shù)。
    【考點鏈接】類的實例化和構(gòu)造函數(shù)、析構(gòu)函數(shù)的調(diào)用方式和何時調(diào)用。
    (35)C
    【命題目的】考查一個類中由系統(tǒng)自動生成的函數(shù)。
    【解題要點】一個類中由系統(tǒng)自動生成的函數(shù)有構(gòu)造函數(shù),析構(gòu)函數(shù),拷貝構(gòu)造函數(shù)。
    【錯解分析】內(nèi)聯(lián)函數(shù)只能由用戶自己定義。
    【考點鏈接】類能自動生成的函數(shù),尤其注意構(gòu)造函數(shù)和析構(gòu)函數(shù),還有拷貝構(gòu)造函數(shù)。
    二、填空題
    (1)鏈式存儲和順序存儲
    【命題目的】考查考生對數(shù)據(jù)結(jié)構(gòu)基本知識的了解。
    【解題要點】棧和隊列都屬于線性表,它們一般采用順序存儲結(jié)構(gòu),也可以對它們采用鏈式存儲結(jié)構(gòu)。
    【考點鏈接】棧、數(shù)組、表采用的存儲結(jié)構(gòu),各種存儲結(jié)構(gòu)的定義和區(qū)別。
    (2)自頂而下
    【命題目的】讓考生對程序設(shè)計有較深入的了解。
    【考點鏈接】系統(tǒng)設(shè)計其他階段的內(nèi)容。
    (3)模塊
    【命題目的】考查考生對軟件結(jié)構(gòu)的了解。
    【解題要點】采用模塊化原理可以使軟件結(jié)構(gòu)清晰,不僅容易設(shè)計也容易閱讀和理解,模塊化使得軟件容易測試和調(diào)試,因而有利于提高軟件的可靠性,也有利于軟件的組織管理,大型程序可由不同的程序員編寫不同的模塊,并且可以進一步分配技術(shù)熟練的程序員編寫困難的部分。
    【考點鏈接】軟件結(jié)構(gòu)的定義,模塊操作其他的所有特點。
    (4)邏輯獨立性
    【命題目的】考查考生對數(shù)據(jù)庫基本知識(數(shù)據(jù)獨立性)的了解。
    【解題要點】數(shù)據(jù)獨立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫中數(shù)據(jù)獨立于應(yīng)用程序而不依賴于應(yīng)用程序。數(shù)據(jù)獨立性一般分為物理獨立性與邏輯獨立性兩個含義。
    【考點鏈接】在人工管理階段,文件系統(tǒng)階段和數(shù)據(jù)庫管理階段中數(shù)據(jù)獨立性的特點。
    (5)完整性控制
    【命題目的】考查考生對數(shù)據(jù)庫基本知識的了解。
    【解題要點】安全性控制:防止未經(jīng)授權(quán)的用戶有意或無意存取數(shù)據(jù)庫中的數(shù)據(jù),以免數(shù)據(jù)被泄露、更改或破壞;完整性控制:保證數(shù)據(jù)庫中數(shù)據(jù)及語義的正確性和有效性,防止任何對數(shù)據(jù)造成錯誤的操作;并發(fā)控制:正確處理好多用戶、多任務(wù)環(huán)境下的并發(fā)操作,防止錯誤發(fā)生;恢復(fù):當(dāng)數(shù)據(jù)庫被破壞或數(shù)據(jù)不正確時,使數(shù)據(jù)庫能恢復(fù)到正確的狀態(tài)。
    【考點鏈接】數(shù)據(jù)庫的其他用途,如數(shù)據(jù)定義、數(shù)據(jù)操作和數(shù)據(jù)管理等。
    (6)main()函數(shù)
    【命題目的】考查C++語言的基本概念。
    【解題要點】main()是C++語言的入口函數(shù)。
    【考點鏈接】main()函數(shù)可以放在程序的任何位置
    (7)15
    【命題目的】考查++運算符的用法。
    【解題要點】i++為先做與i有關(guān)的運算后,i自加1,而++i是先給i加1再進行與i有關(guān)的操作
    【考點鏈接】各種運算符的應(yīng)用,注意++,--。
    (8)循環(huán)結(jié)構(gòu)
    【解題要點】C++語言3種基本結(jié)構(gòu)就是順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)。
    (9)delete[]i;
    【命題目的】new和delete的用法。
    【解題要點】申請內(nèi)存空間時用new,釋放內(nèi)存空間用delete。
    【考點鏈接】new和delete的運用和malloc,free的運用。
    (10)函數(shù)名
    【命題目的】重載函數(shù)的具體要求。
    【解題要點】重載函數(shù)的函數(shù)名應(yīng)和原函數(shù)一致。
    【考點鏈接】重載函數(shù)的方式方法,重載函數(shù)的參數(shù),重載函數(shù)的返回值。
    (11)this
    【命題目的】this指針的基本概念。
    【解題要點】C++語言中this指針是類自帶的一個指針,它指向正在調(diào)用成員函數(shù)的對象。
    【考點鏈接】C++類的基本概念,this指針概念。
    (12)解決二義性問題~用關(guān)鍵字virtual
    【命題目的】考查二義性的概念和解決方法。
    【解題要點】解決二義性的兩個基本方法一是用域名進行限制,二是用虛基類的方法。
    【考點鏈接】C++語言中解決二義性的方法。
    (13)20
    【命題目的】模板函數(shù)的運用。
    【解題要點】要理解*data的含意。
    (14)cout << endl;
    【命題目的】考查"\n"和endl的意義。
    【解題要點】"\n"表示換行,endl也可表示換行。
    【考點鏈接】endl和"\n"可以通用。