C#程序的設(shè)計(jì)語(yǔ)言期末考試題A有答案_第1頁(yè)
C#程序的設(shè)計(jì)語(yǔ)言期末考試題A有答案_第2頁(yè)
C#程序的設(shè)計(jì)語(yǔ)言期末考試題A有答案_第3頁(yè)
C#程序的設(shè)計(jì)語(yǔ)言期末考試題A有答案_第4頁(yè)
C#程序的設(shè)計(jì)語(yǔ)言期末考試題A有答案_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、word格式期末試題C#程序設(shè)計(jì)語(yǔ)言(A 卷)題號(hào)-一-二二三四總分評(píng)卷教師分?jǐn)?shù)說(shuō)明:本試卷共四大題,試卷滿(mǎn)分100分,考試時(shí)間120分鐘。.判斷題(每題1分,共10分,正確的打V,錯(cuò)誤的打X)題號(hào)12345678910答案XVXXVXVVVV()1+、-、*、/、% +、-均屬于二兀運(yùn)算符。()2 .字符串類(lèi)型屬性引用類(lèi)型。()3. Visual Studio 控件的屬性窗口中,按鈕“A-Z”點(diǎn)擊后,屬性列表會(huì)先按照功能分類(lèi)排列屬性后在每個(gè)單元中以名稱(chēng)排序。()4.派生類(lèi)可以繼承基類(lèi)的成員,以及方法的實(shí)現(xiàn);派生的接口繼承了父接口的成員方法,并且也繼承父接口方法的實(shí)現(xiàn)。()5.當(dāng)創(chuàng)建派生類(lèi)對(duì)象

2、時(shí),先執(zhí)行基類(lèi)的構(gòu)造函數(shù),后執(zhí)行派生類(lèi)的構(gòu)造函數(shù)。()6 .隱式類(lèi)型轉(zhuǎn)換就是不需要聲明目標(biāo)類(lèi)型就可以進(jìn)行的轉(zhuǎn)換?()7.如果基類(lèi)沒(méi)有默認(rèn)的構(gòu)造函數(shù),那么其派生類(lèi)構(gòu)造函數(shù)必須通過(guò)base關(guān)鍵字來(lái)調(diào)用基類(lèi)的構(gòu)造函數(shù)。()8.在C#中在派生類(lèi)中重新定義基類(lèi)類(lèi)的虛函數(shù)必須在前面加override。()9. C#中方法的參數(shù)中輸出型參數(shù)(out)的實(shí)參在傳遞給形參前,不需要明確賦值,但需在方法返回前對(duì)該參數(shù)明確賦值。()10.在類(lèi)中可以重載構(gòu)造函數(shù),C #會(huì)根據(jù)參數(shù)匹配原則來(lái)選擇執(zhí)行合適的構(gòu)造函數(shù)。.單項(xiàng)選擇題(每題2分,共40分)(說(shuō)明:每題有且僅有一個(gè)正確答案,請(qǐng)將正確答案填入下表)題號(hào)123456

3、78910答案ABBBCDDABC題號(hào)11121314151617181920答案CDACCBAAAD1. C#程序設(shè)計(jì)語(yǔ)言屬于什么類(lèi)型的編程語(yǔ)言:aA .高級(jí)語(yǔ)言B .自然語(yǔ)言 C.機(jī)器語(yǔ)言D.匯編語(yǔ)言2. 如有int a=11;則表達(dá)式(a+*1/3 )的值是:bA. 0 B . 3 C . 4 D . 123. 類(lèi)的字段和方法的默認(rèn)訪問(wèn)修飾符是:bA. public B . private C . protected D . internal4. 對(duì)于在代碼中經(jīng)常要用到的且不會(huì)改變的值,可以將其聲明為常量。如圓周率PI始終為3.14?,F(xiàn)在要聲明一個(gè)名為PI的圓周率常量,下面哪段代碼是正確

