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

2、的實(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。( ) 9C中方法的參數(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è)正確答案

3、,請(qǐng)將正確答案填入下表)題號(hào)12345678910答案ABBBCDDABC題號(hào)11121314151617181920答案CDACCBAAAD1. 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 A0 B3 C4 D123. 類(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.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的最終值是什么?。cA6 B1 C0 Dtrue6. 下列語(yǔ)句是MyClass的一部分,obj是MyClass的一個(gè)對(duì)象。 private class subclass public int data;void change(ref int x) x=1;public void test()subClass s=ne

5、w 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. 17. 用戶(hù)自定義的異常類(lèi)應(yīng)該從哪個(gè)類(lèi)中繼承(d)A. System.ArgumentException B. System.IO.IOExceptionC. System.SystemException D. System.ApplicationException8. 下面有關(guān)虛方法的描述正確的是( a)。A. 虛方法能在程序運(yùn)行時(shí),動(dòng)態(tài)確定要調(diào)用的方法,因而比非

6、虛方法更靈活,更方便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)該是:bA.void receive (int x) B.int receive(int num)C.int receive( ) D.不確定的10. C#中TestClass為一自定義類(lèi),其中有以下屬性定義public

7、 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 Base public void Hello()System.Console.WriteLine("Hello in Base!"

8、);/先基后派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)

9、可以有多個(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 MyClassint i;

10、int countget return i; A. 只讀 B. 只寫(xiě) C. 可讀寫(xiě) D. 不可讀不可寫(xiě) 16. 要讓用戶(hù)選擇和瀏覽要打開(kāi)的文件,應(yīng)使用什么對(duì)話框?(b)A. FileDialog B. OpenFileDialo C. SaveFileDialo D. 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)試? aA.使用逐語(yǔ)句調(diào)試 B.使用逐過(guò)程調(diào)試C.跳出調(diào)試 D.停止調(diào)試18. .NET Framework

11、2.0中,處理異常是很有用的功能。一個(gè)try代碼塊可以有多個(gè)catch塊于之對(duì)應(yīng)。在多個(gè)catch塊中,下面哪個(gè)異常應(yīng)該最后捕獲?aA. 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ù)組?aA. int, array = new int2,2; B. int array = new int22;C. in

12、t, array = new int22; D. int array = new int2,2;20. 已經(jīng)定義了一個(gè)Season枚舉,它有4個(gè)成員Spring,Summer,Autumn,Winter?,F(xiàn)在需要定義一個(gè)名為currentSeason的Season枚舉,并將其賦值為Spring,應(yīng)使用下面哪段代碼?dA. Season currentSeason = Spring; B. currentSeason = Spring;C. currentSeason = Season.Spring; D. Season currentSeason = Season.Spring;三簡(jiǎn)答題(每題

13、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 Program3 4 static void Main(string args)5 6 string inputString=Console.ReadLine();7

14、 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

15、方法。請(qǐng)分析下述代碼,并更正錯(cuò)誤代碼行。(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

16、行:更正為: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 myString4. 下面程序中兩個(gè)方法需要實(shí)現(xiàn)的功能是:int數(shù)組相加,即數(shù)組中的每項(xiàng)相加,以及string類(lèi)型的相加,即把一

17、串字符串接到另一串字符串后面。請(qǐng)分析下列代碼段,并在空白行補(bǔ)全visual C#代碼。(6分) (1) int result=new intarray1.Length ; for (int i=0;i<array1.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

18、 = 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. 下列程序段的作用是對(duì)字符串?dāng)?shù)組myArray

19、進(jìn)行排序后輸出“Ruby Mark Norman Kinger”,請(qǐng)補(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)s

20、tring 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(shí)。他寫(xiě)了一個(gè)類(lèi)Bill和一個(gè)接口IPrintname?,F(xiàn)在他希望女兒能夠?qū)懸粋€(gè)類(lèi)Jennifer,繼承自Bill,重寫(xiě)基類(lèi)函數(shù)WhoAmI(),將輸出改為“Jennifer”;并且實(shí)現(xiàn)接口IPrintname,該接口只有一個(gè)方法Print,這個(gè)方法的

21、實(shí)現(xiàn)會(huì)在控制臺(tái)打印調(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類(lèi)是一個(gè)表示形狀的抽象類(lèi),Area( )為求圖形面積的函數(shù),Total( )則是一個(gè)通用的用求不同形狀的圖形面積總和的函數(shù)。請(qǐng)從Shape類(lèi)派生矩形類(lèi)(Rectangle)、圓形類(lèi)(Circle),給出具體的求面積函數(shù)。并在主函數(shù)中寫(xiě)出計(jì)算如圖所示圖形面積的語(yǔ)句。(共10分) namespace test class Program static void Main(string args) rectangle rec1

溫馨提示

  • 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)論