C#練習題及答案_第1頁
C#練習題及答案_第2頁
C#練習題及答案_第3頁
C#練習題及答案_第4頁
C#練習題及答案_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C#練習題C#程序設計 王晨陽94、在C#中,( C )訪問修飾符修飾的類成員只能由當前程序集訪問。 a) publicb) protectedc) internald) private95、在ADO.NET中,SqlConnection 類所在的命名空間是( D )。 a) Systemb) System.Datac) System.Data.OleDbd) System.Data.SqlClient96、在C#程序中,下列用來處理異常的結構,錯誤的是( A )。a) catchfinallyb) tryfinallyc) trycatchfinallyd) trycatch97、在ADO.

2、NET中,執(zhí)行數(shù)據庫的某個存儲過程,則至少需要創(chuàng)建( D )并設置它們的屬性,調用合適的方法a) 一個Command對象和一個DataAdapter對象b) 一個Command對象和一個DataSet對象c) 一個Connection對象和一個DataSet對象d) 一個Connetction對象和一個Command對象98、在C#中,如果要將數(shù)組作為一個方法的參數(shù),則傳遞的是( C )。 a) 數(shù)組中的所有元素b) 數(shù)組的第一個元素c) 對象的引用d) 以上皆非99、下列關于C#中索引器理解正確的是( C )。a) 索引器的參數(shù)必須是兩個或兩個以上b) 索引器的參數(shù)類型必須是整數(shù)型c) 索引

3、器不能聲明為staticd) 以上皆非100、在C#中,裝箱、拆箱操作發(fā)生在( C )。a) 類與對象之間b) 對象與對象之間c) 引用類型與值類型之間d) 引用類型與引用類型之間二、填空題1、面向對象的語言具有_性、_繼承_性、_多態(tài)_性。2、C#中,所有類型(包括所有的值類型和所有的引用類型)的基類是_object類_。3、當整數(shù)b賦值給一個object對象時,這個過程稱為_裝箱_。4、在C#中,關鍵字_base_用于從派生類中訪問基類的成員。5、在C#中,通過_interface_關鍵字定義一個接口。6、在C#程序中,程序的執(zhí)行總是從_Main_方法開始的。7、在C#中,表達式Math.

4、Pow(2,-2)的值是_0.25_。8、在C#中,在實例化類對象時,系統(tǒng)自動調用該類的_構造函數(shù)_進行初始化。9、在C#中,當一個對象離開它的作用域或不再被使用時,系統(tǒng)將會自動調用類的_析構函數(shù)_。10、在C#中,數(shù)據類型說明符用來說明方法返回值的類型,如果沒有返回值,則其類型說明符應為_void_。11、在C#中,定義方法時使用的參數(shù)是_形參_,調用方法時使用的參數(shù)是_實參_。12、在C#中,在類的成員聲明時,若使用了_protected_問修飾符,則該成員只能在該類或其派生類中使用。13、在C#中,類的靜態(tài)成員屬于_類_所有,非靜態(tài)成員屬于類的實例所有。14、在C#中,已知某類的類名為M

5、yClass,則該類的析構函數(shù)名為_MyClass_.15、在C#中,在聲明類時,在類名前加_abstract_聲明類只能作為其他類的基類,不能被實例化。16、在C#中,Exception類中_Message_屬性用于獲取描述當前異常的消息。17、在C#中,在循環(huán)執(zhí)行過程中,希望當某個條件滿足時退出循環(huán),使用_break_語句。18、GDI是_ Graphics Device Interface _的英文縮寫。19、在C#中的圖形編程中,最常用的命名空間是_ System.Drawing _。20、在C#窗體編程中,如果想在文本框中輸入密碼,常指定_ PasswordChar _屬性。21、T

6、imer控件的_ Interval _屬性用來設置定時器Tick事件發(fā)生的時間間隔。22、在C#的switch語句中,在分支的最后應有一條_ break _語句。23、在try-catch-finally結構中,_ try _塊封裝了可能引發(fā)異常的代碼。24、在try-catch-finally結構中,_ finally _塊將一定被執(zhí)行。25、在C#中,異常對象是從_ Exception _類派生而來的。26、在C#中,要給屬性對應的數(shù)據成員賦值,通常要使用set訪問器,set訪問器始終使用隱式參數(shù)_ value _來設置屬性的值。27、C#方法的參數(shù)有四種,分別是:值參數(shù)、引用參數(shù)、輸出參