4、的?bA.con st float PI;PI = 3.14f; B.co nst float PI = 3.14f;C.float const PI;PI = 3.14f; D.float con st PI = 3.14f;5. 請(qǐng)問(wèn)經(jīng)過(guò)表達(dá)式a=3+35?0:1的運(yùn)算,變量a的最終值是什么?。cA. 6 B . 1 C . 0 Dtrueobj是MyClass的一個(gè)對(duì)象。x=1;6. 下列語(yǔ)句是MyClass的一部分, private class subclasspublic int data;void cha nge(ref int x) public void test()subCl

5、ass s=new subClass();s.data=100;cha nge(ref s.data);Con sole.WriteL in e(s.data);則調(diào)用obj.test()后??刂婆_(tái)輸出(d ) oA. 100 B. 101 C. 0 D. 17. 用戶(hù)自定義的異常類(lèi)應(yīng)該從哪個(gè)類(lèi)中繼承(d)A. System.Argume ntExceptio nB. Syste m.10.1 OExceptio nC. System.SystemExceptio nD. System.Applicati on Excepti on8. 下面有關(guān)虛方法的描述正確的是( a ) oA. 虛方法能

6、在程序運(yùn)行時(shí),動(dòng)態(tài)確定要調(diào)用的方法,因而比非虛方法更靈活,更方便B. 在定義虛方法時(shí),基類(lèi)和派生類(lèi)的方法定義語(yǔ)句中都要帶上virtual 修飾符C. 重寫(xiě)基類(lèi)的虛方法時(shí),為消除隱藏基類(lèi)成員的警告,需要帶上new修飾符D. 在重寫(xiě)虛方法時(shí),需要同時(shí)帶上 override 和virtual 修飾符9. 下列語(yǔ)句聲明了一個(gè)委托 :publicdelegate int myCallBack(intx);則用該委托產(chǎn)生的回調(diào)方法的原型應(yīng)該是:bA.void receive (int x)B.i nt receive(i nt num)C.i nt receive( )D.不確定的10. C#中TestC

7、lass為一自定義類(lèi),其中有以下屬性定義public void Property 使用以下語(yǔ)句創(chuàng)建了該類(lèi)的對(duì)象,并使變量obj引用該對(duì)象:TestClass obj=new TestClass();那么,可通過(guò)什么方式訪問(wèn)類(lèi)TestClass的Property屬性(c)A. TestClass. Progerty;B. TestClass. Property();C. obj. Property; D. obj. Property();11. 已知類(lèi)Base、MyClass的定義如下class Basepublic void Hello()System.Console.WriteLine(He

8、llo in Base! );/ 先基后派class Derived : Basepublic void Hello()System.Console.WriteLine(Hello in Derived!);則下列語(yǔ)句在控制臺(tái)中的輸出結(jié)果為cDerived x = new Derived();x.Hello();A. Hello in Base!B. Hello in DerivedC. Hello in Base!D. Hello in DerivedHello in Derived!Hello in Base12. 下列關(guān)于接口的說(shuō)法中,哪個(gè)選項(xiàng)是正確的?(d)A. 一個(gè)類(lèi)可以有多個(gè)基類(lèi)和

9、多個(gè)基接口B. 抽象類(lèi)和接口都不能被實(shí)例化C. 抽象類(lèi)和接口都可以對(duì)成員方法進(jìn)行實(shí)現(xiàn)D. 派生類(lèi)可以不實(shí)現(xiàn)抽象基類(lèi)的抽象方法,但必須實(shí)現(xiàn)繼承的接口的方法13. 下列關(guān)于構(gòu)造函數(shù)的描述中,哪個(gè)選項(xiàng)是正確的?(a)A.構(gòu)造函數(shù)必須與類(lèi)名相同B.構(gòu)造函數(shù)不可以用private 修飾C.構(gòu)造函數(shù)不能帶參數(shù)D.構(gòu)造函數(shù)可以聲明返回類(lèi)型14. 引用數(shù)組元素時(shí),數(shù)組下標(biāo)的數(shù)據(jù)類(lèi)型可以允許哪項(xiàng)類(lèi)型? ( c)A.整型常量B.整型表達(dá)式C.整型常量或整型表達(dá)式D. 任何類(lèi)型的表達(dá)式15. 以下類(lèi) MyClass的屬性count屬于_c_屬性。class MyClassint i;int countget ret

