2013年計(jì)算機(jī)二級(jí)C++模擬試題及答案(2)

字號(hào):

一、選擇題
    1.已知一棵二叉樹(shù)前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹(shù)的后序遍歷為
    A)GEDHFBCA
    B)DGEBHFCA
    C)ABCDEFGH
    D)ACBFEDHG
    【參考答案】 B
    2.樹(shù)是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是
    A)有且只有1
    B)1或多于1
    C)0或1
    D)至少2
    【參考答案】 A
    3.如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是
    A)e3,e1,e4,e2
    B)e2,e4,e3,e1
    C)e3,e4,e1,e2
    D)任意順序
    【參考答案】 B
    4.在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是
    A)不限制goto語(yǔ)句的使用
    B)減少或取消注解行
    C)程序越短越好
    D)程序結(jié)構(gòu)應(yīng)有助于讀者理解
    【參考答案】 D
    5.程序設(shè)計(jì)語(yǔ)言的基本成分是數(shù)據(jù)成分、運(yùn)算成分、控制成分和
    A)對(duì)象成分
    B)變量成分
    C)語(yǔ)句成分
    D)傳輸成分
    【參考答案】 D
    6.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是
    A)便于用戶(hù)、開(kāi)發(fā)人員進(jìn)行理解和交流
    B)反映出用戶(hù)問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)
    C)作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
    D)便于開(kāi)發(fā)人員進(jìn)行需求分析
    【參考答案】 D
    7.下列不屬于軟件工程的3個(gè)要素的是
    A)工具
    B)過(guò)程
    C)方法
    D)環(huán)境
    【參考答案】 D
    8.單個(gè)用戶(hù)使用的數(shù)據(jù)視圖的描述稱(chēng)為
    A)外模式
    B)概念模式
    C)內(nèi)模式
    D)存儲(chǔ)模式
    【參考答案】 A
    9.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成
    A)屬性
    B)關(guān)系
    C)鍵
    D)域
    【參考答案】 B
    10.SQL語(yǔ)言又稱(chēng)為
    A)結(jié)構(gòu)化定義語(yǔ)言
    B)結(jié)構(gòu)化控制語(yǔ)言
    C)結(jié)構(gòu)化查詢(xún)語(yǔ)言
    D)結(jié)構(gòu)化操縱語(yǔ)言
    【參考答案】 C
    11.下面關(guān)于類(lèi)和對(duì)象的描述中,錯(cuò)誤的是
    A)類(lèi)就是C語(yǔ)言中的結(jié)構(gòu)體類(lèi)型,對(duì)象就是C語(yǔ)言中的結(jié)構(gòu)體變量
    B)類(lèi)和對(duì)象之間的關(guān)系是抽象和具體的關(guān)系
    C)對(duì)象是類(lèi)的實(shí)例,一個(gè)對(duì)象必須屬于一個(gè)已知的類(lèi)
    D)類(lèi)是具有共同行為的若干對(duì)象的統(tǒng)一描述體
    【參考答案】 A
    12.以下各選項(xiàng)組中,均是C++語(yǔ)言關(guān)鍵字的組是
    A)public operator this
    B)shod string static
    C)it while >=
    D)private cout printf
    【參考答案】 A
    13.設(shè)int a=10,b=11,c=12;,表達(dá)式(a+b)
    A)2
    B)0
    C)-2
    D)1
    【參考答案】 B
    14.下列描述正確的是
    A)表示m>n為true或mn&&m
    B)switch語(yǔ)句結(jié)構(gòu)中必須有default語(yǔ)句
    C)if語(yǔ)句結(jié)構(gòu)中必須有else語(yǔ)句
    D)如果至少有一個(gè)操作數(shù)為true,則包含"||"運(yùn)算符的表達(dá)式為true
    【參考答案】 D
    15.下列語(yǔ)句中不是死循環(huán)的是
    A)int i=10;
    while (1)
    { i--;
    if(i==1)break; }
    B)for(int i=1;i<10;i++)
    { i--; }
    C)int i=0;
    do{
    i++;
    }while(i>=0);
    D)int i=1;
    for(;;)i=i+1;
    【參考答案】 A
    16.下面關(guān)于break語(yǔ)句的描述中,不正確的是
    A)break可以用于循環(huán)體內(nèi)
    B)break語(yǔ)句可以在for循環(huán)語(yǔ)句中出現(xiàn)多次
    C)break語(yǔ)句可以在switch語(yǔ)句中出現(xiàn)多次
    D)break語(yǔ)句可用于if條件判斷語(yǔ)句內(nèi)
    【參考答案】 D
    17.下面關(guān)于數(shù)組的描述錯(cuò)誤的是
    A)在C++語(yǔ)言中數(shù)組的名字就是指向該數(shù)組第一個(gè)元素的指針
    B)長(zhǎng)度為n的數(shù)組,下標(biāo)的范圍是0~n-1
    C)數(shù)組的大小必須在編譯時(shí)確定
    D)數(shù)組只能通過(guò)值參數(shù)和引用參數(shù)兩種方式傳遞給函數(shù)
    【參考答案】 D
    18.下面程序錯(cuò)誤的語(yǔ)句是
    ① #include
    ② void main()
    ③ {
    ④ int *p=new int[1];
    ⑤ p=9;
    ⑥ cout <<*p<
    ⑦ delete []p;
    ⑧ }
    A)④
    B)⑤
    C)⑥
    D)⑦
    【參考答案】 B
    19.下面的哪個(gè)選項(xiàng)不能作為函數(shù)的返回類(lèi)型?
    A)void
    B)int
    C)new
    D)long
    【參考答案】 C
    20.不能作為重載函數(shù)的調(diào)用的依據(jù)是
    A)參數(shù)個(gè)數(shù)
    B)參數(shù)類(lèi)型
    C)函數(shù)類(lèi)型
    D)函數(shù)名稱(chēng)
    【參考答案】 D
    21.下列程序的輸出結(jié)果為
    #include
    int func(int n)
    { if (n<1)return 1;
    else return n+func(n-1);
    return 0; }
    void main()
    { cout<
    A)0
    B)10
    C)15
    D)16
    【參考答案】 D
    22.在C++語(yǔ)言中,數(shù)據(jù)封裝要解決的問(wèn)題是
    A)數(shù)據(jù)的規(guī)范化
    B)便于數(shù)據(jù)轉(zhuǎn)換
    C)避免數(shù)據(jù)丟失
    D)防止不同模塊之間數(shù)據(jù)的非法訪問(wèn)
    【參考答案】 D
    23.以下程序中,錯(cuò)誤的行為
    (1) #include
    (2) ClassA
    (3) {
    (4) public:
    (5) int n=2;
    (6) A(int val){cout<
    (7) ~A( ){}
    (8) };
    (9) void main( )
    (10) {
    (11) Aa(o);
    (12) }
    A)(5)
    B)(6)
    C)(7)
    D)(11)
    【參考答案】 A
    24.對(duì)類(lèi)的構(gòu)造函數(shù)和析構(gòu)函數(shù)描述正確的是
    A)構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)不能重載
    B)構(gòu)造函數(shù)不能重載,析構(gòu)函數(shù)可以重載
    C)構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)也可以重載
    D)構(gòu)造函數(shù)不能重載,析構(gòu)函數(shù)也不能重載
    【參考答案】 A
    25.下面程序的運(yùn)行結(jié)果為
    #include
    class A
    { int num;
    public:
    A(int i){num=i;}
    A(A &a){num=a.num++;}
    void print(){cout<
    void main()
    { A a (1),b(a);
    a.print();
    b.print(); }
    A)11
    B)12
    C)21
    D)22
    【參考答案】 C
    26.下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是
    A)靜態(tài)數(shù)據(jù)成員是類(lèi)的所有對(duì)象共享的數(shù)據(jù)
    B)類(lèi)的每個(gè)對(duì)象都有自己的靜態(tài)數(shù)據(jù)成員
    C)類(lèi)的不同對(duì)象有不同的靜態(tài)數(shù)據(jù)成員值
    D)靜態(tài)數(shù)據(jù)成員不能通過(guò)類(lèi)的對(duì)象調(diào)用
    【參考答案】 A
    27.如果類(lèi)A被說(shuō)明成類(lèi)B的友元,則
    A)類(lèi)A的成員即類(lèi)B的成員
    B)類(lèi)B的成員即類(lèi)A的成員
    C)類(lèi)A的成員函數(shù)不得訪問(wèn)類(lèi)B的成員
    D)類(lèi)B不一定是類(lèi)A的友元
    【參考答案】 D
    28.可以用p.a的形式訪問(wèn)派生類(lèi)對(duì)象p的基類(lèi)成員a,其中a是
    A)私有繼承的公有成員
    B)公有繼承的私有成員
    C)公有繼承的保護(hù)成員
    D)公有繼承的公有成員
    【參考答案】 D
    29.建立派生類(lèi)對(duì)象時(shí),3種構(gòu)造函數(shù)分別是a(基類(lèi)的構(gòu)造函數(shù))、b(成員對(duì)象的構(gòu)造函數(shù))、c(派生類(lèi)的構(gòu)造函數(shù))這3種構(gòu)造函數(shù)的調(diào)用順序?yàn)?BR>    A)abc
    B)acb
    C)cab
    D)cba
    【參考答案】 A
    30.下面關(guān)于虛函數(shù)的描述,錯(cuò)誤的是
    A)在成員函數(shù)聲明的前面加上virtual修飾,就可把該函數(shù)聲明為虛函數(shù)
    B)基類(lèi)中說(shuō)明了虛函數(shù)后,派生類(lèi)中對(duì)應(yīng)的函數(shù)也必須說(shuō)明為虛函數(shù)
    C)虛函數(shù)可以是另一個(gè)類(lèi)的友元函數(shù),但不能是靜態(tài)成員函數(shù)
    D)基類(lèi)中說(shuō)明的純虛函數(shù)在其任何派生類(lèi)中都必須實(shí)現(xiàn)
    【參考答案】 B
    31.下面關(guān)于模板的描述,錯(cuò)誤的是
    A)函數(shù)模板和類(lèi)模板的參數(shù)可以是任意的數(shù)據(jù)類(lèi)型
    B)類(lèi)模板不能直接使用,必須先實(shí)例化為相應(yīng)的模板類(lèi),然后定義了模板類(lèi)的對(duì)象后才能使用
    C)函數(shù)模板不能直接使用,需要實(shí)例化為模板函數(shù)后才能使用
    D)類(lèi)模板的成員函數(shù)都是模板函數(shù)
    【參考答案】 A
    32.語(yǔ)句ofstream f("SALARY.DAT",ios::app|ios::binary);的功能是建立流對(duì)象f,試圖打開(kāi)文件SALARY.DAT并與之連接,并且
    A)若文件存在,將文件寫(xiě)指針定位于文件尾;若文件不存在,建立一個(gè)新文件
    B)若文件存在,將其置為空文件;若文件不存在,打開(kāi)失敗
    C)若文件存在,將文件寫(xiě)指針定位于文件首;若文件不存在,建立一個(gè)新文件
    D)若文件存在,打開(kāi)失敗;若文件不存在,建立一個(gè)新文件
    【參考答案】 A
    33.下面程序的運(yùn)行結(jié)果是
    #include
    void main()
    { int num=1;
    int &ref=num;
    ref=ref+2;
    cout <
    num=num+3;
    cout <
    A)13
    B)16
    C)36
    D)33
    【參考答案】 C
    34.下面程序的運(yùn)行結(jié)果是
    #include
    void fun(int *a,int *b)
    {
    int x=*a;
    *a=*b; *b=x;
    cout<<*a<<*b<<" ";
    }
    void main()
    { int x=1, y=2;
    fun(&x,&y);
    cout<
    A)1212
    B)1221
    C)2112
    D)2121
    【參考答案】 D
    35.下列程序的運(yùn)行結(jié)果為
    #include
    int i=0;
    class A{
    public:
    A(){i++;} };
    void main()
    { A a,b[3],*c;
    c=b;
    cout<
    A)2
    B)3
    C)4
    D)5
    【參考答案】 C
    二、填空題
    (1)數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于 【1】 。
    【參考答案】
    【1】存儲(chǔ)結(jié)構(gòu)
    (2)在面向?qū)ο蠓椒ㄖ校?lèi)之間共享屬性和操作的機(jī)制稱(chēng)為 【2】 。
    【參考答案】
    【2】繼承
    (3)耦合和內(nèi)聚是評(píng)價(jià)模塊獨(dú)立性的兩個(gè)主要標(biāo)準(zhǔn),其中 【3】 反映了模塊內(nèi)各成分之間的聯(lián)系。
    【參考答案】
    【3】?jī)?nèi)聚
    (4)一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體"項(xiàng)目主管"與實(shí)體"項(xiàng)目"的聯(lián)系屬于 【4】 的聯(lián)系。
    【參考答案】
    【4】一對(duì)多或1∶N
    (5)數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、 【5】 、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
    【參考答案】
    【5】數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段
    (6)開(kāi)發(fā)一個(gè)C++語(yǔ)言程序的步驟通常包括編輯、 【6】 、鏈接、運(yùn)行和調(diào)試。
    【參考答案】
    【6】編譯
    (7)假設(shè)int a=1,b=2;則表達(dá)式a+++--b的值為 【7】 。
    【參考答案】
    【7】2
    (8)下面程序的輸出結(jié)果為 【8】 。
    #include
    void main()
    { int num=0,i=8;
    do{
    i--;
    num++;
    }while(--i);
    cout<
    【參考答案】
    【8】4
    (9)通過(guò)使用new和delete兩個(gè)運(yùn)算符進(jìn)行的分配為 【9】 存儲(chǔ)分配。
    【參考答案】
    【9】動(dòng)態(tài)
    (10)下面程序的運(yùn)行結(jié)果為 【10】 。
    #include
    void fun(int x=0,int y=0)
    {
    cout<
    }
    void main()
    {
    fun (5);
    }
    【參考答案】
    【10】50
    (11)在C++語(yǔ)言中,訪問(wèn)一個(gè)對(duì)象的成員所用的運(yùn)算符是 【11】 ,訪問(wèn)一個(gè)指針?biāo)赶虻膶?duì)象的成員所用的運(yùn)算符是 【12】 。
    【參考答案】
    【11】成員選擇運(yùn)算符 【12】成員訪問(wèn)運(yùn)算符
    (12)C++語(yǔ)言支持的兩種多態(tài)性分別是編譯時(shí)的多態(tài)性和 【13】 的多態(tài)性。
    【參考答案】
    【12】運(yùn)行時(shí)
    (13)重載的運(yùn)算符保持其原有的 【14】 、優(yōu)先級(jí)和結(jié)合性不變。
    【參考答案】
    【13】操作符個(gè)數(shù)
    (14)cout.put(′A′);,還可以表示為 【15】 。
    【參考答案】
    【14】cout<<′A′;)