C#程序設(shè)計(jì)語言-試卷.doc
《C#程序設(shè)計(jì)語言-試卷.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《C#程序設(shè)計(jì)語言-試卷.doc(10頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
C#程序設(shè)計(jì)語言--試卷 一、選擇題(每小題可能有1個(gè)或多個(gè)答案) 1、下列變量的定義正確的是:A、D A、int days B、int 5days C、string week#day D、float _5days 2、已知 int a=5, double x=2.3, string str=“123”,則下列賦值正確的是:B、E、F A、a=x B、x=a C、x=str D、str=a E、a=int.Parse(str) F、a=(int)x 3、下列數(shù)組的初始化正確的是:A、B、E A、int [] a=new int[ ] {0, 1, 2}; B、int [] a=new int[3] {0, 1, 2}; C、int [] a=new int[5] {0, 1, 2}; D、int [] a=new int[ ]; E、int [] a={0, 1, 2}; 4、下面選項(xiàng)中不能作為類的成員的是:E A、變量、常量 B、方法、屬性 C、事件、索引 D、構(gòu)造函數(shù)、析構(gòu)函數(shù) E、代理 F、運(yùn)算符 5、返回值為void的函數(shù),其含義為:A A、函數(shù)被調(diào)用后,沒有返回值 B、函數(shù)被調(diào)用后,不返回 C、函數(shù)被調(diào)用后,返回值為任意類型 D、該函數(shù)不允許被調(diào)用 6、C#程序的開始執(zhí)行點(diǎn)為:C A、程序中的第一條語句 B、程序中的第一個(gè)函數(shù) C、程序中的Main()函數(shù) 7、以下屬于構(gòu)造函數(shù)的特點(diǎn)的是:A、B、C A、方法名和類名相同 B、沒有返回值 C、主要作用是完成對(duì)類對(duì)象的初始化 D、創(chuàng)建類對(duì)象(用new關(guān)鍵字)時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用 8、以下關(guān)于構(gòu)造函數(shù)的說法正確的是:A、B、D A、如果沒有為類定義任何構(gòu)造函數(shù),則系統(tǒng)會(huì)給該類加一個(gè)默認(rèn)的無參構(gòu)造函數(shù) B、如果為類定義了構(gòu)造函數(shù),則創(chuàng)建類對(duì)象時(shí)永遠(yuǎn)不會(huì)調(diào)用系統(tǒng)默認(rèn)構(gòu)造函數(shù) C、構(gòu)造函數(shù)不可以進(jìn)行重載 D、構(gòu)造函數(shù)也可以被聲明為靜態(tài)的(static) 9、以下關(guān)于事件的說法正確的是:A、B、C、D A、事件和成員變量、成員方法一樣,也是類的一種成員 B、事件機(jī)制必須通過代理來實(shí)現(xiàn)的 C、事件也支持多播(多重代理),即,一個(gè)事件可以同時(shí)有多個(gè)事件處理方法 D、事件處理方法的簽名必須和事件代理的簽名相一致 10、以下關(guān)于運(yùn)算符重載的說法正確的是:A、B、C、E A、運(yùn)算符重載實(shí)際上也是函數(shù)重載 B、一個(gè)運(yùn)算符可以被重載多次,只要每次重載的參數(shù)列表不同 C、賦值運(yùn)算符(包括復(fù)合賦值運(yùn)算符)不能重載 D、所有運(yùn)算符都可以進(jìn)行重載 E、重載關(guān)系運(yùn)算符時(shí)必須成對(duì)重載(如:重載>時(shí),也必須重載<) 11、以下關(guān)于結(jié)構(gòu)的說法正確的是:A、D A、結(jié)構(gòu)和類相似,也包含數(shù)據(jù)和方法的定義 B、類支持嵌套,而結(jié)構(gòu)不支持嵌套 C、類支持單繼承,結(jié)構(gòu)和類一樣,也支持單繼承 D、和類一樣,結(jié)構(gòu)也可以實(shí)現(xiàn)一個(gè)或多個(gè)接口 E、和類一樣,也可以為結(jié)構(gòu)體定義的無參構(gòu)造函數(shù) 12、以下關(guān)于接口的說法正確的是:B、C、D A、接口類似于類,也可以包含數(shù)據(jù)和方法 B、接口中只有成員的聲明,沒有成員的實(shí)現(xiàn) C、類只允許單繼承,而接口允許多繼承 D、接口中所有成員都被默認(rèn)為公有,不能有任何訪問權(quán)限修飾符 E、一個(gè)類或結(jié)構(gòu)要實(shí)現(xiàn)某個(gè)接口時(shí),可以實(shí)現(xiàn)接口的部分成員,也可以實(shí)現(xiàn)全部成員 13、下列給字符串賦值正確的是:B、C A、string filePath = ”C:\ Windows\ readme.txt” ; B、string filePath = ”C:\\ Windows\\ readme.txt” ; C、string filePath = @ ”C:\ Windows\ readme.txt” ; D、string filePath = C:\\ Windows\\ readme.txt ; E、string filePath = ”@ C:\ Windows\ readme.txt” ; 14、已知 int x=7; int y=2; 則x/y 的結(jié)果為:B A、3.5 B、3 C、4 D、3.0 15、已知 int [ , ] a=new int[3,4]; 則數(shù)組a 中最后一個(gè)元素為:C A、a[3,4] B、a[3][4] C、a[2,3] D、a[2][3] 16、已知 int [ ][ ] a=new int[3][ ]; 則數(shù)組 a 中有_ B__個(gè)元素。 A、2 B、3 C、0 D、未知 17、已知 double y = 3.7 ; int x = (int) y ; 則x = ___A__ A、3 B、3.0 C、4 D、3.7 18、將字符型變量賦值為一個(gè)單引號(hào)的語句是:__C___ A、char myChar = ‘ ‘ ’ ; B、char myChar = ’ ; C、char myChar = ‘ \ ‘ ’ ; D、char myChar = \ ‘ ; 19、下列變量的初始化正確的是:__A___ A、int x=7, y=7, z=7 ; B、int x = y= z=7 ; C、int x = 7 ; y= 7; z=7; D、int x=7, y=z=x ; 20、以下關(guān)于Main() 函數(shù)的敘述正確的是:__A、D___ A、Main() 函數(shù)是整個(gè)程序的入口點(diǎn),任何程序都是從Main() 函數(shù)開始執(zhí)行 B、Main() 函數(shù)的返回值可以是任意類型 C、Main() 函數(shù)可以說明為靜態(tài)的(static),也可以說明為非靜態(tài)的 D、Main() 函數(shù)的保護(hù)級(jí)別一般為public,也可以省略不寫 21、類的缺省訪問權(quán)限修飾符為:__B___ A、public B、internal C、private D、protected 22、類的成員變量的缺省訪問權(quán)限修飾符為:___C__ A、public B、internal C、private D、protected 23、已知 int [] a=new int [ ] {3, 7, 23, 15}; 則a[2]=__ B___ A、7 B、23 C、15 D、不存在 E、0 24、已知 int x=29,y=5; 則x%y =__C___ A、6 B、5 C、4 D、5.8 25、已知 int x=3, y; y= x++ ; 則___B___ A、x=3, y=3 B、x=4, y=3 C、x=4, y=4 D、x=3, y=4 26、已知 int x=5, y; y= - -x ; 則__D___ A、x=5, y=5 B、x=4, y=5 C、x=5, y=4 D、x=4, y=4 27、下面有關(guān)方法重載的說法正確的是__C___ A、重載方法必須有不同的返回值類型 B、重載方法形參個(gè)數(shù)必須不同; C、重載函數(shù)必須有不同的形參列表 D、重載函數(shù)名可以不同; 二 、填空題 1、循環(huán)次數(shù)已知,則可以用____循環(huán),循環(huán)次數(shù)未知,則應(yīng)用____循環(huán) 2、程序流程包括____結(jié)構(gòu)、____結(jié)構(gòu)和____結(jié)構(gòu)3種基本結(jié)構(gòu) 3、面向?qū)ο蟮娜齻€(gè)基本特征是______、______和______。 4、面向?qū)ο蠹夹g(shù)中,實(shí)現(xiàn)“多態(tài)”的方式包括:______和______。 5、訪問權(quán)限修飾符包括:______、______、internal和protected。 6、屬性包括______訪問器和_______訪問器。 7、變量名只能由____、______、下劃線組成,并只能以______或下劃線(不推薦)開頭 8、類對(duì)象的初始化工作是由______來完成的 9、方法的參數(shù)類型包括:______、______、輸出類型和數(shù)組類型4種類型 10、事件機(jī)制是通過______來實(shí)現(xiàn)的 11、C#中的數(shù)據(jù)類型主要分為兩類:______和______。 12、已知 int x=3, y; y= x++ ; 則x=______,y=______。 13、已知 int x=5, y; y= - -x ; 則x=______,y=______。 14、已知 int x;double y=3.7; x= (int) y ; 則x=______。 15、已知 int x=14,y=5; 則x/y =______。 16、已知 int x=29,y=5; 則x%y =______。 17、已知 int [] a=new int [ ] {3, 7, 23, 15}; 則a[2]=______。 18、已知 int [ , ] a=new int [4,6 ]; 則a 中共有______個(gè)元素,最后一個(gè)元素是:______。 三、判斷題 1、continue語句用于結(jié)束本次循環(huán),而break語句用于結(jié)束整個(gè)循環(huán) 2、當(dāng)多重循環(huán)的內(nèi)循環(huán)中含有break語句,則可通過此break語句跳出整個(gè)多重循環(huán) 3、在C#中,一個(gè)類可以同時(shí)繼承多個(gè)類,也可以由多個(gè)類繼承 4、一個(gè)父類可以同時(shí)擁有多個(gè)子類,這時(shí),父類其實(shí)是所有子類的公共屬性的集合 5、如果在聲明類時(shí),沒有指定訪問修飾符,則默認(rèn)為public 6、如果一個(gè)屬性中只含有set訪問器,那么它是一個(gè)只讀屬性 7、代理既可以引用靜態(tài)方法也可以引用實(shí)例方法 8、重載運(yùn)算符時(shí),必須聲明為:public static型 9、屬性既可以定義為類的實(shí)例成員,也可以定義為類的靜態(tài)成員;而索引只能定義為類的實(shí)例成員 10、結(jié)構(gòu)和類在定義和使用上都很相似,它們最大的區(qū)別是:結(jié)構(gòu)是值類型,而類是引用類型 11、在C#中,所以預(yù)定義類型或自定義的類都直接或間接地繼承于Object類 12、當(dāng)一個(gè)類繼承另一個(gè)類時(shí),將繼承其所有成員(包括其私有成員) 13、類的靜態(tài)方法只能訪問類的靜態(tài)成員,而類的實(shí)例方法可以訪問類的任何成員 14、在一個(gè)類中可以包含另一個(gè)類的完整的定義 15、已知 int [ , ] a=new int [4,6 ]; 則a 中最后一個(gè)元素是a[4,6] 四、簡答題 1、值類型數(shù)據(jù)和引用類型的區(qū)別 2、類與對(duì)象的關(guān)系 3、面向?qū)ο蟮娜齻€(gè)基本特征 4、面向?qū)ο蠹夹g(shù)中的“多態(tài)”是指什么,它可以通過那幾種方式來實(shí)現(xiàn) 5、抽象類和密封類分別用什么關(guān)鍵字來聲明,它們的特點(diǎn)分別是什么 6、靜態(tài)成員和實(shí)例成員的區(qū)別:從以下幾點(diǎn)說明 ①聲明格式 ②所屬對(duì)象(即:屬于類,還是屬于某個(gè)實(shí)例) ③訪問方試 7、訪問權(quán)限修飾符有哪幾種,分別代表什么含義 8、重載方法時(shí),如何區(qū)分多個(gè)功能相似的同名方法 9、什么是方法的形參和實(shí)參,方法的參數(shù)包括哪幾種類型,分別用什么關(guān)鍵字來聲明 10、C#支持哪幾種類型的注釋,其界定符和功能分別是什么?.Net框架中又引入了哪種類型的注釋,其界定符和功能是什么? 11、使用帶參數(shù)的方法時(shí),值類型參數(shù)和引用類型參數(shù)的區(qū)別 五、讀程題 1、閱讀程序,回答問題 int x=3, y, z; x++; y=++x; z=x++; 以上四條語句執(zhí)行完后x, y, z值分別是幾? 2、閱讀程序,回答問題 for( int i=0; i<10; i+=2) Console.Write(“{0, 3}”, i); 以上循環(huán)將執(zhí)行幾次? 3、如下函數(shù)用于判斷兩個(gè)值是否相等,請(qǐng)找出其中的錯(cuò)誤 public void Equal() { int x=3, y=5; if( x=y) Console.WriteLine(“Equal”); else Console.WriteLine(“Unequal”); } 4、如下switch語句的使用是否正確,如果有誤,請(qǐng)指出 string str=“優(yōu)”; switch(n) case “優(yōu)” : Console.WriteLine(“優(yōu)”); case “良” : Console.WriteLine(“良”); case “及格” : Console.WriteLine(“及格”); case “不及格” : Console.WriteLine(“不及格”); default : Console.WriteLine(“未知”); 5、如下方法的定義是否正確,如果有誤,請(qǐng)指出 public void Square( int x) { return x*x; } 6、請(qǐng)找出如下程序的錯(cuò)誤 class MyClass { int x; public static int y; } class AppClass { public void Main() { MyClass obj=new MyClass(); obj.x=5; obj.y=7; } } 7、如下程序用于實(shí)現(xiàn)兩個(gè)數(shù)值的交換功能,請(qǐng)將程序補(bǔ)充完整 class MyClass { } class AppClass { public static void Main() { int x=5, y=10; MyClass.Swap( ref x, ref y); } } 8、下面是一個(gè)通過屬性來訪問成員變量的程序段,請(qǐng)將其補(bǔ)充完整(要求變量age的取值只能是0~100) class StudentInfo { int age; public int age { get { return age; } set { } } } 9、下面是一個(gè)關(guān)于代理使用的程序段,請(qǐng)找出其中的錯(cuò)誤 delegate double MyDelegate( ); class MyClass { public static double Square( double x) { return x*x; } } class AppClass { public static void Main() { double x=5; MyDelegate d=new MyDelegate( MyClass.Square( ) ); Console.WriteLine(“{0}的平方是:{1}”, x, d(x) ); } } 10.寫出函數(shù)的功能 public int Func ( int a, int b, int c) { if (a >= b && a >= c ) return a; else if(b >= a && b >= c ) return b; else return c; } 11、寫出函數(shù)的功能 public int Func ( ref int x, ref int y ) { int temp=x; x=y; y=temp; } 12、寫出程序的運(yùn)行結(jié)果 using System; class Exchange { public static void Swap( int x, int y) { int temp=x; x=y; y=temp; } } class AppClass { static void Main() { int a=5, b=10; Exchange.Swap( a, b); Console.WriteLine(“a={0}, b={1}”, a, b); } } 13、寫出程序的運(yùn)行結(jié)果 using System; class FatherClass { public FatherClass () { Console.WriteLine("Construct FatherClass "); } } class SonClass : FatherClass { public SonClass () { Console.WriteLine("Construct SonClass "); } } class App //應(yīng)用類 { public static void Main() { SonClass obj=new SonClass (); } } 六、設(shè)計(jì)題 1、定義一個(gè)類,其中包含一個(gè)成員變量age 要求: ①在類外邊不能直接訪問該成員變量 ②通過一個(gè)可讀寫屬性來訪問該成員變量 ③變量age的取值只能是0~100 2、設(shè)計(jì)一個(gè)學(xué)生信息類 要求: ①可以存儲(chǔ)學(xué)生的學(xué)號(hào),姓名,年齡信息。 ②至少包含兩個(gè)成員方法:學(xué)生信息的注冊(cè)(輸入)、查詢 ③學(xué)生信息的輸入通過構(gòu)造函數(shù)來完成 ④信息查詢要求按學(xué)號(hào)查詢,并輸出查詢結(jié)果(若找到,輸出該學(xué)生所有信息;否則,輸出“查無此人”) 3、設(shè)計(jì)一個(gè)用于計(jì)算圓的周長和面積的類 要求: ①至少包含三個(gè)成員方法:計(jì)算圓周長、計(jì)算圓面積、輸出計(jì)算結(jié)果 ②圓半徑是通過參數(shù)傳遞到方法中的 ③圓周率值在定義后不能再被改變 4、編寫一個(gè)類,能夠根據(jù)輸入的學(xué)生成績,顯示相應(yīng)的等級(jí)。 要求: ①至少包含兩個(gè)成員方法:學(xué)生成績的輸入、等級(jí)的劃分與顯示 ②等級(jí)分為:優(yōu)、良、及格和不及格 ③當(dāng)輸入的成績無效時(shí),能給出錯(cuò)誤提示 5、編寫一個(gè)用于數(shù)學(xué)計(jì)算的類,能夠計(jì)算一個(gè)整數(shù)x的階乘、平方和1~x之和。 要求: ①至少包含三個(gè)方法:計(jì)算整數(shù)x的階乘、計(jì)算整數(shù)x的平方、計(jì)算整數(shù)1~x之和 ②整數(shù)x 是通過參數(shù)的形式傳遞到方法中的 6、創(chuàng)建一個(gè)Add類,實(shí)現(xiàn)計(jì)算10個(gè)正數(shù)之和,并顯示求和結(jié)果。 要求: ①至少包含三個(gè)成員方法:數(shù)據(jù)的輸入、計(jì)算、輸出計(jì)算結(jié)果 ②參與計(jì)算的10個(gè)正數(shù)要求從鍵盤上輸入 一、 判斷題- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- C# 程序設(shè)計(jì)語言 試卷
鏈接地址:http://www.820124.com/p-9067331.html