C#程序設計語言-試卷.doc
《C#程序設計語言-試卷.doc》由會員分享,可在線閱讀,更多相關《C#程序設計語言-試卷.doc(10頁珍藏版)》請在裝配圖網上搜索。
C#程序設計語言--試卷 一、選擇題(每小題可能有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、下列數組的初始化正確的是: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、構造函數、析構函數 E、代理 F、運算符 5、返回值為void的函數,其含義為:A A、函數被調用后,沒有返回值 B、函數被調用后,不返回 C、函數被調用后,返回值為任意類型 D、該函數不允許被調用 6、C#程序的開始執(zhí)行點為:C A、程序中的第一條語句 B、程序中的第一個函數 C、程序中的Main()函數 7、以下屬于構造函數的特點的是:A、B、C A、方法名和類名相同 B、沒有返回值 C、主要作用是完成對類對象的初始化 D、創(chuàng)建類對象(用new關鍵字)時,系統(tǒng)會自動調用 8、以下關于構造函數的說法正確的是:A、B、D A、如果沒有為類定義任何構造函數,則系統(tǒng)會給該類加一個默認的無參構造函數 B、如果為類定義了構造函數,則創(chuàng)建類對象時永遠不會調用系統(tǒng)默認構造函數 C、構造函數不可以進行重載 D、構造函數也可以被聲明為靜態(tài)的(static) 9、以下關于事件的說法正確的是:A、B、C、D A、事件和成員變量、成員方法一樣,也是類的一種成員 B、事件機制必須通過代理來實現的 C、事件也支持多播(多重代理),即,一個事件可以同時有多個事件處理方法 D、事件處理方法的簽名必須和事件代理的簽名相一致 10、以下關于運算符重載的說法正確的是:A、B、C、E A、運算符重載實際上也是函數重載 B、一個運算符可以被重載多次,只要每次重載的參數列表不同 C、賦值運算符(包括復合賦值運算符)不能重載 D、所有運算符都可以進行重載 E、重載關系運算符時必須成對重載(如:重載>時,也必須重載<) 11、以下關于結構的說法正確的是:A、D A、結構和類相似,也包含數據和方法的定義 B、類支持嵌套,而結構不支持嵌套 C、類支持單繼承,結構和類一樣,也支持單繼承 D、和類一樣,結構也可以實現一個或多個接口 E、和類一樣,也可以為結構體定義的無參構造函數 12、以下關于接口的說法正確的是:B、C、D A、接口類似于類,也可以包含數據和方法 B、接口中只有成員的聲明,沒有成員的實現 C、類只允許單繼承,而接口允許多繼承 D、接口中所有成員都被默認為公有,不能有任何訪問權限修飾符 E、一個類或結構要實現某個接口時,可以實現接口的部分成員,也可以實現全部成員 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 的結果為:B A、3.5 B、3 C、4 D、3.0 15、已知 int [ , ] a=new int[3,4]; 則數組a 中最后一個元素為:C A、a[3,4] B、a[3][4] C、a[2,3] D、a[2][3] 16、已知 int [ ][ ] a=new int[3][ ]; 則數組 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、以下關于Main() 函數的敘述正確的是:__A、D___ A、Main() 函數是整個程序的入口點,任何程序都是從Main() 函數開始執(zhí)行 B、Main() 函數的返回值可以是任意類型 C、Main() 函數可以說明為靜態(tài)的(static),也可以說明為非靜態(tài)的 D、Main() 函數的保護級別一般為public,也可以省略不寫 21、類的缺省訪問權限修飾符為:__B___ A、public B、internal C、private D、protected 22、類的成員變量的缺省訪問權限修飾符為:___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、下面有關方法重載的說法正確的是__C___ A、重載方法必須有不同的返回值類型 B、重載方法形參個數必須不同; C、重載函數必須有不同的形參列表 D、重載函數名可以不同; 二 、填空題 1、循環(huán)次數已知,則可以用____循環(huán),循環(huán)次數未知,則應用____循環(huán) 2、程序流程包括____結構、____結構和____結構3種基本結構 3、面向對象的三個基本特征是______、______和______。 4、面向對象技術中,實現“多態(tài)”的方式包括:______和______。 5、訪問權限修飾符包括:______、______、internal和protected。 6、屬性包括______訪問器和_______訪問器。 7、變量名只能由____、______、下劃線組成,并只能以______或下劃線(不推薦)開頭 8、類對象的初始化工作是由______來完成的 9、方法的參數類型包括:______、______、輸出類型和數組類型4種類型 10、事件機制是通過______來實現的 11、C#中的數據類型主要分為兩類:______和______。 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語句用于結束本次循環(huán),而break語句用于結束整個循環(huán) 2、當多重循環(huán)的內循環(huán)中含有break語句,則可通過此break語句跳出整個多重循環(huán) 3、在C#中,一個類可以同時繼承多個類,也可以由多個類繼承 4、一個父類可以同時擁有多個子類,這時,父類其實是所有子類的公共屬性的集合 5、如果在聲明類時,沒有指定訪問修飾符,則默認為public 6、如果一個屬性中只含有set訪問器,那么它是一個只讀屬性 7、代理既可以引用靜態(tài)方法也可以引用實例方法 8、重載運算符時,必須聲明為:public static型 9、屬性既可以定義為類的實例成員,也可以定義為類的靜態(tài)成員;而索引只能定義為類的實例成員 10、結構和類在定義和使用上都很相似,它們最大的區(qū)別是:結構是值類型,而類是引用類型 11、在C#中,所以預定義類型或自定義的類都直接或間接地繼承于Object類 12、當一個類繼承另一個類時,將繼承其所有成員(包括其私有成員) 13、類的靜態(tài)方法只能訪問類的靜態(tài)成員,而類的實例方法可以訪問類的任何成員 14、在一個類中可以包含另一個類的完整的定義 15、已知 int [ , ] a=new int [4,6 ]; 則a 中最后一個元素是a[4,6] 四、簡答題 1、值類型數據和引用類型的區(qū)別 2、類與對象的關系 3、面向對象的三個基本特征 4、面向對象技術中的“多態(tài)”是指什么,它可以通過那幾種方式來實現 5、抽象類和密封類分別用什么關鍵字來聲明,它們的特點分別是什么 6、靜態(tài)成員和實例成員的區(qū)別:從以下幾點說明 ①聲明格式 ②所屬對象(即:屬于類,還是屬于某個實例) ③訪問方試 7、訪問權限修飾符有哪幾種,分別代表什么含義 8、重載方法時,如何區(qū)分多個功能相似的同名方法 9、什么是方法的形參和實參,方法的參數包括哪幾種類型,分別用什么關鍵字來聲明 10、C#支持哪幾種類型的注釋,其界定符和功能分別是什么?.Net框架中又引入了哪種類型的注釋,其界定符和功能是什么? 11、使用帶參數的方法時,值類型參數和引用類型參數的區(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、如下函數用于判斷兩個值是否相等,請找出其中的錯誤 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、如下程序用于實現兩個數值的交換功能,請將程序補充完整 class MyClass { } class AppClass { public static void Main() { int x=5, y=10; MyClass.Swap( ref x, ref y); } } 8、下面是一個通過屬性來訪問成員變量的程序段,請將其補充完整(要求變量age的取值只能是0~100) class StudentInfo { int age; public int age { get { return age; } set { } } } 9、下面是一個關于代理使用的程序段,請找出其中的錯誤 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.寫出函數的功能 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、寫出函數的功能 public int Func ( ref int x, ref int y ) { int temp=x; x=y; y=temp; } 12、寫出程序的運行結果 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、寫出程序的運行結果 using System; class FatherClass { public FatherClass () { Console.WriteLine("Construct FatherClass "); } } class SonClass : FatherClass { public SonClass () { Console.WriteLine("Construct SonClass "); } } class App //應用類 { public static void Main() { SonClass obj=new SonClass (); } } 六、設計題 1、定義一個類,其中包含一個成員變量age 要求: ①在類外邊不能直接訪問該成員變量 ②通過一個可讀寫屬性來訪問該成員變量 ③變量age的取值只能是0~100 2、設計一個學生信息類 要求: ①可以存儲學生的學號,姓名,年齡信息。 ②至少包含兩個成員方法:學生信息的注冊(輸入)、查詢 ③學生信息的輸入通過構造函數來完成 ④信息查詢要求按學號查詢,并輸出查詢結果(若找到,輸出該學生所有信息;否則,輸出“查無此人”) 3、設計一個用于計算圓的周長和面積的類 要求: ①至少包含三個成員方法:計算圓周長、計算圓面積、輸出計算結果 ②圓半徑是通過參數傳遞到方法中的 ③圓周率值在定義后不能再被改變 4、編寫一個類,能夠根據輸入的學生成績,顯示相應的等級。 要求: ①至少包含兩個成員方法:學生成績的輸入、等級的劃分與顯示 ②等級分為:優(yōu)、良、及格和不及格 ③當輸入的成績無效時,能給出錯誤提示 5、編寫一個用于數學計算的類,能夠計算一個整數x的階乘、平方和1~x之和。 要求: ①至少包含三個方法:計算整數x的階乘、計算整數x的平方、計算整數1~x之和 ②整數x 是通過參數的形式傳遞到方法中的 6、創(chuàng)建一個Add類,實現計算10個正數之和,并顯示求和結果。 要求: ①至少包含三個成員方法:數據的輸入、計算、輸出計算結果 ②參與計算的10個正數要求從鍵盤上輸入 一、 判斷題- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- C# 程序設計語言 試卷
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.appdesigncorp.com/p-9067331.html