10、urn i; A.只讀 B. 只寫(xiě) C. 可讀寫(xiě) D.不可讀不可寫(xiě)16. 要讓用戶(hù)選擇和瀏覽要打開(kāi)的文件,應(yīng)使用什么對(duì)話(huà)框?(b)A. FileDialogB. Ope nFileDialoC. SaveFileDialoD. FolderBrowserDialog17. 在Visual Studio 2005中,假設(shè)你正在單步調(diào)試某個(gè)應(yīng)用程序。程序從入口開(kāi)始,調(diào)用某個(gè)私有方法將產(chǎn)生異?!,F(xiàn)在代碼運(yùn)行到如圖所示位置,應(yīng)該使用下面哪種方式進(jìn)一步調(diào)試?aProgT i c s或yConsoleAppliea.ti cm2. Frogr amVCstring args)B using System:

11、using System. Ccllsctions. Generic:123: L using System. Text;rsvzpscw C oriole Appli c Ati gtlZ BN elss Frogran9沖10111213:-14static void Mam(5tring arsj調(diào)用此方法會(huì)產(chǎn)生異常0oSomathin 0 :privatestatic void BoSomEthing 0A.使用逐語(yǔ)句調(diào)試B.使用逐過(guò)程調(diào)試C.跳出調(diào)試D.停止調(diào)試18. .NET Framework 2.0中,處理異常是很有用的功能。一個(gè)try代碼塊可以有多個(gè) catch塊于之對(duì)應(yīng)。在

12、多個(gè)catch塊中,下面哪個(gè)異常應(yīng)該最后捕獲?aA. System.Excepti on類(lèi)B. System.SystemExcepti on類(lèi)C. System.Applicati on Excepti on類(lèi) D. System.StackOverflowExcepti on類(lèi)19. 在二維坐標(biāo)系中,通常需要保存一組點(diǎn)的坐標(biāo)。使用二維數(shù)組是一個(gè)解決方案。下面哪段代碼正確初始化了 2行2列的整數(shù)二維數(shù)組?aA. in t, array = new in t2,2;B. i nt array = new in t22;C. i nt, array = new in t22;D. i nt ar

13、ray = new in t2,2;20. 已經(jīng)定義了一個(gè) Season枚舉,它有 4個(gè)成員Spring , Summe,Autumn, Winter?,F(xiàn)在需要 定義一個(gè)名為currentSeason的Season枚舉,并將其賦值為 Spring,應(yīng)使用下面哪段代碼? dA. Seas on curre ntSeas on = Spring; B. curre ntSeas on = Spring;C. curre ntSeas on =Seas on. Spri ng;D. Seas on curre ntSeas on = Seas on. Spri ng;簡(jiǎn)答題(每題5分,共10分)1.

14、 類(lèi)與對(duì)象有什么區(qū)別?答:類(lèi)是用來(lái)描述某種具有相同屬性和行為的事物,對(duì)象是類(lèi)的一種具體表現(xiàn)。2. 什么叫多態(tài)性,在C#語(yǔ)言中如何實(shí)現(xiàn)多態(tài)? 答:多態(tài)性是指一段程序能夠處理多種類(lèi)型對(duì)象的能力。四綜合題(共40分)1. 下面這段程序要完成的功能是:從輸入的字符串中找出小寫(xiě)字母并輸出到終端。請(qǐng)檢查下列 代碼,找出所有錯(cuò)誤的代碼,并寫(xiě)出該行完整的正確代碼。(4分)1. using System;2. public class Program3. 4. static void Main( stri ng args)5. 6. stri ng in putStri ng=C on sole.ReadL i

15、n e();7. stri ng lowerCase=stri ng.Empty;8. foreach (char ch in in putStri ng)9. if (ch=a|ch=a&ch=z)10. lowerCase+=ch.ToStri ng();2. 下述代碼用于重寫(xiě)Message方法。請(qǐng)分析下述代碼,并更正錯(cuò)誤代碼行。 (4分)1. in terface IMsg2. 3. void Message();4. 5. public class MyClass : IMsg6. 7. public virtual void Message()8. 9. Co nsole.Write

16、Li ne(MyClass);10. 11. 12. public class MyDerivedClass : MyClass13. 14. public voidMessage()15. 16. Con sole.WriteLi ne(MyDerivedClass);17. 18. 第14行:更正為:public override void Message。(4分)3. 下面代碼功能是對(duì)數(shù)組進(jìn)行遍歷,請(qǐng)分析下列代碼段并在空白行補(bǔ)全C#代碼。static void Main(string argz)string myString=windows,form,dialog;foreach( (1

17、)Co nsole.WriteLi ne(str);(1): string str in myString4. 下面程序中兩個(gè)方法需要實(shí)現(xiàn)的功能是:int數(shù)組相加,即數(shù)組中的每項(xiàng)相加,以及string類(lèi)型的相加,即把一串字符串接到另一串字符串后面。請(qǐng)分析下列代碼段,并在空白行補(bǔ)全visual C#代碼。(6分)(1int result=new intarray1.Length ;for (in t i=0;iarray1.Le ngth ;i+)resulti =array1i +array2i;return result;(2) stri ng spaceStr = , result = n