7、數(shù)和數(shù)組型參數(shù),在形參中聲明數(shù)組型參數(shù)時應使用_ params _關鍵字。28、在C#中,要聲明一個委托類型MyFun1,該委托類型MyFun1可以引用一個采用int作為參數(shù)并且返回類型為int的方法,使用的語句是_ delegate int MyFun1(int n)_。29、設x為int型變量,請寫出描述“x是奇數(shù)”的C#語言表達式_ x%2 != 0_。30、設x為int型變量,請寫出描述“-10<=x<=10”的C#語言表達式_-10<=x && x<=10_。31、在C#中,要定義一個3行4列的單精度型二維數(shù)組f,使用的定義語句為_ float

8、, f = new float3, 4;_。32、在C#中,要定義一個為int型的參數(shù)數(shù)組a,數(shù)組有兩行,第一行一個元素,第二行兩個元素并賦初值3和4,使用的語句如下:int a=_ new int2_;a0= _ new int1_;a1= _ new int 3, 4 _;33、在C#中,值類型的數(shù)據存儲在內存的_棧_中,引用類型的數(shù)據存儲在內存的_堆_中。34、在C#中,bool類型只有兩種值,分別是_true_和_false_。35、在C#中,要聲明一個密封類(即禁止被繼承),只需要在聲明類時加上_sealed_關鍵字。36、在C#中,分部類可以將類的聲明拆分到兩個或多個源文件中,若要

9、聲明一個分部類,則類的每一部分的聲明前都要用_partial_關鍵字修飾。37、在C#類中,要聲明一個虛擬方法,則在該方法定義前要加上_virtual_關鍵字修飾。38、在C#中,子類要隱藏基類的同名方法應使用關鍵字_new_;子類要重寫基類的同名方法應使用關鍵字_override_。39、在.Net托管代碼中我們不用擔心內存漏洞,這是因為有了_垃圾回收器_。40、在.NET Framework下,所有的程序語言在編譯時會先轉為與平臺機器無關的_中間語言_代碼,再與元數(shù)據一同編譯成可執(zhí)行代碼,就可以在任何安裝有CLR的機器上運行;當程序被運行時,CLR會啟動_實時編譯器_進行實時編譯,它會偵測

10、硬件設備而將程序進一步轉換成該機器的本機代碼。41、ADO.NET對象模型中有5個主要的組件,分別是_Connection_、_command_、DateSet、_DateAdapter_、DataAdapter。42、在C#中,引用命名空間使用_using_關鍵字。43、在C#中,有多種注釋方法,其中_/_適用于單行注釋,_/*/_適用于多行注釋。44、在C#中,使用_const_關鍵字聲明符號常量。45、在C#中,當類T只聲明了私有實例構造函數(shù)時,則在T的程序文本外部,_不可以_(可以 or 不可以)從T派生出新的類,_不可以_(可以 or 不可以)直接創(chuàng)建T的任何實例。46、在.NET中

11、所有可序列化的類都被標記為_Serializable_。47、在面向對象中,多態(tài)分為編譯時多態(tài)(靜態(tài)多態(tài))和_運行時_多態(tài)(動態(tài)多態(tài)),其中編譯時多態(tài)主要是通過_方法重載_實現(xiàn)的。48、C#程序設計中的錯誤主要分為兩類:_語法錯誤_和運行錯誤。49、在VS 2005中,單步跟蹤是指用跟蹤來一次一條語句地執(zhí)行代碼,那么在調試過程中,單步跟蹤的鍵盤快捷鍵是_F11_。50、CLR全稱是_Common Language Runtime_。三、判斷題1、在C#中,抽象類里面的方法一定不能含有實現(xiàn)。(×)2、運行.NET程序,不需要安裝.NET Framework。(×)3、C#中委

12、托只包含單點委托。(×)4、C#中已經不包含指針。()5、在C#中,類的靜態(tài)成員方法不能對非靜態(tài)的數(shù)據成員進行操作。()6、在C#中,不允許使用未初始化的變量。()7、C#中標識符嚴格區(qū)分大小寫。()8、在C#中,類和結構體都屬于引用類型。(×)9、在C#中,static const int i = 1;該行代碼能編譯通過。(×)10、在C#中,Array類是所有數(shù)組類型的抽象基類型。()11、在C#中,類的構造函數(shù)可以重載,析構函數(shù)也可以重載。(×)12、在C#中,類的構造函數(shù)和析構函數(shù)都不能被繼承。()13、在C#中,定義一個類時,聲明了一個構造函數(shù)

13、,則編譯器不會再提供默認的構造函數(shù)。()14、在C#中,可以為類的字段指定默認值。()15、在C#中,在類的屬性聲明中,只有get訪問器表明屬性只能讀出而不能寫入。()16、在C#中,允許同一個類中存在兩個或多個方法簽名一樣的成員方法。(×)17、在C#中,類的索引器必須作為實例成員。()18、C#不支持運算符重載。(×)19、C#不支持私有繼承和保護繼承。()20、在C#中,類的成員默認訪問修飾符是private,而接口的成員默認訪問修飾符是public。()21、在C#中,接口的成員聲明中包含任何修飾符都是錯誤的。()22、在C#中,抽象類可以包含構造函數(shù),接口不能包含

