2012年9月計(jì)算機(jī)等級考試二級C++考前模擬測試卷二

字號:

計(jì)算機(jī)等級考試二級C++模擬題及解析2筆試部分
    一、選擇題
    1.棧和隊(duì)列的共同特點(diǎn)是( )
    A.都是先進(jìn)先出
    B.都是先進(jìn)后出
    C.只允許在端點(diǎn)處插入和刪除元素
    D.沒有共同點(diǎn)
    【參考答案】 C
    2.鏈表不具有的特點(diǎn)是( )
    A.不必事先估計(jì)存儲空間 B.可隨機(jī)訪問任一元素
    C.插入刪除不需要移動元素 D.所需空間與線性表長度成正比
    【參考答案】 B
    3.為了提高測試的效率,應(yīng)該( )
    A.隨機(jī)選取測試數(shù)據(jù) B.取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)
    C.在完成編碼以后制定軟件的測試計(jì)劃 D.集中對付那些錯誤群集的程序
    【參考答案】 D
    4.軟件生命周期中所花費(fèi)用最多的階段是( )
    A.詳細(xì)設(shè)計(jì) B.軟件編碼 C.軟件測試 D.軟件維護(hù)
    【參考答案】 D
    5.下列有關(guān)數(shù)據(jù)庫的描述,正確的是( )
    A.數(shù)據(jù)庫是一個DBF文件
    B.數(shù)據(jù)庫是一個關(guān)系
    C.數(shù)據(jù)庫是一個結(jié)構(gòu)化的數(shù)據(jù)集合
    D.數(shù)據(jù)庫是一組文件
    【參考答案】 C
    6.算法的空間復(fù)雜度是指( )
    A.算法程序的長度 B.算法程序中的指令條數(shù)
    C.算法程序所占的存儲空間 D.執(zhí)行過程中所需要的存儲空間
    【參考答案】 D
    7.數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的( )
    A.存儲結(jié)構(gòu) B.物理結(jié)構(gòu) C.邏輯結(jié)構(gòu) D.物理和存儲結(jié)構(gòu)
    【參考答案】 C
    8.軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計(jì),其中軟件的過程設(shè)計(jì)是指( )
    A.模塊間的關(guān)系 B.系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述
    C.軟件層次結(jié)構(gòu) D.軟件開發(fā)過程
    【參考答案】 B
    9.數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是( )
    A.控制流 B.加工 C.數(shù)據(jù)存儲 D.源和潭
    【參考答案】 A
    10.在數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于( )
    A.需求分析階段 B.邏輯設(shè)計(jì)階段
    C.概念設(shè)計(jì)階段 D.物理設(shè)計(jì)階段
    【參考答案】 B 11.以下C++語言中用于單行注釋的是( )
    A.// B./* C.*/ D.|
    【參考答案】 A
    12.若變量已正確定義并賦值,以下符合C++語言語法的表達(dá)式是( )
    A.a:=b+1 B.a=b=c+2 C.int 18.5%3 D.a=a+7=c+b
    【參考答案】 B
    13.有以下程序
    #include″iostream.h″
    void main()
    {int i=1,j=1,k=2;
    if((j++||k++)&&i++)
    cout<
    cout<
    執(zhí)行后輸出結(jié)果是( )
    A.1,1,2 B.2,2,1 C.2,2,2 D.2,2,3
    【參考答案】 C
    14.若有語句int *point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是( )
    A.a,point,*&a
    B.&*a,&a,*point
    C.*&point,*point,&a
    D.&a,&*point,point
    【參考答案】 D
    15.若運(yùn)行時給變量x輸入12,則以下程序的運(yùn)行結(jié)果是( )
    #include
    void main()
    {
    int x,y;
    cin>>x;
    y=x>12?x+10:x-12;
    cout<
    cout<
    }
    A.0 B.22 C.12 D.10
    【參考答案】 A
    16.以下關(guān)于C++類的說法中正確的是( )
    A.C++語言的默認(rèn)訪問權(quán)限是private
    B.C++語言中的類定義,用戶一定要自己定義一個構(gòu)造函數(shù)用于實(shí)例化類
    C.C++語言中的成員函數(shù)的實(shí)現(xiàn)部分一定要寫在類定義外
    D.C++語言中的類不能夠嵌套定義
    【參考答案】 A 17.派生類對象對其基類中的什么成員是可訪問的?( )
    A.公有繼承的私有成員 B.私有繼承的公有成員
    C.私有繼承的保護(hù)成員 D.保護(hù)繼承的保護(hù)成員
    【參考答案】 D
    18.下列關(guān)于運(yùn)算符重載不正確的是( )
    A.運(yùn)算符重載不能改變運(yùn)算符的操作數(shù)個數(shù)
    B.運(yùn)算符重載不能改變運(yùn)算符的優(yōu)先級
    C.運(yùn)算符重載不能改變運(yùn)算符的結(jié)合性
    D.運(yùn)算符重載能改變對預(yù)定義類型數(shù)據(jù)的操作方式
    【參考答案】 D
    19.對于重載的運(yùn)算符>>,它是一個( )
    A.用于輸入的友元函數(shù) B.用于輸入的成員函數(shù)
    C.用于輸出的友元函數(shù) D.用于輸出的成員函數(shù)
    【參考答案】 A
    20.若調(diào)用一個函數(shù),且此函數(shù)中沒有return語句,則正確的說法是該函數(shù)( )
    A.沒有返回值
    B.返回若干個系統(tǒng)默認(rèn)值
    C.有返回值,但返回一個不確定的值
    D.能返回一個用戶所希望的函數(shù)值
    【參考答案】 C
    21.以下能對二維數(shù)組a進(jìn)行正確初始化的語句是( )
    A.int a[2][]={{1,0,1},{5,2,3}}; B.int a[][3]={{1,2,3},{4,5,6}};
    C.int a[2][4]={{1,2,3},{4,5},{6}}; D.int a[][3]={{1,0,1},{},{1,1}};
    【參考答案】 B
    22.有如下程序
    #include
    void main()
    {float x=2.0,y;
    if(x<0.0) y=0.0;
    else if(x<10.0) y=1.0/x;
    else y=1.0;
    cout<
    該程序的輸出結(jié)果是( )
    A.0 B.0.25 C.0.5 D.1.0
    【參考答案】 C 23.C++中,表示一條語句結(jié)束的標(biāo)號是( )
    A.# B.; C.// D.}
    【參考答案】 B
    24.已知有定義
    const int D=5;
    int i=1;
    double f=0.32;
    char c=15;
    則下列選項(xiàng)錯誤的是( )
    A.++i; B.D--; C.c++; D.--f;
    【參考答案】 B
    25.下面程序的功能是把316表示為兩個加數(shù)的和,使兩個加數(shù)分別能被13和11整除,在劃線處應(yīng)填入的選項(xiàng)是( )
    #include
    void main()
    {int i=0,j,k;
    do{i++;k=316-13*i;} while(___);
    j=k/11;
    cout<<″316=13*″<
    A.k/11 B.k%11 C.k/11==0 D.k%11=0
    【參考答案】 B
    26.若已定義:
    int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
    其中o≤i≤9,則對a數(shù)組不正確的引用是( )
    A.a[p-a] B.*(&a[i])
    C.p[i] D.a[10]
    【參考答案】 D
    27.函數(shù)fun的返回值是( )
    fun(char *a,char *b)
    {int num=0,n=0;
    while(*(a+num)!=′\0′)num++;
    while(b[n]){*(a+num)=b[n];num++;n++;}
    return num;}
    A.字符串a(chǎn)的長度 B.字符串b的長度
    C.字符串a(chǎn)和b的長度之差 D.字符串a(chǎn)和b的長度之和
    【參考答案】 D
    28.下面程序的結(jié)果為( )
    #include
    int c;
    class A{
    private:
    int a;
    static int b;
    public:
    A() {a=0;c=0;}
    void seta() {a++;}
    void setb() {b++;}
    void setc() {c++;}
    void display() {cout<
    int A::b=0;
    void main()
    {A a1,a2;
    a1.seta();
    a1.setb();
    a1.setc();
    a2.seta();
    a2.setb();
    a2.setc();
    a2.display();}
    A.1 2 1 B.1 2 2 C.1 1 2 D.2 2 2
    【參考答案】 B
    int a;
    static int b;
    public:
    A() {a=0;c=0;}
    void seta() {a++;}
    void setb() {b++;}
    void setc() {c++;}
    void display() {cout<
    int A::b=0;
    void main()
    {A a1,a2;
    a1.seta();
    a1.setb();
    a1.setc();
    a2.seta();
    a2.setb();
    a2.setc();
    a2.display();}
    A.1 2 1 B.1 2 2 C.1 1 2 D.2 2 2
    【參考答案】 B  29.下列關(guān)于構(gòu)造函數(shù)說法不正確的是( )
    A.構(gòu)造函數(shù)必須與類同名
    B.構(gòu)造函數(shù)可以省略不寫
    C.構(gòu)造函數(shù)必須有返回值
    D.在構(gòu)造函數(shù)中可以對類中的成員進(jìn)行初始化
    【參考答案】 C
    30.在重載一個運(yùn)算符時,如果其參數(shù)表中有一個參數(shù),則說明該運(yùn)算符是( )
    A.一元成員運(yùn)算符 B.二元成員運(yùn)算符
    C.一元友元運(yùn)算符 D.選項(xiàng)B和選項(xiàng)C都可能
    【參考答案】 D
    31.表示在輸出時顯示小數(shù)位,和在文件輸入時判斷文件尾的函數(shù)分別是( )
    A.showbase()和eof() B.showpoint()和eof()
    C.showpoint()和bad() D.showpoint()和good()
    【參考答案】 B
    32.下列程序中畫線處應(yīng)填入的語句是( )
    class Base
    {public:
    void fun() {cout<<″Base of fun″<
    class Derived:public Base
    33.在位運(yùn)算中,操作數(shù)每右移一位,其結(jié)果相當(dāng)于( )
    A.操作數(shù)乘以2 B.操作數(shù)除以2 C.操作數(shù)乘以4 D.操作數(shù)除以4
    【參考答案】 B
    34.一個類的友元函數(shù)能夠訪問該類的( )
    A.私有成員 B.保護(hù)成員 C.公有成員 D.所有成員
    【參考答案】 D
    35.下面程序的輸出結(jié)果是( )
    #include
    #include
    void main()
    {
    char p1[10],p2[10];
    strcpy(p1,″abc″);
    strcpy(p2,″ABC″);
    char str[50]″xyz″;
    strcpy(str+2,strcat(p1,p2));
    cout<
    }
    A.xyzabcABC B.zabcABC C.xyabcABC D.yzabcABC
    【參考答案】 C 二、填空題
    1.算法的基本特征是可行性、確定性、【1】和擁有足夠的情報(bào)。
    【參考答案】
    【1】有窮性
    2.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組【2】。
    【參考答案】
    【2】對象
    3.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【3】3種。
    【參考答案】
    【3】關(guān)系模型
    4.一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的【4】。
    【參考答案】
    【4】可重用性
    5.關(guān)系操作的特點(diǎn)是【5】操作。
    【參考答案】
    【5】集合
    6.C++語言中關(guān)鍵字運(yùn)算符有new,delete和【6】。
    【參考答案】
    【6】sizeof
    7.以下程序的輸出結(jié)果是【7】。
    #include
    class object
    {private:
    int val;
    public:
    object();
    object(int i);
    ~object();};
    object::object()
    {val=0;
    cout<<″Default constructor for object″<
    object::object(int i)
    {val i;
    cout<<″Constructor for object″<
    object::~object()
    {cout<<″Destructor for object″<
    class container { private:
    object one;
    object two;
    int data;
    public:
    container();
    container(int i,int j,int k);
    ~container();};
    container::container()
    {cata=0;
    cout<<″Default constructor for container″<
    container::container(int i,int j,int k):two(i),one(j)
    {data=k;
    cout<<″Constructor for container″<
    container::~container()
    {cout<<″Destructor for container″<
    void main()
    {container anObj(5,6,10);}
    【參考答案】
    【7】Constructor for object6
    Constructor for object5
    Constructor for container
    Destruct  8.靜態(tài)成員函數(shù)可以直接訪問類的【8】成員,不能直接訪問類的【9】成員。
    【參考答案】
    【8】靜態(tài) 【9】非靜態(tài)
    9.表達(dá)式x.operator+(y.operator++(0))還可以寫成【10】。
    【參考答案】
    【10】x+y++或x+(y++)
    10.在C++語言的結(jié)構(gòu)化程序設(shè)計(jì)中,【11】是程序的基本組成單元;在C++語言的面向?qū)ο笤O(shè)計(jì)框架中,【12】是程序的基本組成單元。
    【參考答案】
    【11】函數(shù) 【12】類
    11.C++語言提供的基本控制結(jié)構(gòu)可以分為3種類型:順序結(jié)構(gòu)、【13】和循環(huán)結(jié)構(gòu)。
    【參考答案】
    【13】選擇結(jié)構(gòu)
    12.C++語言的參數(shù)傳遞機(jī)制包括傳值和傳地址兩種,如果調(diào)用函數(shù)時,需要改變實(shí)參或者返回多個值,應(yīng)該采取【14】方式。
    【參考答案】
    【14】傳地址
    13.繼承的方式有公有繼承、私有繼承和【15】3種。
    【參考答案】
    【15】保護(hù)繼承