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