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

字號:


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