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

字號:


    1). 下面說法正確的是( )。
    A.內(nèi)聯(lián)函數(shù)在運(yùn)行時是將該函數(shù)的目標(biāo)代碼插入每個調(diào)用該函數(shù)的地方
    B.內(nèi)聯(lián)函數(shù)在編譯時是將該函數(shù)的目標(biāo)代碼插入每個調(diào)用該函數(shù)的地方
    C.類的內(nèi)聯(lián)函數(shù)必須在類體內(nèi)定義
    D.類的內(nèi)聯(lián)函數(shù)必須在類體外通過加關(guān)鍵字inline定義
    正確答案:B
    答案解析:內(nèi)聯(lián)函數(shù)用inline修飾,用于取代C語言中的宏定義。inline是建議機(jī)制而不是強(qiáng)制機(jī)制,也就是說,程序員可以指定任意函數(shù)為inline函數(shù),但是編譯器會根據(jù)系統(tǒng)情況來決定是否將其inline處理。對于較大的函數(shù),編譯器往往會取消其inline特性。inline函數(shù)的特點(diǎn)之一就是執(zhí)行速度快,其實(shí)質(zhì)是在編譯時將函數(shù)的目標(biāo)代碼插入到每個調(diào)用該函數(shù)的地方,從而沒有出棧入棧、保護(hù)現(xiàn)場等開銷,提高了效率。在類體內(nèi)定義的成員函數(shù),自動被編譯器當(dāng)做內(nèi)聯(lián)函數(shù)處理,在類體外定義的成員函數(shù),如果用inline修飾,則編譯器也認(rèn)為是一種內(nèi)聯(lián)建議。
    2). 使用ifstream流類定義流對象并打開磁盤文件時,文件的隱含打開方式為( )。
    A.ios::in
    B.ios::out
    C.ios::inlios::out
    D.沒有默認(rèn)
    正確答案:D
    答案解析:使用ifstream流類定義流對象并打開磁盤文件時,文件沒有默認(rèn)的打開方式。其中IOS::in是為輸入而打開;1SO::out是為輸出而打開。
    3). 下列關(guān)于棧敘述正確的是( )
    A.棧頂元素最先能被刪除
    B.棧頂元素最后才能被刪除
    C.棧底元素永遠(yuǎn)不能被刪除
    D.棧底元素最先被刪除
    正確答案:A
    答案解析:棧是先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),所以棧頂元素最后入棧卻最先被刪除。棧底元素最先入棧卻最后被刪除。所以選擇A。
    4). 對長度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為( )。
    
    正確答案:C
    答案解析:對線性表進(jìn)行順序查找,最壞情況下,如果從表頭進(jìn)行查找,要查找到表尾才能得出結(jié)果,因此需要比較n次。
    5). 為了使類中的某個成員不能被類的對象通過成員操作符訪問,則不能把該成員的訪問權(quán)限定義為
    A.public
    B.protected
    C.private
    D.static
    正確答案:A
    答案解析:本題考察點(diǎn)為類成員的訪問權(quán)限,public關(guān)鍵字修飾的類成員可以被類的對象通過成員操作符"."直接訪問,protected和private則不能,而static不能單獨(dú)修飾類的成員。
    6). 在設(shè)計程序時,應(yīng)采納的原則之一是
    A.不限制goto語句的使用
    B.減少或取消注解行
    C.程序越短越好
    D.程序結(jié)構(gòu)應(yīng)有助于讀者理解
    正確答案:D
    7). 設(shè)有定義″char s[8];int i=0;″,下列不能將一行(不超過80個字符)帶有空格的字符串正確讀人的語句或語句組是( )。
    
    正確答案:C
    答案解析:在scanf輸入函數(shù)中,格式字符s的作用是輸入一個字符串,直到遇到空格結(jié)束。所以選項(xiàng)C不能輸入包含空格的字符串。正確答案為選項(xiàng)C。
    8). 單個用戶使用的數(shù)據(jù)視圖的描述稱為
    A.外模式
    B.概念模式
    C.內(nèi)模式
    D.存儲模式
    正確答案:A