2017年計算機(jī)二級C++考前練習(xí)試題及答案(3)

字號:


    選擇題
    1.數(shù)據(jù)結(jié)構(gòu)作為計算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)邏輯結(jié)構(gòu)、對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行運算,及( )
    A.數(shù)據(jù)的存儲結(jié)構(gòu)
    B.計算方法
    C.數(shù)據(jù)映象
    D.邏輯存儲
    【參考答案】 A
    2.在計算機(jī)中,算法是指( )
    A.加工方法
    B.解題方案的準(zhǔn)確而完整的描述
    C.排序方法
    D.查詢方法
    【參考答案】 B
    3.開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱做( )
    A.軟件投機(jī)
    B.軟件危機(jī)
    C.軟件工程
    D.軟件產(chǎn)生
    【參考答案】 B
    4.開發(fā)大型軟件時,產(chǎn)生困難的根本原因是( )
    A.大系統(tǒng)的復(fù)雜性
    B.人員知識不足
    C.客觀世界千變?nèi)f化
    D.時間緊、任務(wù)重
    【參考答案】 A
    5.數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系是( )
    A.數(shù)據(jù)庫包括數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)
    B.數(shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)
    C.數(shù)據(jù)庫管理系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)
    D.3者沒有明顯的包含關(guān)系
    【參考答案】 B
    綜合應(yīng)用題
    使用VC6打開考生文件夾下的工程kt7_3,此工程包含一個源程序文件kt7_3.cpp,其中含有一個類Circle的定義,但該類的定義并不完整。請按要求完成下列操作,將類Circle的定義補(bǔ)充完整。
    (1)為類Circle增加一個構(gòu)造函數(shù),該函數(shù)有一個參數(shù),并在構(gòu)造時將該參數(shù)值賦給成員radius。將該函數(shù)實現(xiàn)為一個非內(nèi)聯(lián)函數(shù),并且使用參數(shù)列表的方式將類成員賦值。請在注釋“//**1**”之后添加適當(dāng)?shù)恼Z句。
    (2)為類Circle增加一個成員函數(shù)print(  ),使得可以輸出有關(guān)圓的信息,比如下列程序
    Circlec;
    c.SetRadius(5);
    c.Print(  );
    將輸出:Thecirclehasradiusof5!
    請在注釋“//**2**”之后添加適當(dāng)?shù)恼Z句。
    (3)完成友元函數(shù)voidCompareR(Circle*c1,Circle*c2)的定義,在屏幕中輸出c1與c2比較radius大小結(jié)果,要求使用if-else結(jié)構(gòu)完成。請在注釋“//**3**”之后添加適當(dāng)?shù)恼Z句。
    輸出結(jié)果如下:
    Thecirclehasradusof5!
    Thecirclehasradiusof10!
    c1
    注意:除在指定位置添加語句之外,請不要改動程序中的其他內(nèi)容。
    源程序文件kt7_3.cpp清單如下:
    #include
    classCircle{
    public:
    Circle(  ):radius(5){}
    //**1**
    voidSetRadius(intr){radius=r;}
    intGetRadius(  ){returnradius;}
    //**2**
    friendvoidCompareR(Circle*c1,Circle*c2);
    private:
    intradius;};
    voidCompareR(Circle*c1,Circle*c2)
    {//**3**
    cout<<"c1>c2"<
    else
    if((c1->GetRadius(  ))==(c2->GetRadius(  )))
    cout<<"c1=c2"<
    else
    if((c1->GetRadius(  ))<(c2->GetRadius(  )))
    cout<<"c1
    voidmain(  )
    {Circlec1;
    c1.SetRadius(5);
    c1.Print(  );
    Circlec2(10);
    c2.Print(  );
    CompareR(&c1,&c2);}
    【參考答案】
    (1)Circle(intrad):radius(rad){}
    (2)voidPrint(  ){cout<<"Thecirclehasradiusof"<
    (3)if((c1->GetRadius(  ))>(c2->GetRadius(  )))
    【試題解析】
    本題考查成員函數(shù)的定義與實現(xiàn),友元函數(shù),if分支語句等知識點。友元函數(shù)的類體外的定義與一般函數(shù)一樣,其中if-else的使用,else總是與其最近的那個if配對使用的,書寫時使用縮進(jìn)格式,將配對的if-else對齊,以免出錯。