18、 ull;result = str1 + spaceStr + str2;return result;static void Main(string arges)in t a = 1,2, 3, b = 4, 5, 6 ;in t sumArray = new in t3;string str1 = visual, str2 = studio;string sumString = null;sumArray = Add(a, b);sumStri ng = Add(str1, str2);1, static int Add(int arrayl, int array2)2. static st

19、ring Add(string stri, string str2)5. 下列程序段的作用是對(duì)字符串?dāng)?shù)組myArray進(jìn)行排序后輸出“ Ruby Mark Norman Kinger請(qǐng)補(bǔ)全代碼完成該功能。(6分)static void Main( stri ng args)string myArray = new string Kinger, Norman, Ruby, Mark ; Sort(myArray);foreach (stri ng str in myArray)Con sole.Write(str + );public static void Sort(string array)

20、string str;for (int j = 0; j array.Le ngth - 2; j+)for (int i = 0; i array.Le ngth - j - 1; i+)str = arrayi; arrayi = arrayi + 1;arrayi + 1 = str;6. 比爾在教他的女兒面向?qū)ο蟮闹R(shí)。他寫(xiě)了一個(gè)類(lèi)Bill和一個(gè)接口 IPrintname?,F(xiàn)在他希望女兒能夠?qū)懸粋€(gè)類(lèi)Jennifer,繼承自Bill,重寫(xiě)基類(lèi)函數(shù) WhoAml(),將輸出改為Jennifer”;并且實(shí)現(xiàn)接口 IPri ntn ame,該接口只有一個(gè)方法Print,這個(gè)方法的實(shí)現(xiàn)會(huì)在控制臺(tái)

21、打印調(diào)用WhoAmI 函數(shù)的結(jié)果(即:“Jennifer)。(6 分)public class Billpublic virtual string WhoAmI()return Bill;public interface IPrintnamevoid Print();public class Jennifer : Bill , IPrintnamepublic override string WhoAmI()return Jennifer;public void Print()Console .WriteLine(WhoAmI();7. 下列Shape類(lèi)是一個(gè)表示形狀的抽象類(lèi),Area()為求

22、圖形面積的函數(shù),Total()則是一個(gè)通用的用求不同形狀的圖形面積總和的函數(shù)。請(qǐng)從Shape類(lèi)派生矩形類(lèi)(Rectangle)、圓形類(lèi)(Circle),給出具體的求面積函數(shù)。并在主函數(shù)中寫(xiě)出計(jì)算如圖所示圖形面積的語(yǔ)句。(共10分)namespace testclass Program static void Main( string args)static double Total( shape s)double sum = 0.0;int n = s.Length;for ( int i = 0; i n; i+) sum += si.area();return sum;abstract class Shapepublic abstract double Area();namespace testclass

溫馨提示

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

評(píng)論

0/150

提交評(píng)論