C#程序設(shè)計語言期末考試題A有答案).doc
《C#程序設(shè)計語言期末考試題A有答案).doc》由會員分享,可在線閱讀,更多相關(guān)《C#程序設(shè)計語言期末考試題A有答案).doc(9頁珍藏版)》請在裝配圖網(wǎng)上搜索。
期末試題C#程序設(shè)計語言(A卷)題號一二三四總分評卷教師分?jǐn)?shù)說明:本試卷共四大題,試卷滿分100分,考試時間120分鐘。一判斷題(每題1分,共10分,正確的打,錯誤的打)題號12345678910答案( ) 1“+、-、*、/、%、+、-均屬于二元運(yùn)算符。( ) 2字符串類型屬性引用類型。( ) 3Visual Studio控件的屬性窗口中,按鈕“A-Z”點(diǎn)擊后,屬性列表會先按照功能分類排列屬性后在每個單元中以名稱排序。 ( ) 4派生類可以繼承基類的成員,以及方法的實(shí)現(xiàn);派生的接口繼承了父接口的成員方法,并且也繼承父接口方法的實(shí)現(xiàn)。( ) 5當(dāng)創(chuàng)建派生類對象時,先執(zhí)行基類的構(gòu)造函數(shù),后執(zhí)行派生類的構(gòu)造函數(shù)。( ) 6隱式類型轉(zhuǎn)換就是不需要聲明目標(biāo)類型就可以進(jìn)行的轉(zhuǎn)換?( ) 7如果基類沒有默認(rèn)的構(gòu)造函數(shù),那么其派生類構(gòu)造函數(shù)必須通過base關(guān)鍵字來調(diào)用基類的構(gòu)造函數(shù)。( ) 8在C#中在派生類中重新定義基類類的虛函數(shù)必須在前面加override。( ) 9C中方法的參數(shù)中輸出型參數(shù)(out)的實(shí)參在傳遞給形參前,不需要明確賦值,但需在方法返回前對該參數(shù)明確賦值。( ) 10在類中可以重載構(gòu)造函數(shù),C會根據(jù)參數(shù)匹配原則來選擇執(zhí)行合適的構(gòu)造函數(shù)。二單項選擇題(每題2分,共40分)一、 (說明:每題有且僅有一個正確答案,請將正確答案填入下表)題號12345678910答案ABBBCDDABC題號11121314151617181920答案CDACCBAAAD1. C#程序設(shè)計語言屬于什么類型的編程語言:a A高級語言 B自然語言 C機(jī)器語言 D匯編語言2. 如有int a=11;則表達(dá)式(a+*1/3)的值是:b A0 B3 C4 D123. 類的字段和方法的默認(rèn)訪問修飾符是:bA public B private C protected D internal4. 對于在代碼中經(jīng)常要用到的且不會改變的值,可以將其聲明為常量。如圓周率PI始終為3.14?,F(xiàn)在要聲明一個名為PI的圓周率常量,下面哪段代碼是正確的?bA.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. 請問經(jīng)過表達(dá)式a=3+35?0:1的運(yùn)算,變量a的最終值是什么?。cA6 B1 C0 Dtrue6. 下列語句是MyClass的一部分,obj是MyClass的一個對象。 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()后??刂婆_輸出( d)。A. 100 B. 101 C. 0 D. 17. 用戶自定義的異常類應(yīng)該從哪個類中繼承(d)A. System.ArgumentException B. System.IO.IOExceptionC. System.SystemException D. System.ApplicationException8. 下面有關(guān)虛方法的描述正確的是( a)。A. 虛方法能在程序運(yùn)行時,動態(tài)確定要調(diào)用的方法,因而比非虛方法更靈活,更方便B. 在定義虛方法時,基類和派生類的方法定義語句中都要帶上virtual修飾符C. 重寫基類的虛方法時,為消除隱藏基類成員的警告,需要帶上new修飾符D. 在重寫虛方法時,需要同時帶上override和virtual修飾符9. 下列語句聲明了一個委托:public delegate int myCallBack(int x);則用該委托產(chǎn)生的回調(diào)方法的原型應(yīng)該是:bA.void receive (int x) B.int receive(int num)C.int receive( ) D.不確定的10. C#中TestClass為一自定義類,其中有以下屬性定義public void Property使用以下語句創(chuàng)建了該類的對象,并使變量obj引用該對象:TestClass obj=new TestClass();那么,可通過什么方式訪問類TestClass的Property屬性(c)A. TestClass.Progerty; B. TestClass. Property(); C. obj. Property; D. obj. Property();11. 已知類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!);則下列語句在控制臺中的輸出結(jié)果為_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)于接口的說法中,哪個選項是正確的?(d)A. 一個類可以有多個基類和多個基接口B. 抽象類和接口都不能被實(shí)例化C. 抽象類和接口都可以對成員方法進(jìn)行實(shí)現(xiàn)D.派生類可以不實(shí)現(xiàn)抽象基類的抽象方法,但必須實(shí)現(xiàn)繼承的接口的方法13. 下列關(guān)于構(gòu)造函數(shù)的描述中,哪個選項是正確的?(a)A. 構(gòu)造函數(shù)必須與類名相同 B. 構(gòu)造函數(shù)不可以用private修飾C. 構(gòu)造函數(shù)不能帶參數(shù) D. 構(gòu)造函數(shù)可以聲明返回類型14. 引用數(shù)組元素時,數(shù)組下標(biāo)的數(shù)據(jù)類型可以允許哪項類型?(c)A. 整型常量 B. 整型表達(dá)式C. 整型常量或整型表達(dá)式 D. 任何類型的表達(dá)式15. 以下類MyClass 的屬性count 屬于_c_屬性。class MyClassint i;int countget return i; A. 只讀 B. 只寫 C. 可讀寫 D. 不可讀不可寫 16. 要讓用戶選擇和瀏覽要打開的文件,應(yīng)使用什么對話框?(b)A. FileDialog B. OpenFileDialo C. SaveFileDialo D. FolderBrowserDialog17. 在Visual Studio 2005中,假設(shè)你正在單步調(diào)試某個應(yīng)用程序。程序從入口開始,調(diào)用某個私有方法將產(chǎn)生異常?,F(xiàn)在代碼運(yùn)行到如圖所示位置,應(yīng)該使用下面哪種方式進(jìn)一步調(diào)試? aA.使用逐語句調(diào)試 B.使用逐過程調(diào)試C.跳出調(diào)試 D.停止調(diào)試18. .NET Framework 2.0中,處理異常是很有用的功能。一個try代碼塊可以有多個catch塊于之對應(yīng)。在多個catch塊中,下面哪個異常應(yīng)該最后捕獲?aA. System.Exception類 B. System.SystemException類C. System.ApplicationException類 D. System.StackOverflowException類19. 在二維坐標(biāo)系中,通常需要保存一組點(diǎn)的坐標(biāo)。使用二維數(shù)組是一個解決方案。下面哪段代碼正確初始化了2行2列的整數(shù)二維數(shù)組?aA. int, array = new int2,2; B. int array = new int22;C. int, array = new int22; D. int array = new int2,2;20. 已經(jīng)定義了一個Season枚舉,它有4個成員Spring,Summer,Autumn,Winter?,F(xiàn)在需要定義一個名為currentSeason的Season枚舉,并將其賦值為Spring,應(yīng)使用下面哪段代碼?dA. Season currentSeason = Spring; B. currentSeason = Spring;C. currentSeason = Season.Spring; D. Season currentSeason = Season.Spring;三簡答題(每題5分,共10分)1. 類與對象有什么區(qū)別?答:類是用來描述某種具有相同屬性和行為的事物,對象是類的一種具體表現(xiàn)。2. 什么叫多態(tài)性,在C#語言中如何實(shí)現(xiàn)多態(tài)?答:多態(tài)性是指一段程序能夠處理多種類型對象的能力。四綜合題(共40分)1. 下面這段程序要完成的功能是:從輸入的字符串中找出小寫字母并輸出到終端。請檢查下列代碼,找出所有錯誤的代碼,并寫出該行完整的正確代碼。(4分)1 using System;2 public class Program3 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=a&ch=z)10. lowerCase+=ch.ToString();2. 下述代碼用于重寫Message方法。請分析下述代碼,并更正錯誤代碼行。(4分)1 interface IMsg2 3 void Message();4 5 public class MyClass : IMsg6 7 public virtual void Message()8 9 Console.WriteLine(MyClass);10 11 12 public class MyDerivedClass : MyClass13 14 public void Message()15 16 Console.WriteLine(MyDerivedClass);17 18 第14行:更正為:public override void Message()3. 下面代碼功能是對數(shù)組進(jìn)行遍歷,請分析下列代碼段并在空白行補(bǔ)全C代碼。(4分)static void Main(string argz) string myString=windows,form,dialog; foreach( (1) ) Console.WriteLine(str); (1):string str in myString4. 下面程序中兩個方法需要實(shí)現(xiàn)的功能是:int數(shù)組相加,即數(shù)組中的每項相加,以及string類型的相加,即把一串字符串接到另一串字符串后面。請分析下列代碼段,并在空白行補(bǔ)全visual C#代碼。(6分) (1) int result=new intarray1.Length ; for (int i=0;iarray1.Length ;i+) resulti =array1i +array2i; return result; (2) string spaceStr = , result = null; result = str1 + spaceStr + str2; return result;static void Main(string arges) int a = 1, 2, 3, , b = 4, 5, 6 ; int sumArray = new int3; string str1 = visual, str2 = studio; string sumString = null; sumArray = Add(a, b); sumString = Add(str1, str2);1, static int Add(int array1, int array2)2. static string Add(string str1, string str2)5. 下列程序段的作用是對字符串?dāng)?shù)組myArray進(jìn)行排序后輸出“Ruby Mark Norman Kinger”,請補(bǔ)全代碼完成該功能。(6分)static void Main(string args)string myArray = new string Kinger, Norman, Ruby, Mark ;Sort(myArray);foreach (string str in myArray) Console.Write(str + );public static void Sort(string array)string str;for (int j = 0; j array.Length - 2; j+) for (int i = 0; i array.Length - j - 1; i+) str = arrayi; arrayi = arrayi + 1; arrayi + 1 = str; 6. 比爾在教他的女兒面向?qū)ο蟮闹R。他寫了一個類Bill和一個接口IPrintname?,F(xiàn)在他希望女兒能夠?qū)懸粋€類Jennifer,繼承自Bill,重寫基類函數(shù)WhoAmI(),將輸出改為“Jennifer”;并且實(shí)現(xiàn)接口IPrintname,該接口只有一個方法Print,這個方法的實(shí)現(xiàn)會在控制臺打印調(diào)用WhoAmI函數(shù)的結(jié)果(即:“Jennifer”)。(6分)public class Bill public virtual string WhoAmI() return Bill; public interface IPrintname void Print();public class Jennifer : Bill, IPrintname public override string WhoAmI() return Jennifer; public void Print() Console.WriteLine(WhoAmI(); 7. 下列Shape類是一個表示形狀的抽象類,Area( )為求圖形面積的函數(shù),Total( )則是一個通用的用求不同形狀的圖形面積總和的函數(shù)。請從Shape類派生矩形類(Rectangle)、圓形類(Circle),給出具體的求面積函數(shù)。并在主函數(shù)中寫出計算如圖所示圖形面積的語句。(共10分) namespace test class Program static void Main(string args) rectangle rec1 = new rectangle(30,5); rectangle rec2 = new rectangle(30,5); circle cir1 = new circle(6); circle cir2 = new circle(6); circle cir3 = new circle(6); shape s = new shape5; s0 = rec1; s1 = rec2; s2 = cir1; s3 = cir2; s4 = cir3; Console.WriteLine(total(s); static double total(shape s) double sum = 0.0; int n = s.Length; /for (int i = 0; i n; i+) / sum += si.area(); foreach (shape sh in s) sum += sh.area(); return sum; abstract class shape public abstract double area(); class rectangle : shape double a, b; public rectangle(double x, double y) a = x; b = y; public override double area() return a * b; class circle : shape double r; public circle(double r) this.r = r; public override double area() return 3.14 * r * r;- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- C# 程序設(shè)計語言 期末 考試題 答案
鏈接地址:http://ioszen.com/p-10125674.html