做惡搞圖片的網(wǎng)站海外推廣專員
1. 以下保留字( ?)不能出現(xiàn)在說明虛函數(shù)原型的語句中。
A.static
B.operator
C.void
D.const
參考答案:A
?
2. 一個類中只能定義一個析構(gòu)函數(shù)。( ?)
A.對
B.錯
參考答案:A
解釋:
在C++中,一個類只能有一個析構(gòu)函數(shù)。析構(gòu)函數(shù)在對象生命周期結(jié)束時被自動調(diào)用,用于執(zhí)行清理工作,如釋放資源。
3. 設(shè)B類是A類的派生類。當創(chuàng)建一個B類的對象時,構(gòu)造函數(shù)的調(diào)用順序是( ?)。
A.視定義時A類和B類出現(xiàn)的位置
B.先調(diào)用B類的構(gòu)造函數(shù),然后調(diào)用A類的構(gòu)造函數(shù)
C.先調(diào)用A類的構(gòu)造函數(shù),然后調(diào)用B類的構(gòu)造函數(shù)
D.不調(diào)用A類的構(gòu)造函數(shù)
參考答案:C
?
4. 程序控制語句主要包括選擇、循環(huán)和( ?)。
A.跳轉(zhuǎn)
B.注釋
C.條件編譯
D.宏定義
參考答案:A
?
7. 下列運算符中,優(yōu)先級最高的是( ?)。
A.&&
B.++
C.+
D.*
參考答案:B
?
8. 以下正確的說法是( ?)。
A.系統(tǒng)不允許用戶重新定義標準庫函數(shù)
B.用戶調(diào)用標準庫函數(shù)前,必須重新定義
C.用戶調(diào)用標準庫函數(shù)前,不必使用預(yù)編譯命令將該函數(shù)所在文件包括到用戶源文件中
D.用戶可以重新定義標準庫函數(shù),若如此,該函數(shù)將失去原有含義
參考答案:D
?
9. 程序在調(diào)用重載函數(shù)時,根據(jù)( ?)區(qū)分到底要調(diào)用哪個函數(shù)?
A.函數(shù)名
B.返回值類型
C.參數(shù)個數(shù)和類型
D.以上都可以
參考答案:C
?
10. 設(shè)i、j、k為類x中定義的int型變量名,下列類x的構(gòu)造函數(shù)中不正確的是( ?)
A.x( int m){ ... }
B.void x( int m){ ... }? ?//void
C.x( int m, int n){ ... }
D.x( int h,int m,int n){ ... }
參考答案:B
11. 虛基類是用來解決多繼承中公共基類在派生類中產(chǎn)生多份基類成員的問題。( ?)
A.正確
B.錯誤
參考答案:A
?
12. 下列類中( ?)是輸入/輸出流類iostream的派生類。
A.fstream
B.ofstream
C.ifstream
D.ostream
參考答案:A
?
13. 下面函數(shù)原型聲明中,( ?)聲明了fun為純虛函數(shù)。
A.void fun( ?)=0;
B.virtual void fun( ?)=0;
C.virtual void fun( ?);
D.virtual void fun( ?){};
參考答案:B
?
在C++中,純虛函數(shù)是一種特殊的虛函數(shù),它在基類中被聲明但沒有定義。純虛函數(shù)在類定義中使用 = 0 語法來標識。
現(xiàn)在,我們來看給定的選項:
A. void fun() = 0;
這個聲明缺少了 virtual 關(guān)鍵字,所以它不是一個純虛函數(shù)聲明。
B. virtual void fun() = 0;
這個聲明正確地使用了 virtual 和 = 0 語法來聲明一個純虛函數(shù)。
C. virtual void fun();
這個聲明聲明了一個虛函數(shù),但沒有使用 = 0,所以它不是一個純虛函數(shù)。
D. virtual void fun() {};
這個聲明不僅聲明了一個虛函數(shù),還提供了函數(shù)的定義體(即使它是空的)。由于它提供了定義,所以它也不是一個純虛函數(shù)。
因此,正確答案是B。
14. 不同的函數(shù)中可以使用相同名字的變量。( ?)
A.對
B.錯
參考答案:A
?
15. 下列代碼的執(zhí)行結(jié)果是( ?)。 public class A{public static void main(String[]args){System.out.println(5/2);}}
A.2.5
B.3
C.2
D.2.0
參考答案:C
?
16. 派生類中至少包含了它的所有基類的成員(除構(gòu)造函數(shù)和析構(gòu)函數(shù)外),在這些成員中可能有的是不可訪問。( ?)
A.正確
B.錯誤
參考答案:A
?
17. 派生類是從基類派生出來,它不能再生成新的派生類。( ?)
A.正確
B.錯誤
參考答案:B
在面向?qū)ο缶幊讨?#xff0c;特別是使用C++、Java等語言時,派生類(也稱為子類或子類型)是從基類(也稱為父類或超類)派生出來的,但它本身也可以被用作基類來派生新的派生類(有時稱為子類的子類或?qū)O子類)。
18. 下列的符號常量定義中,錯誤的定義是( ?)。
A.const? int? M=20
B.const char ch
C.const? ?bool? mark=true
D.const M=10
參考答案:B??
當我們使用const來聲明一個常量時,我們必須同時指定它的類型。在這里,M沒有類型,所以這是無效的。
因此,錯誤的定義是D。const M = 10;
19. 派生類至少有一個基類。( ?)
A.對
B.錯
參考答案:A
?
20. 假定要對類AB定義加號操作符重載成員函數(shù),實現(xiàn)兩個AB類對象的加法,并返回相加結(jié)果,則該成員函數(shù)的聲明語句為( ?)。 ????
A. AB operator+(AB&a,AB&b)
B.AB operator+(AB&a)
C.operator+(ABa)? //缺少返回類型
D.AB &operator+( ?)? ?//沒有參數(shù)
參考答案:B
?
21. 一個Java類可以有多個父類。( ?)
A.錯誤
B.正確
參考答案:A
?
22. 當處理特定問題時的循環(huán)次數(shù)已知時,通常采用( ?)來解決。
A.while循環(huán)
B.switch語句
C.for循環(huán)
D.do循環(huán)
參考答案:C
?
23. C語言中scanf命令在c++中改用cin。( ?)
A.正確
B.錯誤
參考答案:A
?
24. 假定一條定義語句為“int a[10],x,*pa=a;”,若要把數(shù)組a中下標為3的元素值賦給x,則不正確的語句為( ?)。???
A.x=pa[3]
B.x=a[3]
C.x=*pa+3
D.x=*(a+3)
?
首先,定義語句 int a[10], x, *pa = a; 做了以下幾件事情:
定義了一個有10個整數(shù)的數(shù)組 a。
定義了一個整數(shù)變量 x。
定義了一個指向整數(shù)的指針 pa,并將它初始化為指向數(shù)組 a 的第一個元素。
現(xiàn)在,我們要找出哪個語句不能正確地將數(shù)組 a 中下標為3的元素值賦給 x。
A. x = pa[3];
這是正確的。因為 pa 指向 a 的第一個元素,所以 pa[3] 實際上就是 a[3]。
B. x = a[3];
這也是正確的。它直接引用了數(shù)組 a 的第四個元素(因為數(shù)組索引從0開始)。
C. x = *pa + 3;
這是不正確的。這個語句實際上是將 a 的第一個元素的值(即 a[0] 或 *pa)與整數(shù)3相加,而不是取得 a[3] 的值。
D. x = *(a + 3);
這是正確的。在C/C++中,數(shù)組名是一個指向其第一個元素的指針。因此,a + 3 指向 a 的第四個元素,而 *(a + 3) 就是 a[3] 的值。
所以,不正確的語句是 C. x = *pa + 3;。
25. 設(shè)x=1,y=2,z=3,則表達式y(tǒng)+=z--/++x的值是( ?)。
A.3
B.3.5
C.4
D.5
參考答案:A
。
現(xiàn)在,我們來看表達式 y += z--/++x:
++x 首先執(zhí)行(因為它是前綴自增),此時 x 的值變?yōu)?2。
z-- 是后綴自減,但在這一步它不會立即改變 z 的值,而是返回 z 的原始值(即 3)。
然后執(zhí)行除法 z--/++x,即 3/2,結(jié)果為 1(因為C/C++中的整數(shù)除法會向下取整)。
接下來,后綴自減 z-- 的副作用發(fā)生,z 的值變?yōu)?2。
最后,執(zhí)行加法賦值 y += ...,即 y = y + 1,因為前面的除法結(jié)果是 1。由于 y 的初始值是 2,所以 y 的新值變?yōu)?3。
因此,表達式 y += z--/++x 的值是 3。
答案是 A.3。
26. 一個( ?)允許用戶為類定義一種模式,使得類中的某些數(shù)據(jù)成員、某些成員函數(shù)的參數(shù)和返回值可以取任意數(shù)據(jù)類型。
A.函數(shù)模板
B.模板函數(shù)
C.類模板
D.模板類
參考答案:C
?
27. 下列關(guān)于構(gòu)造函數(shù)說法不正確的是( ?)。
A.構(gòu)造函數(shù)必須與類同名
B.構(gòu)造函數(shù)可以省略不寫
C.構(gòu)造函數(shù)必須有返回值
D.在構(gòu)造函數(shù)中可以對類中的成員進行初始化
參考答案:C
?
28. 已知如下代碼:boolean m = true; if( m = false) System.out.println(“False”); else System.out.println(“True”);執(zhí)行結(jié)果是( ?)。
A.False
B.True
C.None
D.出錯
參考答案:B
?
29. 定義一個類名為“MyClass.java”的類,并且該類可被一個工程中的所有類訪問,那么該類的正確聲明應(yīng)為( ?)。
A.private class MyClass extends Object
B.class MyClass extends Object
C.public class MyClass
D.public class MyClass extends Object
參考答案:CD
?
30. 程序中主函數(shù)的名字為( ?)。
A.任意標識符
B.main
C.Main
D.MAIN
參考答案:B
?