期末練習(xí)題及部分答案.docx_第1頁
期末練習(xí)題及部分答案.docx_第2頁
期末練習(xí)題及部分答案.docx_第3頁
期末練習(xí)題及部分答案.docx_第4頁
期末練習(xí)題及部分答案.docx_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

一、選擇題:(共20分,每小題2分)二、填空題/判斷題(共20分,每空2分)三、程序閱讀:(共10分,每小題5分)四、簡答題:(共30分,每題6分)五、程序設(shè)計(jì):(共20分,每題10分)基本概念:接口相關(guān),靜態(tài)相關(guān),委托,索引,重載,抽象相關(guān),繼承相關(guān),一維、二維數(shù)組定義使用;構(gòu)造函數(shù)相關(guān);C#數(shù)據(jù)類型;一、 填空題1、面向?qū)ο蟮娜齻€(gè)重要特性: (1) 、(2) 、(3) 。 2、While循環(huán)語句至少執(zhí)行(4) 次,dowhile語句至少執(zhí)行 (5) 次。3、 (6) 類是.NET中所有類型的基類。 4、當(dāng)變量按引用存儲(chǔ)信息時(shí),存儲(chǔ)的不是 (7) ,而是 (8) 。5、要將控件錨定到其容器的邊緣,應(yīng)設(shè)置控件的 (9) 屬性。 6、 顯示模式窗體可以使用 (10) 方法。7、改變窗體的標(biāo)題,需修改的窗體屬性是(11) 8、窗體的默認(rèn)事件是 ( 12) 1、(1)繼承 (2)封裝 (3)多態(tài)2、(4)0 (5)13、(6)Object4、(7) 信息本身 (8)信息在內(nèi)存中的存儲(chǔ)位置5、(9)Anchor/錨定(Anchor)是指控件到窗體(或父容器)的邊緣距離保持不變;6、(10)Dialog7、11 Text8、12 load事件二、判斷題:(一) C#中一個(gè)類只能有一個(gè)基接口。(X )(二) 在C#中要在派生類中重新定義基類的虛函數(shù)必須在前面加override。 ( )(三) C#中允許使用一個(gè)委托對(duì)象同時(shí)調(diào)用多個(gè)方法。( )(四) 裝箱過程是隱式轉(zhuǎn)換過程。( )(五) 索引器的參數(shù)類型必須是整數(shù)型 。(X )/使用索引器來操作集合對(duì)象就如同使用數(shù)組一樣簡單(六) 索引的Get訪問器帶參數(shù),而屬性的Get訪問器不帶參數(shù)。( )/索引器一種支持參數(shù)的屬性(七) 靜態(tài)類中可以包含實(shí)例構(gòu)造函數(shù)。(X )(八) C#中,接口成員不能添加任何訪問修飾符。()(九) 抽象類中所有的成員都無實(shí)現(xiàn)。(X )/抽象類中可以定義成員的實(shí)現(xiàn),但接口中不可以。(十) 命名空間允許嵌套。( )(十一) 索引可以是靜態(tài)成員。(X )/索引器必須為實(shí)例成員,屬性可以為靜態(tài)成員或?qū)嵗蓡T(十二) 靜態(tài)字段在內(nèi)存中有多個(gè)備份。( x)/靜態(tài)字段被類的所有實(shí)例所共享,即此類的所有實(shí)例都訪問同一內(nèi)存地址。 所以該內(nèi)存位置的值變更的話,這種變更對(duì)所有的實(shí)例都可見三、簡答題:(一) 作為一個(gè)完整的事件處理系統(tǒng),其3大要素是什么,并簡要說明。 事件源:指能觸發(fā)事件的對(duì)象,有時(shí)又稱為事件的發(fā)送者或事件的發(fā)布者。 偵聽器:指能接收到事件消息的對(duì)象,Windows提供了基礎(chǔ)的實(shí)踐偵聽服務(wù)。 事件處理程序:當(dāng)事件發(fā)生時(shí)對(duì)事件進(jìn)行處理,又稱事件函數(shù)或事件方法。 (二)重載與覆蓋的區(qū)別。(4、override與重載的區(qū)別是什么?)(1)方法的覆蓋是子類和父類之間的關(guān)系,是垂直關(guān)系;方法的重載是同一個(gè)類中方法之間的關(guān)系,是水平關(guān)系。(2)覆蓋只能由一個(gè)方法,或只能由一對(duì)方法產(chǎn)生關(guān)系;方法的重載是多個(gè)方法之間的關(guān)系。(3)覆蓋要求參數(shù)列表相同;重載要求參數(shù)列表不同。(4)覆蓋關(guān)系中,調(diào)用那個(gè)方法體,是根據(jù)對(duì)象的類型(對(duì)像對(duì)應(yīng)存儲(chǔ)空間類型)來決定;重載關(guān)系,是根據(jù)調(diào)用時(shí)的實(shí)參表與形參表來選擇方法體的。(二) c#常見的程序錯(cuò)誤可歸結(jié)為哪3類。異常處理使用哪三種語句。c#常見的程序錯(cuò)誤可歸結(jié)為3類:語法錯(cuò)誤、運(yùn)行期錯(cuò)誤、邏輯錯(cuò)誤,常處理:try-catch語句、finally語句、throw語句(四)VisualC#中類的成員包括哪些?(最少寫出6種)(1) 常量 (2) 域(字段) (3) 構(gòu)造函數(shù) (4) 析構(gòu)函數(shù) (5) 方法 (6) 屬性 (7) 事件 (8) 索引 (9) 操作符 (10) 類型 (五)C#提供了集合類,列舉3個(gè)常用的集合類。Array數(shù)組、List 列表、ArrayList動(dòng)態(tài)數(shù)組等(六)什么是類的多態(tài)性,C#中如何實(shí)現(xiàn)行為的多態(tài)。(七)說明下列單詞在C#中的作用:using、namespace、class、this。using 語句允許程序員指定使用資源的對(duì)象應(yīng)當(dāng)何時(shí)釋放資源。namespace既“命名空間”,也稱“名稱空間” VS.NET中的各種語言使用的一種代碼組織的形式 通過名稱空間來分類,區(qū)別不同的代碼功能 同時(shí)是VS.NET中所有類的完全名稱的一部分。class是定義類的關(guān)鍵字,C+中也可以使用struct定義類。兩者區(qū)別是,用class定義的類,如果數(shù)據(jù)成員或成員函數(shù)沒有說明則默認(rèn)為private(私有)的,而用struct定義的,默認(rèn)為public(公共)的。this關(guān)鍵字引用當(dāng)前對(duì)象實(shí)例的成員。(八)簡述枚舉型、類、數(shù)組這三種數(shù)據(jù)類型的區(qū)別。枚舉型:通過預(yù)定義列出所有值的標(biāo)識(shí)符來定義一個(gè)有序集合,這些值的次序和枚舉類型說明中的標(biāo)識(shí)符的次序識(shí)一致的。類是 C# 中功能最為強(qiáng)大的數(shù)據(jù)類型。像結(jié)構(gòu)一樣,類也定義了數(shù)據(jù)類型的數(shù)據(jù)和行為。然后,程序員可以創(chuàng)建作為此類的實(shí)例的對(duì)象。與結(jié)構(gòu)不同,類支持繼承,而繼承是面向?qū)ο缶幊痰幕A(chǔ)部分。數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),它包含若干相同類型的變量。數(shù)組是使用類型聲明的:type arrayName;(九)簡述抽象類與接口,并進(jìn)行比較。(十)什么是委托?委托有哪些特點(diǎn)?委托是一種引用方法的類型。一旦為委托分配了方法,委托將與該方法具有完全相同的行為。委托方法的使用可以像其他任何方法一樣,具有參數(shù)和返回值。委托類似于 C+ 函數(shù)指針,但它是類型安全的。委托允許將方法作為參數(shù)進(jìn)行傳遞。委托可用于定義回調(diào)方法。委托可以鏈接在一起;例如,可以對(duì)一個(gè)事件調(diào)用多個(gè)方法。方法不需要與委托簽名精確匹配。(十二)常見的用戶界面有幾類?對(duì)話框應(yīng)用程序、單文檔界面應(yīng)用程序SDI和多文檔應(yīng)用程序MDI 四、程序設(shè)計(jì): (一)編寫代碼,定義一個(gè)基類MyClass,其中包含虛擬方法GetString()。這個(gè)方法應(yīng)返回有儲(chǔ)在受保護(hù)字段myString中的字符串,該字段可以通過只寫公共屬性ConString 來訪問。 public class MyClass private string myString; public string ConString get return myString; public virtual string GetString() return myString; (二) 從類MyCalss 中派生一個(gè)類MyDClass 。重寫GetString()方法。使用該方法的基類執(zhí)行代碼從基類中返回一個(gè)字符串,但在返回的字符串中添加文本“(output from derivedclass)”. public class MyDClass : MyClass public override string GetString() return base.GetString() + (output from derivedclass); (三)設(shè)計(jì)一個(gè)Student類用來保存學(xué)生的信息,包括學(xué)生的姓名、性別、年齡信息。要求:1.定義構(gòu)造函數(shù)初始化類的實(shí)例(姓名、性別賦值后不可更改)。2.要求對(duì)年齡定義私有成員和公有屬性,并且屬性為可讀寫屬性。3.要求定義方法Ansewr()返回包含學(xué)生信息的字符串。public class Studentprivate readonly string name; private int age; private readonly char sex;public Student(string name,int age, char sex) =name; this.age=age;this.sex=sex; public int Age Getreturn this.age;Setthis.age=valule;pubilc string Answer() string result=string.Format(“姓名:0,年齡:1,性別:2”,, this.age, this.sex);return string; (四) 設(shè)計(jì)一個(gè)Student類用來保存學(xué)生的信息,此類需要包括學(xué)生的姓名、年齡、性別。要求:1通過構(gòu)造函數(shù)初始化類的實(shí)例(構(gòu)造函數(shù)要求重載)2要求分別對(duì)前面包含的信息定義私有成員和公有屬性,并且屬性為可讀寫屬性。3要求定義方法show()用來輸出學(xué)生的各項(xiàng)信息。public class Studentprivate string name;private int age;private string sex; public Student () public Student (string name,int age,string sex)=name;this. age =age;this.sex=sex; public string NameGetreturn ;S=value;public int AgeGetreturn this.age;Setthis.age=valule;public string SexGetreturn this.sex;Setthis.sex=value; pubilc void show()Console.writeline(“姓名:0,年齡:1,性別:2”,, this.age, this.sex); (五)現(xiàn)在有如圖所示的一個(gè)計(jì)算器可以完成加、減、乘、除和取余數(shù)運(yùn)算,四個(gè)textbox的名稱從上至下分別為textBox1、textBox2、textBox3、textBox4。編寫 “計(jì)算”按鈕的Click事件處理方法使其完成計(jì)算的功能。private void button1_click(object sender, System.Eventargs e) private void button1_click(object sender,System.Eventargs e) float op1,op2;char Operator; op1=Single.Parse(textBox1.Text );op2=Single.Parse(textBox3.Text);Operator=char.Parse(textBox2.Text); switch(Operator)case +:op1+=op2;break;case -:op1-=op2;break;case *:op1*=op2;break;case /:op1/=op2;break;case %:op1%=op2;break; default:MessageBox.Show(輸入有錯(cuò)誤!);break; textBox4.Text =op1.ToString(); 五、分析程序運(yùn)行結(jié)果(一)(二) (三)using System;class Test public int x; static public int y; public Test(int x) this.x = x; static Test() y = 1; class TestStaticstatic void Main() Test t=new Test(1); Console.WriteLine(0,1,t.x,Test.y);t.x+;Test.y+;Console.WriteLine(0,1, t.x, Test.y);t = new Test(0); Console.WriteLine(0,1, t.x, Test.y);(四)下

溫馨提示

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

評(píng)論

0/150

提交評(píng)論