14、構造函數(shù)。()23、在C#中,抽象類和接口都不能直接實例化。()24、在C#中,定義一個類時,用戶不可以聲明一個析構函數(shù),因為析構函數(shù)是由編譯器自動生成的。(×)25、C#中抽象方法是隱式的虛方法,實現(xiàn)抽象方法用關鍵字override。()四、程序閱讀1、閱讀下面代碼,寫出輸出結果:using System;public class Apublic static void Method1(out int x, params object objs) x = 0;foreach (object obj in objs)x += int.Parse(obj.ToString();publ

15、ic class Teststatic void Main()int x;A.Method1(out x, 1, 2, 3, 4, 5);Console.WriteLine(x);輸出結果:_1+2+3+4+5=15_2、閱讀下面代碼,寫出輸出結果:using System;public class Apublic static void Method1(ref int x, int y) int temp = x;x = y;y = temp;public class Teststatic void Main()int x = 1, y = 2;A.Method1(ref x, y);Con

16、sole.WriteLine("x=0,y=1", x, y); 輸出結果:_x=2,y=2_3、閱讀下面代碼,寫出輸出結果:using System;public class Apublic A() Console.WriteLine("構造函數(shù)A"); A() Console.WriteLine("析構函數(shù)A"); ;public class B:Apublic B() Console.WriteLine("構造函數(shù)B"); B() Console.WriteLine("析構函數(shù)B"); ;

17、public class Teststatic void Main()A a = new B();輸出結果:_構造函數(shù)A_構造函數(shù)B_析造函數(shù)B_析構函數(shù)A_4、閱讀下面代碼,寫出輸出結果:using System;public class Apublic static int i = 1;public A() Console.WriteLine("構造函數(shù)A"); static A() Console.WriteLine("靜態(tài)構造函數(shù)A"); A() Console.WriteLine("析構函數(shù)A"); ;public clas

18、s Teststatic void Main()A a = new A();輸出結果:_靜態(tài)構造函數(shù)A_構造函數(shù)A_析構函數(shù)A_5、閱讀下面代碼,寫出輸出結果:using System;public class Apublic static int i = 1;public A() Console.WriteLine("構造函數(shù)A"); static A() Console.WriteLine("靜態(tài)構造函數(shù)A"); A() Console.WriteLine("析構函數(shù)A"); ;public class B : Apublic B

19、() Console.WriteLine("構造函數(shù)B"); B() Console.WriteLine("析構函數(shù)B"); ;public class Teststatic void Main()A a = new B();輸出結果:_靜態(tài)構造函數(shù)A _ _構造函數(shù)A _ _構造函數(shù)B _析構函數(shù)B_析構函數(shù)A_6、閱讀下面代碼,寫出輸出結果:using System;public class Aprivate int length = 5;private string names = new string5; public int Lengthget

20、 return this.length; public string thisint indexget return namesindex; set namesindex = value; ;public class Teststatic void Main()A a = new A();for (int i = 0; i < a.Length; i+) ai = i.ToString();Console.WriteLine(a3);輸出結果:_3_7、閱讀下面代碼,寫出輸出結果:using System;public class Apublic void fun1(int n)Cons

21、ole.WriteLine("0的2倍=1", n, 2 * n); public void fun2(int n)Console.WriteLine("0的3倍=1", n, 3 * n); ;public delegate void mydelegate(int n);public class Teststatic void Main()A a = new A();mydelegate p = new mydelegate(a.fun1); p += a.fun2;p(1);輸出結果:_1的2倍=2_1的3倍=3_8、閱讀下面代碼,寫出輸出結果:us

22、ing System;public class Apublic void fun1(int n)Console.WriteLine("0的2倍=1", n, 2 * n); public void fun2(int n)Console.WriteLine("0的3倍=1", n, 3 * n); ;public delegate void mydelegate(int n);public class Testpublic static event mydelegate p; static void Main()A a = new A();p += new

23、 mydelegate(a.fun1); p(1);輸出結果:_1的2倍=2_9、閱讀下面代碼,寫出輸出結果:using System;class Apublic static int X;static A()X = B.Y + 1;class Bpublic static int Y = A.X + 1;static B() static void Main()Console.WriteLine("X=0,Y=1", A.X, 輸出結果:_x=1,y=2_10、閱讀下面代碼,寫出輸出結果:using System;namespace paramclass Class1static int i = getNum();int j = getNum();static int num = 1; B.Y);static int getNum()return num;STAThreadstatic void Main(string args)Consol

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論