點擊查看:2018年9月計算機二級C++考前基礎練習題及答案匯總
1.在C++中,cin是一個( )。
A.類
B.對象
C.模板
D.函數
2.在下列字符中,不允許作為C++標識符的是( )。
A.b
B.B
C._
D.2
3.下列敘述中,錯誤的是( )。
A.false是一個邏輯型常量
B.“b”’是一個字符型常量
C.365是一個int常量
D.3.1415926是一個double常量
4.若x和y是程序中的兩個整型變量,則下列if語句中正確的是( )。
A.if(x==O)y=1;elsey=2;
B.if(x==0)theny=1elsey=2
C.if(x==O)y=1elsey=2;
D.ifx==0y=1elsey=2;
5.要定義整型數組x,使之包括初值為0的3個元素,下列語句中錯誤的是( )。
A.intx[3]={0,0,0};
B.intx[]={0};
C.staticintx[3]={0);
D.intx[]={0,0,0};
6.關于函數中的<返回類型>,下列表述中錯誤的是( )。
A.<返回類型>中有可能包含關鍵字int
B.<返回類型>中有可能包含自定義標識符
C.<返回類型>中有可能包含字符*
D.<返回類型>中可能包含[]
7.要定義一個引用變量P,使之引用類MyClass的一個對象,正確的定義語句是( )。
A.MyClassp=MyClass;
B.MyClassp=newMyClass;
C.MyClass&p=newMyClass;
D.MyClassa,&p=a;
8.有如下兩個類定義:
classXX{
private:
doublexl;
protected:
doublex2;
public:
doublex3;
};
claseYY:protectedXX{
private:
doubleyl;
protected:
doubley2;
public:
doubley3;
};
在類YY中保護成員變量的個數是( )。
A.1
B.2
C.3
D.4
9.下列關于運算符重載的描述中,錯誤的是( )。
A.可以通過運算符重載在C++中創建新的運算符
B.賦值運算符只能重載為成員函數
C.運算符函數重載為類的成員函數時,第一操作參數就是該類對象
D.重載類型轉換運算符時不需要聲明返回類型
10.下列關于類模板的描述中,錯誤的是( )。
A.類模板的成員函數都是模板函數
B.可以為類模板參數設置默認值
C.類模板描述了一組類
D.類模板中只允許有一個類型參數
參考答案:
1.B。【解析】C++提供了一套輸入、輸出流類的對象,它們是cin、cout和eerr,對應C語言中的3個文件指針stdin、stdout、stderr,分別指向終端輸入、終端輸出和標準出錯輸出(也從終端輸出)。
cin與>>一起完成輸入操作,cout、eerr與<<一起完成輸出與標準錯誤輸出。
2.D。【解析】在C++中,標識符只能以字母、數字和下畫線組成,并且首字母不能為數字。所以D選項錯誤。
3.D。0【解析]double型數據一般占8個字節,D選項超出了范圍。
4.A。【解析】if…else語句的格式“if(<條件>)<語句1>else<語句2>”注意語句結束要以分號結尾,對照題中選項可知A正確。
5.D。【解析】選項D中整型數組x的第一個元素是NULL,不是0,故選D。
6.B。【解析】<返回類型>又稱函數類型,表示一個
函數所計算(或運行)的結果值類型,這里的類型可以是預定義類型(如int)、復合類型(如double*)、用戶定義類型(如枚舉類),若返回值只做更新(或設置)等操作,則該函數返回類型為void類型,函數類型和內置數組不能作為返回類型,但類類型和容器類型可以被直接返回。
7.D。【解析】選項A錯誤不存在這樣的定義方式;選項B定義了一個M:yClass類的對象P;選項C是Java里的定義方式。
8.C。【解析】派生類從基類保護繼承classYY:pr0-teetedXX時,基類的公有成員在派生類中變為保護成員,基類的保護成員在派生類中仍然是保護成員;本題中YY本身有一個保護成員y2,再加上基類XX的x2和x3,故選C。
9.A。【解析】運算符的重載是針對C++中原有運算符進行的,不能通過重載創造新的運算符。
10.D。【解析】類模板是一系列相關類的模板,類成員組成相同,成員函數的源代碼形式相同,所不同的是所針對的類型。類模板的成員函數都是模板函數,在用類模板定義對象時,由于沒有像函數實參表這樣的額外信息渠道,因此無法按函數模板的方式省略模板實參。但可以為類模板的參數設置默認值。由此可知應選D。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: