C#程序設(shè)計(jì)語(yǔ)言期末考試題A有答案).doc
《C#程序設(shè)計(jì)語(yǔ)言期末考試題A有答案).doc》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《C#程序設(shè)計(jì)語(yǔ)言期末考試題A有答案).doc(9頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
期末試題——C#程序設(shè)計(jì)語(yǔ)言(A卷) 題號(hào) 一 二 三 四 總分 評(píng)卷教師 分?jǐn)?shù) 說(shuō)明:本試卷共四大題,試卷滿(mǎn)分100分,考試時(shí)間120分鐘。 一.判斷題(每題1分,共10分,正確的打√,錯(cuò)誤的打) 題號(hào) 1 2 3 4 5 6 7 8 9 10 答案 √ √ √ √ √ √ ( ) 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ì)象時(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) 1 2 3 4 5 6 7 8 9 10 答案 A B B B C D D A B C 題號(hào) 11 12 13 14 15 16 17 18 19 20 答案 C D A C C B A A A D 1. C#程序設(shè)計(jì)語(yǔ)言屬于什么類(lèi)型的編程語(yǔ)言:a A.高級(jí)語(yǔ)言 B.自然語(yǔ)言 C.機(jī)器語(yǔ)言 D.匯編語(yǔ)言 2. 如有int a=11;則表達(dá)式(a++*1/3)的值是:b A.0 B.3 C.4 D.12 3. 類(lèi)的字段和方法的默認(rèn)訪(fǎng)問(wèn)修飾符是:b A. public B. private C. protected D. internal 4. 對(duì)于在代碼中經(jīng)常要用到的且不會(huì)改變的值,可以將其聲明為常量。如圓周率PI始終為3.14。現(xiàn)在要聲明一個(gè)名為PI的圓周率常量,下面哪段代碼是正確的?b A.const float PI;PI = 3.14f; B.const float PI = 3.14f; C.float const PI;PI = 3.14f; D.float const PI = 3.14f; 5. 請(qǐng)問(wèn)經(jīng)過(guò)表達(dá)式a=3+3>5?0:1的運(yùn)算,變量a的最終值是什么?。c A.6 B.1 C.0 D.true 6. 下列語(yǔ)句是MyClass的一部分,obj是MyClass的一個(gè)對(duì)象。 private class subclass { public int data; } void change(ref int x) { x=1;} public void test() { subClass s=new subClass(); s.data=100; change(ref s.data); Console.WriteLine(s.data); } 則調(diào)用obj.test()后??刂婆_(tái)輸出( d)。 A. 100 B. 101 C. 0 D. 1 7. 用戶(hù)自定義的異常類(lèi)應(yīng)該從哪個(gè)類(lèi)中繼承(d) A. System.ArgumentException B. System.IO.IOException C. System.SystemException D. System.ApplicationException 8. 下面有關(guān)虛方法的描述正確的是( a)。 A. 虛方法能在程序運(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è)委托:public delegate int myCallBack(int x);則用該委托產(chǎn)生的回調(diào)方法的原型應(yīng)該是:b A.void receive (int x) B.int receive(int num) C.int receive( ) D.不確定的 10. C#中TestClass為一自定義類(lèi),其中有以下屬性定義 public void Property{…} 使用以下語(yǔ)句創(chuàng)建了該類(lèi)的對(duì)象,并使變量obj引用該對(duì)象: TestClass obj=new TestClass(); 那么,可通過(guò)什么方式訪(fǎng)問(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 Base { public void Hello() { System.Console.WriteLine("Hello in Base!");//先基后派 } } class Derived : Base { public void Hello() { System.Console.WriteLine("Hello in Derived!"); } } 則下列語(yǔ)句在控制臺(tái)中的輸出結(jié)果為_(kāi)_c___。 Derived x = new Derived(); x.Hello(); A. Hello in Base! B. Hello in Derived! C. Hello in Base! D. Hello in Derived! Hello in Derived! Hello in Base! 12. 下列關(guān)于接口的說(shuō)法中,哪個(gè)選項(xiàng)是正確的?(d) A. 一個(gè)類(lèi)可以有多個(gè)基類(lèi)和多個(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 MyClass { int i; int count { get{ return i; } } } A. 只讀 B. 只寫(xiě) C. 可讀寫(xiě) D. 不可讀不可寫(xiě) 16. 要讓用戶(hù)選擇和瀏覽要打開(kāi)的文件,應(yīng)使用什么對(duì)話(huà)框?(b) A. FileDialog B. OpenFileDialo C. SaveFileDialo D. FolderBrowserDialog 17. 在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)試? a A.使用逐語(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)。在多個(gè)catch塊中,下面哪個(gè)異常應(yīng)該最后捕獲?a A. System.Exception類(lèi) B. System.SystemException類(lèi) C. System.ApplicationException類(lèi) D. System.StackOverflowException類(lèi) 19. 在二維坐標(biāo)系中,通常需要保存一組點(diǎn)的坐標(biāo)。使用二維數(shù)組是一個(gè)解決方案。下面哪段代碼正確初始化了2行2列的整數(shù)二維數(shù)組?a A. int[,] array = new int[2,2]; B. int[][] array = new int[2][2]; C. int[,] array = new int[2][2]; D. int[][] array = new int[2,2]; 20. 已經(jīng)定義了一個(gè)Season枚舉,它有4個(gè)成員Spring,Summer,Autumn,Winter?,F(xiàn)在需要定義一個(gè)名為currentSeason的Season枚舉,并將其賦值為Spring,應(yīng)使用下面哪段代碼?d A. Season currentSeason = Spring; B. currentSeason = Spring; C. currentSeason = Season.Spring; D. Season currentSeason = Season.Spring; 三.簡(jiǎn)答題(每題5分,共10分) 1. 類(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 Program 3. { 4. static void Main(string [] args) 5. { 6. string inputString=Console.ReadLine(); 7. string lowerCase=string.Empty; 8. foreach (char ch in inputString) 9. if (ch>=a||ch<=z) 10. lowerCase+=ch.ToString; 11. Console.WriteLine("小寫(xiě)字母有:"+lowerCase); 12. } 13. } 更正以下兩句: 9. if (ch>=a&&ch<=z) 10. lowerCase+=ch.ToString(); 2. 下述代碼用于重寫(xiě)Message方法。請(qǐng)分析下述代碼,并更正錯(cuò)誤代碼行。(4分) 1. interface IMsg 2. { 3. void Message(); 4. } 5. public class MyClass : IMsg 6. { 7. public virtual void Message() 8. { 9. Console.WriteLine("MyClass"); 10. } 11. } 12. public class MyDerivedClass : MyClass 13. { 14. public void Message() 15. { 16. Console.WriteLine("MyDerivedClass"); 17. } 18. } 第14行:更正為: public override void Message() 3. 下面代碼功能是對(duì)數(shù)組進(jìn)行遍歷,請(qǐng)分析下列代碼段并在空白行補(bǔ)全C#代碼。(4分) static void Main(string[] argz) { string [] myString={"windows","form","dialog"}; foreach( (1) ) { Console.WriteLine(str); } } (1):string str in myString 4. 下面程序中兩個(gè)方法需要實(shí)現(xiàn)的功能是:int數(shù)組相加,即數(shù)組中的每項(xiàng)相加, 以及string類(lèi)型的相加,即把一串字符串接到另一串字符串后面。 請(qǐng)分析下列代碼段,并在空白行補(bǔ)全visual C#代碼。(6分) (1) { int[] result=new int[array1.Length ]; for (int i=0;i- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- C# 程序設(shè)計(jì)語(yǔ)言 期末 考試題 答案
鏈接地址:http://www.820124.com/p-10125674.html