C#的一些練習(xí)題(1)

一、選擇題

1、C#中char類型的編碼是()

A.ASCB. Unicode C.GBKD. IEEE

2、C#語言中沒有指針,如果想在一個方法中改變傳入的參數(shù)值,那么應(yīng)當(dāng)在調(diào)用方法時,傳入變量的__________。

A.地址 ??B引用 C.名稱 ???D. 對象

3、下面哪種情況屬于方法的重載:________。

A方法名稱相同,參數(shù)類型不同

B.方法名稱不同,參數(shù)類型不同

C.方法名稱不同,參數(shù)類型相同

D.方法名稱相同,參數(shù)類型相同

4、 如果希望一個成員,無法被外界訪問,但是可以被子類訪問,應(yīng)當(dāng)使用_____修飾符。

????A.public

B.protected

C.internal

D.private

5、關(guān)于readonly關(guān)鍵字的作用,說法正確的是:________

A.它和const關(guān)鍵字的用法與功能一樣,為了與C語言區(qū)別,所以取了新名稱

?????B. readonly所修飾的變量是只讀的,且不需要立即初始化

C. readonly用于修飾方法的參數(shù),表示該參數(shù)在方法內(nèi)不可修改

D. readonly用于修飾文件對象,表示該文件只讀

6、static修飾方法時,它的作用是________。

A.表明該方法支持多態(tài)

B.表明該方法不支持多態(tài)

????C. 定義一個靜態(tài)方法,可以通過類名調(diào)用它

D.定義一個只能被調(diào)用一次的方法,且只能通過類名調(diào)用它

7、編寫屬性(Property)時,value 關(guān)鍵字的作用是_____:

A.用于獲取屬性的值

B.在 get 方法中表示當(dāng)前屬性最新的值

????C. 它是set方法的返回值,用于表示屬性更新是否成功

????D. 它是set方法的參數(shù),表示傳入的值(引用)

8、_______不是構(gòu)造方法的特點。(這是一個不嚴謹?shù)念}目)

??A.所有類都必須有構(gòu)造方法

??B構(gòu)造方法只能通過類名稱調(diào)用

??C.構(gòu)造方法不可以被繼承

??D.構(gòu)造方法沒有返回值

?

9、重載運算符時,需要用到_________關(guān)鍵字。

A.this ??????Boperator

C.symbol ???D.operation

10、將string類型的變量 s 轉(zhuǎn)換為 int,可以用______。

??A.string.ToInt(s)

??B.Convert.ToInt32(s)

??C.(int)s

??D.int(s)

11、下面定義數(shù)組的語句,正確的是:

A.int a[] = new int[4];

Bint[] a;

C.int[] a = new int[1,2,3,4]

D.int a[] = new int[4]{1,2,3,4}

12、對于C#的多態(tài),說法正確的是:_______。

A.C#所有方法默認都是 virtual 的,直接重寫即是多態(tài)的,與 Java 類似

B父類方法用virtual修飾,子類方法用 override 修飾

C.父類方法無需用virtual修飾,子類方法用 override 修飾

D.父類方法用virtual修飾,子類方法無需用 override 修飾

13、關(guān)于interface,說法不正確的是_______。

A.interface的中文是接口

B.一個類可以實現(xiàn)多個interface

C.interface可以被繼承

D每一個類都默認從Interface繼承

14、下面有關(guān)抽象類的說法,正確的是_________

A.抽象類中至少應(yīng)有一個抽象方法

B.抽象類中的方法不能提供實現(xiàn)代碼

C.抽象類的派生類必須實現(xiàn)該抽象類的所有抽象方法

D.抽象類不能被實例化,因此不需要提供構(gòu)造方法

15、在_______情況下,無法使用 new 關(guān)鍵字創(chuàng)建一個類的對象。

A.沒有構(gòu)造方法的類

B.被const修飾的對象

C.在類的靜態(tài)方法中

D某個類被abstract關(guān)鍵字修飾

