1). 若已定義的函數(shù)有返回值,則以下關于該函數(shù)調(diào)用的敘述中錯誤的是( )。
A.函數(shù)調(diào)用可以作為獨立的語句存在
B.函數(shù)調(diào)用可以無返回值
C.函數(shù)調(diào)用可以出現(xiàn)在表達式中
D.函數(shù)調(diào)用可以作為、一個函數(shù)的形參
正確答案:D
答案解析:本題考查函數(shù)的調(diào)用方式。函數(shù)的形參和實參具有以下特點:①形參變量只有在被調(diào)用時才分配內(nèi)存單元,在調(diào)用結(jié)束時,即刻釋放分配的內(nèi)存單元,因此,形參只有在函數(shù)內(nèi)部有效,函數(shù)調(diào)用結(jié)束返回主調(diào)函數(shù)后則不能再使用該形參變量;②實參可以是常量、變量、表達式、函數(shù)等,無論實參是何種類型的量,在進行函數(shù)調(diào)用時,它們都必須具有確定的值,以便把這些值傳送給形參,因此應通過預先用賦值、輸入等辦法使實參獲得確定值;③實參和形參在數(shù)量上、類型上、順序上應嚴格一致,否則會發(fā)生″類型不匹配″的錯誤;④函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數(shù)調(diào)用過程中,形參的值發(fā)生改變,而實參中的值不會變化。
2). 對于語句″cout< < <1<< < <2;″的輸出結(jié)果是( )。
A.*********1*2
B.********12
C.*******1*2
D.12********
正確答案:A
答案解析:C++語言中,setfill的意思是在空格的地方填上setfill函數(shù)中的參數(shù)字符,setw的意思是設置整個輸出字符串的字符個數(shù),本題中用*來代替空格。
3). 下列關于運算符重載不正確的是( )
A.運算符重載不能改變運算符的操作數(shù)個數(shù)
B.運算符重載不能改變運算符的優(yōu)先級
C.運算符重載不能改變運算符的結(jié)合性
D.運算符重載能改變對預定義類型數(shù)據(jù)的操作方式
正確答案:D
4). 通?截悩(gòu)造函數(shù)的參數(shù)是
A.某個對象名
B.某個對象的成員名
C.某個對象的引用名
D.某個對象的指針名
正確答案:C
答案解析:拷貝初始化構(gòu)造函數(shù)的作用是用一個已知的對象來初始化一個被創(chuàng)建的同類的對象,該函數(shù)只有一個參數(shù),并且是對同類的某個對象的引用。
5). 下面關于模板的描述,錯誤的是
A.函數(shù)模板和類模板的參數(shù)可以是任意的數(shù)據(jù)類型
B.類模板不能直接使用,必須先實例化為相應的模板類,然后定義了模板類的對象后才能使用
C.函數(shù)模板不能直接使用,需要實例化為模板函數(shù)后才能使用
D.類模板的成員函數(shù)都是模板函數(shù)
正確答案:A
答案解析:類模板不能被重載,而函數(shù)模板可以,它們不能被未知的數(shù)據(jù)類型替換。