16、下面有關(guān)屬性的說法,不正確的是_______。

A.屬性可以被繼承,不能被重寫

B.屬性可以不和任何字段相關(guān)聯(lián)

C.屬性的get訪問函數(shù)是不帶參數(shù)的特殊方法

D.屬性的set訪問函數(shù)是沒有任何返回值的特殊方法

17、.NET中,所有類的父類是________。

A.class

B.System

C.Type

DObject

18、如果要寫一個只讀的屬性(Property),應(yīng)當(dāng)_______。

A.使用 readonly 修飾

B僅提供get方法

C.僅提供set方法

D.使用const修飾

19、讀取一個圖片文件的內(nèi)容時,應(yīng)當(dāng)使用_________類。

A.StreamReader ??????B.StreamWriter

C.BinaryReader????????D.BinaryWriter

20、關(guān)于構(gòu)造方法和繼承,說法正確的是______。

A.構(gòu)造方法無法被繼承,子類必須用類名調(diào)用父類構(gòu)造方法

B構(gòu)造方法無法被繼承,子類只能通過base關(guān)鍵字調(diào)用父類構(gòu)造方法

C.構(gòu)造方法是多態(tài)的,子類無需調(diào)用父類的構(gòu)造方法

D.構(gòu)造方法可以被繼承,但是子類必須調(diào)用父類構(gòu)造方法

二、填空題

[if !supportLists]1、?[endif]C#標(biāo)志符由字母、數(shù)字、下劃線組成,其中數(shù)字不能開頭。

2、面向?qū)ο笞罨镜奶卣魇?b>封裝、繼承、多態(tài)。

3、.NET中,所有類的父類是Object或 object。

4、異常處理需要使用trycatch兩個關(guān)鍵字。

6、C#中,類的繼承被限定為單繼承,但是一個類可以實現(xiàn)多個接口。

7、Plane類有一個double類型的變量 _Speed,它表示速度。請補全它的屬性定義:

public double Speed{

get{return _Speed;}

set{_Speed=value;}

8、有一個表示可繪制圖形的類(DrawableShape),它的父類是Shape。請補全下面的類定義。

abstract class Drawable Shape:Shape{

int _LineWith;

public DrawableShape():base(""DrawableShape"){

_LineWidth=1;

}

publicbastract void Draw();

}

三、問答題

1、 請說明方法重寫與重載的書寫方法。

重載:方法名稱相同,參數(shù)列表不同

重寫:方法的訪問修飾符、名稱、參數(shù)列表和返回值均相同,父類由virtual修飾,子類由override修飾

?

2、請說明構(gòu)造方法的特別之處。

(1)與類名稱相同。

(2)沒有返回值。

(3)只能通過new間接被調(diào)用。

(4)無法被繼承。

(5)所有類都具有。

(6)創(chuàng)建對象時,會從最頂層父類開始依次調(diào)用父類構(gòu)造方法。

3、對象序列化是很常用的功能,其作用是實現(xiàn)任何對象與字節(jié)數(shù)組之間的轉(zhuǎn)換。序列化是一個接口,名稱是ISerializable,它有兩個方法:

1、ToBytes:將當(dāng)前對象轉(zhuǎn)換為 byte 數(shù)組;

2、FromBytes:將數(shù)組內(nèi)容讀入對象,返回值表示是否執(zhí)行成功。

請寫出該接口的定義。

interface ISeralizable{

byte[]ToBytes();

bool From Bytes(byte[]bytes);

}

interface ISerializable{

byte[]ToBytes();

bool FromBytes(byte[]bytes);

}

4、有一個類,它有一個字符串?dāng)?shù)組成員content,請寫出對應(yīng)的索引器代碼。


String?this[int i]

{

????get { return content[i]; }

????set { content[i] = value; }

}

String this[int i]{

get{return content[i];}

set【contont[i]=value;}

}

int this[int index]{

get{return arr[index];}

set{arr[index]=value;}}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容