C#所有的自測(cè)題.doc_第1頁(yè)
C#所有的自測(cè)題.doc_第2頁(yè)
C#所有的自測(cè)題.doc_第3頁(yè)
C#所有的自測(cè)題.doc_第4頁(yè)
C#所有的自測(cè)題.doc_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余34頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

第一章1.1填空題1. 計(jì)算機(jī)只能直接理解僅有1和0組成的 機(jī)器 語(yǔ)言。2. 計(jì)算機(jī)處理數(shù)據(jù)時(shí),使用的是被稱為計(jì)算機(jī)程序的指令集。3. 本章討論的計(jì)算機(jī)編程語(yǔ)言的三種類型是:機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。4. 將高級(jí)語(yǔ)言程序翻譯成機(jī)器語(yǔ)言的程序,稱為編譯器。5. Visual Studio是一個(gè)集成開發(fā)環(huán)境,C#程序在這個(gè)環(huán)境下開發(fā)。6. C#是一種面向?qū)ο蟆⑹录?qū)動(dòng)的語(yǔ)言。7. C#編程語(yǔ)言是Microsoft專門為.NET平臺(tái)而創(chuàng)建的。8. 超文本標(biāo)記語(yǔ)言(HTML)是用來(lái)在萬(wàn)維網(wǎng)衫通過(guò)“超鏈”的文本文檔而工程共享信息的一種語(yǔ)言。9. 公共語(yǔ)言運(yùn)行時(shí)(CLR)執(zhí)行.NET程序。10. 對(duì)象具有屬性,可執(zhí)行動(dòng)作(也稱為方法或行為)。11. 面向?qū)ο笤O(shè)計(jì)(OOD)以與人們描述現(xiàn)實(shí)世界類似的方法來(lái)建模軟件。1.2判斷下列語(yǔ)句是否正確。1.UML主要用于實(shí)現(xiàn)面向?qū)ο蟮南到y(tǒng)。 錯(cuò)2.C#是一種面向?qū)ο蟮恼Z(yǔ)言。 對(duì)3.C#是編寫.NET應(yīng)用程序的唯一可用語(yǔ)言。 錯(cuò)4.計(jì)算機(jī)能夠直接理解高級(jí)語(yǔ)言。 錯(cuò)5.不管原始的.NET語(yǔ)言尺,MSIL都是所有.NET程序編譯時(shí)的共同中間格式。 對(duì)6.NET框架可移植到非Windows平臺(tái)。 對(duì) 第二章2.1填空題1. 可視化編程技術(shù)使程序員能夠不必編寫任何代碼即可創(chuàng)建GUI。2. 方案是一個(gè)或多個(gè)工程的組合,這些工程共同構(gòu)成了一個(gè)Visual C#程序。3. 當(dāng)把鼠標(biāo)指針移到窗口區(qū)域以外時(shí),窗口會(huì)再次隱藏起來(lái),這一特性被稱為自動(dòng)隱藏。4. 當(dāng)鼠標(biāo)指針懸停在圖標(biāo)上時(shí),會(huì)出現(xiàn)工具提示。5. 可以在Solution Explore窗口中瀏覽方案文件。6. Properties窗口中的屬性可以按字母順序或類別順序排序。7. 窗體的Text屬性設(shè)置窗體標(biāo)題欄中的文本。8. 工具箱使程序員能夠以可視化的方式向窗體添加控件。9. 上下文相互幫助會(huì)根據(jù)當(dāng)前的上下文內(nèi)容顯示相關(guān)的幫助文件。10. TextAlign屬性指定卷標(biāo)仲如何對(duì)齊文本。2.2判斷下列語(yǔ)句是否正確。1.IDE的標(biāo)題欄顯示的是IDE的模式。 對(duì)2. 會(huì)觸發(fā)“自動(dòng)隱藏”的特性。 錯(cuò)3.工具欄圖標(biāo)代表各種菜單命令。 對(duì)4.工具欄包含程序員能夠拖入窗體的控件的圖標(biāo)。 錯(cuò)5.窗體和卷標(biāo)都有標(biāo)題欄。 錯(cuò)6.只有在編寫代碼時(shí)才能夠修改控件的屬性。 錯(cuò)7.圖形框控件通常顯示圖像。 對(duì)8.C#文件的擴(kuò)展名為.csharp。 錯(cuò)9.窗體的背景色是用BackColor屬性設(shè)置的。 對(duì)第三章3.1填空題1. 每個(gè)方法體以左大括號(hào)()開始,以右大括號(hào)()結(jié)束。2. 大多數(shù)語(yǔ)句都以分號(hào)(;)結(jié)束。3. if語(yǔ)句用來(lái)作出判斷。4. 單行注釋以/開始。5. 空行、空白字符和制表符被稱為可能空白字符。換行符也被認(rèn)為是空白字符。6. 關(guān)鍵字是C#保留使用的。7. C#程序從Main方法開始執(zhí)行。8. Console.writeLine 和 Console.write會(huì)在控制臺(tái)窗口顯示信息。3.2判斷下列語(yǔ)句是否正確。1. 當(dāng)執(zhí)行程序時(shí),程序中的注釋會(huì)使計(jì)算機(jī)在屏幕上顯示/之后的文本。 錯(cuò)2. C#會(huì)認(rèn)為變量number和NuMbEr是相同的。 錯(cuò)3. 求余運(yùn)算符(%)只能用于整形操作數(shù)。 錯(cuò)4. 算數(shù)運(yùn)算符*,/,%,+,都具有相同的優(yōu)先級(jí)。 錯(cuò)3.3編寫語(yǔ)句,完成下列任務(wù)。1.將變量c,thisIsAVariable,q76354和number聲明成int類型。 Int c,thisIsAVariable, q76354, number; 或者Int c;Int thisIsAVariable;Int q76354;Int number;2.提示用戶輸入一個(gè)整數(shù)。Console.Write(“Enter an interger:”);3.輸入一個(gè)整數(shù)并將它賦予一個(gè)int型變量value。Value=Convert ToInt32(Console.ReadLine();5. 如果變量number不等于7,顯示“The variable number is not equal to 7”。 If number(!=7) Console.WriteLine(“The variable number is not equal to 7”);6. 在控制臺(tái)窗口的一行中顯示“this is a C# application”Console.WriteLine(“This is a C# application”);7. 在控制臺(tái)窗口的兩行中顯示“this is a C# application”,第一行應(yīng)以“C#”結(jié)尾,使用Console.WriteLine方法。 Console.WriteLine(“This is a C#n application”);8. 在控制臺(tái)窗口的兩行中顯示“this is a C# application”,第一行應(yīng)以“C#”結(jié)尾,使用Console.WriteLine方法和兩個(gè)格式項(xiàng)。 Console.WriteLine(“0/n1”,“ This is a C#”,“ application”);3.4找出并改正以下語(yǔ)句中的錯(cuò)誤。1.if(c7); Console.WriteLine(“C is less than 7”); 錯(cuò)誤:if語(yǔ)句中條件(c7)Console.WriteLine(“C is equal to or greater than 7”);錯(cuò)誤:關(guān)系運(yùn)算符=不正確。 改正:將=改為 =。3.5 編寫聲明、語(yǔ)句或注釋,完成下列任務(wù)。 1.表明程序?qū)⒂?jì)算三個(gè)整數(shù)的乘積。 /Calculating the product of three integers2.將變量x,y,z和result聲明成int型。 Int x,y,z,result; 或者 Int x; Int y; Int z; Int result;3.提示用戶輸入第一個(gè)整數(shù)。 Console.Write(“Enter first interger:”);4.讀取用戶輸入的第一個(gè)整數(shù),并將它保存在變量x中。 X=Convert ToInt32(Console.ReadLine();5.提示用戶輸入第二個(gè)整數(shù)。 Console.Write(“Enter second interger:”);6.讀取用戶輸入的第二個(gè)整數(shù),并將它保存在變量y中。 y =Convert ToInt32(Console.ReadLine();7.提示用戶輸入第三個(gè)整數(shù)。 Console.Write(“Enter third interger:”);8讀取用戶輸入的第三個(gè)整數(shù),并將它保存在變量z中。 z=Convert ToInt32(Console.ReadLine();9. 計(jì)算包含在變量x,y和z中的三個(gè)整數(shù)的乘積,并將結(jié)果賦值給變量result。Result=x*y*z;10. 顯示消息“Product is ”,后接變量result的值。 Console.WriteLine(“Product is 0”,result); 3.6 利用在練習(xí)3.5中編寫的語(yǔ)句,寫一個(gè)完整的程序,它計(jì)算并顯示三個(gè)整數(shù)的乘積。 Using system; Public class product Public static void main(string args) Int x; Int y; Int z; Int result; Console.Write(“Enter first interger:”); X=Convert ToInt32(Console.ReadLine(); Console.Write(“Enter second interger:”); y =Convert ToInt32(Console.ReadLine(); Console.Write(“Enter third interger:”); z=Convert ToInt32(Console.ReadLine();Result=x*y*z; Console.WriteLine(“Product is 0”,result); Enter first integer:10 Enter second integer:20 Enter third integer:30 Product is 6000第四章4.1填空題1. 藍(lán)圖對(duì)于房子而言,就如同對(duì)象對(duì)于類一樣。2. 每個(gè)類聲明都包含關(guān)鍵字class,后面緊跟著類的名稱。3. 操作符new會(huì)創(chuàng)建在它的右邊指定的類的對(duì)象。4. 每個(gè)參數(shù)都必須指定類型和名稱。5. 默認(rèn)情況下,沒(méi)有在名字空間中顯示聲明的類,會(huì)被隱式的放入全局名字空間中。6. 當(dāng)類的每個(gè)對(duì)象維護(hù)它自己的屬性副本時(shí),表示該屬性的字段也被稱為實(shí)例變量。7. C#為存儲(chǔ)實(shí)數(shù)提供了三種簡(jiǎn)單類型:float ,double和decimal。8. double類型的變量表示雙精度浮點(diǎn)數(shù)。9. Convert方法ToDecimal返回一個(gè)decimal值。10. 關(guān)鍵字public是一個(gè)訪問(wèn)修飾符。11. 返回類型void表明當(dāng)方法完成任務(wù)后,它不會(huì)返回任何信息。12. Console方法ReadLine讀取字符,知道遇到換行符,然后返回一個(gè)字符串,包含除換行符之外的全部字符。13. 如果總是用完全限定類名引用類,則不要求有using指令。14. float類型的變量表示單精度浮點(diǎn)數(shù)。15. 格式指定符C用于以貨幣格式顯示值。16. 類型是值類型或者引用類型。17. 對(duì)于自實(shí)現(xiàn)屬性,編譯器會(huì)自動(dòng)產(chǎn)生一個(gè)私有實(shí)例變量以及set和get訪問(wèn)方法。4.2判斷下列語(yǔ)句是否正確。1.按照約定,方法名的第一個(gè)字母小寫,而后續(xù)所有單詞的首字母都大寫。 錯(cuò)2.屬性的get訪問(wèn)方法使客戶能夠修改與該屬性相關(guān)變量的實(shí)例變量的值。 錯(cuò)3.當(dāng)名稱空間中的某個(gè)類使用同一個(gè)名字空間中的另一個(gè)類時(shí),不要求有using指令。 4.如果方法聲明中的方法名后面是空?qǐng)A括號(hào),則表明這個(gè)方法執(zhí)行任務(wù)時(shí)不需要任何參數(shù)。5.定義屬性后,可以像使用方法一樣使用它,但它帶的是空?qǐng)A括號(hào),因?yàn)闆](méi)有實(shí)參會(huì)傳遞給屬性。6.用private訪問(wèn)修飾符聲明的變量或方法,只能由聲明它們的類的屬性和方法訪問(wèn)。 對(duì)7.在特定方法體中聲明的變量,稱為實(shí)例變量,它們只能用在這個(gè)類的屬性和方法訪問(wèn)。 錯(cuò)8.屬性聲明必須同時(shí)包含get訪問(wèn)方法和set訪問(wèn)方法。 錯(cuò)9.方法體或?qū)傩泽w都用左右兩個(gè)大括號(hào)隔離出來(lái)。 對(duì)10.默認(rèn)情況下局部變量會(huì)被初始化。 錯(cuò)11.引用類型實(shí)例變量默認(rèn)被初始化為null值 對(duì)12.包含public static void main (string args )聲明的任何類,都可以用來(lái)執(zhí)行程序。 對(duì)13.方法調(diào)用中的實(shí)參個(gè)數(shù),必須與被調(diào)用的方法聲明參數(shù)表中的參數(shù)個(gè)數(shù)形同。 對(duì)14.默認(rèn)情況下,出現(xiàn)在源代碼中的實(shí)數(shù)被稱為浮點(diǎn)字面文字,都是float類型的。 錯(cuò)4.3 局部變量與實(shí)例變量有什么不同? 局部變量在方法體內(nèi)聲明,只能用于聲明它的方法內(nèi)。實(shí)例變量是在類中聲明的,而不是在類的任何方法體內(nèi)聲明。類的每個(gè)對(duì)象(實(shí)例)都有該實(shí)例變量的一個(gè)單獨(dú)副本。而且,類的所有方法都可以訪問(wèn)實(shí)例變量。4.4解釋方法參數(shù)的作用。參數(shù)與實(shí)參有什么不同? 參數(shù)代表額外的信息,方法要求這些信息才能執(zhí)行任務(wù)。方法要求的每個(gè)參數(shù),在方法的聲明中指定。實(shí)參是當(dāng)調(diào)用方法時(shí)傳遞給方法參數(shù)的實(shí)際值。第五章5.1填空題1. 所有的程序都能夠以三種控制結(jié)構(gòu)類型編寫,這三種結(jié)構(gòu)是順序、選擇和循環(huán)。2. 當(dāng)條件為真時(shí)執(zhí)行一個(gè)動(dòng)作,為假時(shí)執(zhí)行另一個(gè)動(dòng)作的語(yǔ)句是ifelse語(yǔ)句。3. 重復(fù)執(zhí)行一組指令特定次數(shù)的循環(huán),稱為計(jì)算器控制循環(huán)。4. 當(dāng)無(wú)法預(yù)先知道一組語(yǔ)句將重復(fù)執(zhí)行多少次的時(shí),應(yīng)使用標(biāo)記值、信號(hào)值、標(biāo)志值或啞值來(lái)終止這個(gè)循環(huán)。5. C#中內(nèi)置的語(yǔ)句執(zhí)行結(jié)構(gòu)是順序結(jié)構(gòu),即默認(rèn)情況下語(yǔ)句會(huì)按照它們出現(xiàn)的順序來(lái)執(zhí)行。6. int類型實(shí)例變量默認(rèn)值為0。7. C#是一種強(qiáng)類型化語(yǔ)言,它要求所有的變量都具有類型。8. 如果對(duì)變量使用前置遞增運(yùn)算符,則變量的值會(huì)首先加1,然后將它的新值用在表達(dá)式上。5.2 判斷下列語(yǔ)句是否正確。1. 算法是關(guān)于要執(zhí)行的動(dòng)作以及執(zhí)行它們的順序的問(wèn)題求解過(guò)程。對(duì)2. 包含在一對(duì)圓括號(hào)內(nèi)的一組語(yǔ)句,稱為語(yǔ)句塊。 錯(cuò)3. 選擇語(yǔ)句指定當(dāng)某個(gè)條件為真時(shí)要重復(fù)執(zhí)行的某一條語(yǔ)句。 錯(cuò)4. 嵌套控制語(yǔ)句出現(xiàn)在另一個(gè)控制語(yǔ)句的語(yǔ)句體中。 對(duì)5. C#提供了幾個(gè)算數(shù)復(fù)合賦值運(yùn)算符用來(lái)簡(jiǎn)化賦值表達(dá)式,這些運(yùn)算符包括+=,=,*=,/=和%=。 對(duì)6. 指定在程序中執(zhí)行語(yǔ)句(動(dòng)作)的順序,被稱為程序控制。對(duì)7. 一元強(qiáng)制轉(zhuǎn)換運(yùn)算符“(double)”會(huì)創(chuàng)建它的操作數(shù)的一個(gè)臨時(shí)整數(shù)型副本。 錯(cuò)8. bool類型實(shí)例變量的默認(rèn)值為true。 錯(cuò)9. 偽代碼是用來(lái)幫助程序員在用編程語(yǔ)言編寫程序之前“思考”的。 對(duì)5.3編寫4條不同的C#語(yǔ)句,它們都將int變量x 加1。 x=x+1; x+=1; +x; x+; 5.4 編寫C#語(yǔ)句,完成下列任務(wù)。 1.將x和y的和賦值給z,并在計(jì)算之后將x的值加1.只使用一條語(yǔ)句。Z=x+ + y ; 2.測(cè)試變量count的值是否大于10。如果是,顯示“count is greater than 10”。 If (count10)Console.WriteLine(“Count is greater than 10”); 3.將變量x的值減1,然后用變量total與它相減。只是用一條語(yǔ)句。Total -= -x; 4.計(jì)算q除以divisor之后的余數(shù),并將結(jié)果賦予q。以兩種方式編寫這條語(yǔ)句。 q%=divisor; q=q%divisor;5.5編寫C#語(yǔ)句,完成下列任務(wù)。 1.將變量sum聲明為int類型。 Int sum; 2.將變量x聲明為int類型。 Int x; 3.將變量x賦值1。 X=1; 4.為變量sum賦值0。 Sum=0; 5.計(jì)算變量x 和sum的和,并將結(jié)果賦予變量sum。 Sum+=x; 或者 sum=sum+x; 6.顯示“The sum is ”,后接變量sum的值。Console.WriteLine(“The sum is 0”,sum);5.6 將練習(xí)5.5中的語(yǔ)句組合成C#程序。計(jì)算并顯示整數(shù)110的和。使用while語(yǔ)句循環(huán)計(jì)算語(yǔ)句和遞增語(yǔ)句。循環(huán)應(yīng)當(dāng)在X的值變?yōu)?1時(shí)終止。Using system;Public class Calculate Public static void Main (string args) Int sum;Int x;X=1;Sum=0;While (x=10) Sum+=x; +x; Console.WriteLine(“The sum is 0”,sum); The sum is 555.7 執(zhí)行下列語(yǔ)句后,確定變量的值,假設(shè)開始執(zhí)行語(yǔ)句時(shí),所有變量的類型都為int,且都有值5。 Product *=x+; Product=25 , x=65.8找出并更正如下代碼段中的錯(cuò)誤。 1.while (c=0) Sum+=z;While 語(yǔ)句中變量z的值永遠(yuǎn)不會(huì)改變。因此,如果初始時(shí)循環(huán)繼續(xù)條件(z=0)為真,則會(huì)出現(xiàn)無(wú)限循環(huán)。為了防止出現(xiàn)無(wú)限循環(huán),必須遞減Z的值,以使它最終變?yōu)樾∮?。 第六章 6.1 填空題1. 一般而言,for語(yǔ)句用于計(jì)算器控制循環(huán),而while語(yǔ)句用于標(biāo)記控制循環(huán)。2. dowhile語(yǔ)句在執(zhí)行循環(huán)體之后測(cè)試循環(huán)繼續(xù)條件,因此循環(huán)體總是至少會(huì)執(zhí)行一次。3. 根據(jù)整形變量或表達(dá)式可能的值,switch語(yǔ)句會(huì)在多個(gè)動(dòng)作中間進(jìn)行選擇。4. 當(dāng)在循環(huán)語(yǔ)句中執(zhí)行時(shí),continue語(yǔ)句會(huì)跳過(guò)循環(huán)體中的剩余語(yǔ)句,繼續(xù)進(jìn)行循環(huán)的下一次迭代。5. &(條件與)或&(布爾邏輯與)運(yùn)算符在選擇某個(gè)執(zhí)行路徑之前,可用來(lái)確保兩個(gè)條件都為真。6. 如果在for首部中的循環(huán)繼續(xù)條件最初為假,則不會(huì)執(zhí)行for語(yǔ)句體。7. 執(zhí)行通用任務(wù)、不需要在對(duì)象上調(diào)用的方法,被稱為靜態(tài)方法。6.2判斷下列語(yǔ)句是否正確。1.在switch選擇語(yǔ)句中,要求有默認(rèn)分支。 錯(cuò)2.在switch語(yǔ)句的每一個(gè)分支中,都要求有break語(yǔ)句。 錯(cuò)3.如果(xy)為真,或者(ay)&(ab))就為真。 錯(cuò)4.如果包含|運(yùn)算符的表達(dá)式的兩個(gè)操作數(shù)有一個(gè)為真或者兩個(gè)都為真,則這個(gè)表達(dá)式就為真。 對(duì)5.格式項(xiàng)(例如0.4)中逗號(hào)后面的整數(shù)表示要顯示的字符串的字段寬度。 對(duì)6.為了測(cè)試switch語(yǔ)句中的值得范圍,需在分支標(biāo)簽的起始值和結(jié)尾值之間使用連字符()。 錯(cuò)7.連續(xù)地列出多個(gè)分支,讓它們之間沒(méi)有語(yǔ)句,可使這些分支執(zhí)行同一組語(yǔ)句。 對(duì)6.3 編寫一條或一組C#語(yǔ)句,完成下列任務(wù)。1.使用一條for語(yǔ)句,求199de 奇數(shù)和。假設(shè)已經(jīng)聲明了整形變量sum和count。 Sum=0; For(count=1; count=99;count +=2) sum +=count;2.用Pow方法計(jì)算2.5的三次冪。double result= Math.Pow(2.5 , 3);3. 使用while循環(huán)和計(jì)算器變量i,顯示120的整數(shù)。假設(shè)已經(jīng)聲明了變量i,但沒(méi)有初始化它,每行顯示五個(gè)整數(shù)。提示:利用i%5。當(dāng)它的結(jié)果為0時(shí),顯示一個(gè)換行符,否則顯示一個(gè)制表符。使用Console.WriteLine()方法輸出換行符,而使用console。Write(t)方法輸出制表符。 i=1; while (i=20) Console.write ( i )if(i%5=0) Console.writeline();elseConsole.Write(t);+i; 4. 用for語(yǔ)句解第3題部分同樣的問(wèn)題。 for (i=1; i=20; i+) Console.Write( i );if (i%5=0) Console.writeline();elseConsole.Write(t); 6.4找出如下代碼中的錯(cuò)誤并改正。1. i=1;While (i=10); +i; 錯(cuò)誤:while首部后面的分號(hào)會(huì)導(dǎo)致無(wú)限循環(huán),且while語(yǔ)句體中缺失左大括號(hào)。改正:刪除分號(hào)并在循環(huán)體之前添加一個(gè)左大括號(hào)。2. for (k=0.1; k!=1.0; k+=0.1) Console.WriteLine(k);錯(cuò)誤:使用浮點(diǎn)數(shù)來(lái)控制for語(yǔ)句可能會(huì)出現(xiàn)錯(cuò)誤,因此在大多數(shù)計(jì)算機(jī)中,浮點(diǎn)數(shù)是近似表示的。改正:使用整數(shù),且為了獲得所期望的值需執(zhí)行正確的計(jì)算,如下所示。 for (k=1, k10; k+) Console.WriteLine(double) k / 10);3.switch (n) case 1: Console.WriteLine(“The number is 1”); case2: Console.WriteLine(“The number is 2”);break;default : Console.WriteLine(“The number is not 1 or 2”); break;錯(cuò)誤:分支1不能落入分支2中。改正:應(yīng)以某種方式終止分支,比如在第一個(gè)分支的語(yǔ)句末尾添加一條break語(yǔ)句。5. 下面的代碼應(yīng)顯示值110。 n=1; while (n10) Console.WriteLine(n+);錯(cuò)誤。在while循環(huán)繼續(xù)條件中使用了錯(cuò)誤的關(guān)系運(yùn)算符。改正:將替換成=,或者將10改成11。第七章7.1 填空題。a)在程序中使用方法是通過(guò) 方法調(diào)用 實(shí)現(xiàn)的。b)只在聲明它的方法中可知的變量,稱為局部變量。c)被調(diào)方法中return 語(yǔ)句可用來(lái)將表達(dá)式的值回傳給調(diào)用方法。d)關(guān)鍵字void 表示方法不返回值。e)數(shù)據(jù)只能從棧的 頂 添加或刪除。f)棧被稱為 后入先出(LIFO) 的數(shù)據(jù)結(jié)構(gòu)壓入棧(插入)的最后一項(xiàng),是從棧中彈出(移走)的第一項(xiàng)。g)有三種途徑可將控制從被調(diào)方法返回到調(diào)用方法,它們是return、return expression和遇到方法的閉右括號(hào)時(shí)。h)Random 類的對(duì)象處理偽隨機(jī)數(shù)。i)在程序執(zhí)行期間,程序執(zhí)行棧里包含每次調(diào)用方法時(shí)用到的局部變量的內(nèi)存。這一數(shù)據(jù)作為程序執(zhí)行棧的一部分被保存,它被稱為方法調(diào)用的 活動(dòng)記錄 或 棧幀。j)如果方法調(diào)用的個(gè)數(shù)超過(guò)了程序執(zhí)行棧的容量,就會(huì)發(fā)生稱為 棧溢出 的錯(cuò)誤。k)聲明的 作用域 是程序中可以用非限定名引用所聲明實(shí)體的部分。l)多個(gè)方法可以具有相同的名稱,它們對(duì)不同類型或數(shù)量的實(shí)參進(jìn)行操作。這一特性被稱為方法 重載 。m)程序執(zhí)行棧也被稱為 方法調(diào)用 棧。n)直接或間接調(diào)用自己的方法,是 遞歸 方法。o)遞歸方法通常具有兩個(gè)部分:提供通過(guò)測(cè)試 基本情況 終止遞歸的部分,和將問(wèn)題表述成一個(gè)遞歸調(diào)用,比原始調(diào)用稍微簡(jiǎn)單一些的部分。7.2對(duì)于圖7.8中的Craps類,給出如下每個(gè)實(shí)體的作用域。a) randomNumbers變量。類體b)diel變量。定義RollDice方法體的語(yǔ)句塊。c)RollDice方法類體。d)Main方法。類體。e)sumOfDice變量。定義Main方法體的語(yǔ)句體。7.3編寫一個(gè)程序,它測(cè)試圖7.2中給出的Math類方法調(diào)用的例子是否真的會(huì)產(chǎn)生所給出的結(jié)果。1 /Exersise 7.3 Solution:Math Test.cs2 /Testing the Math class methods.3 using System;4 5 public class MathTest6 7 public static void Main( string args )8 9 Console.WriteLine(“Math.Abs( 23.7 ) = 0”,Math.Abs( 23.7);10 Console.WriteLine(“Math.Abs( 0.0) = 0”,Math.Abs( 0.0);11 Console.WriteLine(“Math.Abs( -23.7 ) = 0”,Math.Abs( -23.7); 12 Console.WriteLine(“Math.Ceiling(9.2)=0”,13 Math.Ceiling(9.2);14 Console.WriteLine(“Math.Ceiling( -9.8 ) = 0”,15 Math.Ceiling( -9.8);16 Console.WriteLine(“Math.Cos( 0.0 ) = 0”,Math.Cos( 0.0);17 Console.WriteLine(“Math.Exp( 1.0 ) = 0”,Math.Exp( 1.0);18 Console.WriteLine(“Math.Exp( 2.0) = 0”,Math.Exp( 2.0);19 Console.WriteLine(“Math.Floor( 9.2 ) = 0”,Math.Floor( 9.2);20 Console.WriteLine(“Math.Floor( -9.8) = 0”,21 Math.Floor( -9.8);22 Console.WriteLine(“Math.Log( Math.E) = 0”,23 Math.Log( Math.E);24 Console.WriteLine(“Math.Abs( Math.E*Math.E ) = 0”,25 Math.Abs( Math.E*Math.E);26 Console.WriteLine(“Math.Max( 2.3,12.7) = 0”,27 Math.Max( 2.3,12.7);28 Console.WriteLine(“Math.Max( -2.3,-12.7) = 0”,29 Math.Max( -2.3,-12.7);30 Console.WriteLine(“Math.Min( 2.3,12.7) = 0”,31 Math.Min( 2.3,12.7);32 Console.WriteLine(“Math.Min( -2.3,-12.7) = 0”,33 Math.Min( -2.3,-12.7);34 Console.WriteLine(“Math.Pow( 2.0,7.0) = 0”,35 Math.Pow( 2.0,7.0);36 Console.WriteLine(“Math.Pow( 9.0,0.5) = 0”,37 Math.Pow( 9.0,0.5);38 Console.WriteLine(“Math.Sin(0.0) = 0”,Math.Sin( 0.0);39 Console.WriteLine(“Math.Sprt( 900.0) = 0”,40 Math.Sprt( 900.0);41 Console.WriteLine(“Math.Tan( 0.0) = 0”,Math.Tan( 0.0);42 /end main43 /end class MathTest7.4為如下每個(gè)方法給出方法的首部、a) Hypotenuse 方法,它帶有兩個(gè)雙精度浮點(diǎn)參數(shù)side1和side2,返回一個(gè)雙精度浮點(diǎn)結(jié)果。double Hypotenuse(double side1,double side2)b)Smallest方法,它有三個(gè)整型參數(shù)x,y和z,返回一個(gè)整數(shù)。int Smallest(int x,int y,int z)c)Instructions方法,它不帶任何參數(shù),且不返回任何值?!咀ⅲ哼@樣的方法通常用來(lái)向用戶顯示指令?!縱oid Instructions()d)IntToDouble 方法,它帶一個(gè)整型參數(shù)number,返回一個(gè)double 值。double IntToDouble(int number)7.5找出并更正下列代碼段中的錯(cuò)誤。a) void G() Console.WriteLine(Inside method G); void H() Console.WriteLine(Inside method H); b) int sum(int x ,int y) int result ; result= x+y;c)void F(float a);float a;Console.WriteLine(a);d) void Product() int a=6,b=5,c=4,result; result=a*b*c;Console.WriteLine(Result is +result);return result; 答案:a)錯(cuò)誤:方法H在方法G內(nèi)聲明。改正:將H的聲明移到G的聲明之外。b)錯(cuò)誤:方法應(yīng)當(dāng)返回一個(gè)整數(shù)值,但沒(méi)有。改正:刪除result變量并在方法中放入語(yǔ)句:return x+y;或者在方法體的末尾添加如下的語(yǔ)句:return result;c)錯(cuò)誤:參數(shù)表右圓括號(hào)后面的分號(hào)錯(cuò)誤,且參數(shù)a不應(yīng)該在方法內(nèi)重復(fù)聲明。改正:刪除參數(shù)表右圓括號(hào)后面的分號(hào),并刪除聲明float a;。d)錯(cuò)誤:方法不應(yīng)該返回值。改正:將返回類型從void改為int。7.6 編寫一個(gè)完整的C#程序,它提示用戶輸入一個(gè)球的半徑(double 類型),然后調(diào)用Sphere Volume 方法計(jì)算并顯示它的體積。使用下列語(yǔ)句計(jì)算體積:double volume =(4.0/3.0)*Math.PI*Math.Pow ( radius , 3 ) /Exercise 7.6 Solution:Sphere.cs/Calculate the volume of a sphereusing System;public class Sphere /obtain radius from user and display volume of sphere public static void Main(string args) Console.Write(Enturn radius of sphere:); double radius = Convert.ToDouble(Console.ReadLine(); Console.WriteLine(Volume is 0:F3,SphereVolume(radius); /end main /calculate and return sphere volume public static double SphereVolume(double radius) double volume = (4.0 / 3.0) * Math.PI * Math.Pow(radius, 3); return volume; /end method SphereVolume/end class Sphere 第八章8.1 填空題 a) 值列表和數(shù)值表可以保存在數(shù)組中。b)數(shù)組是一組變量(稱為元素),它們包含具有相同類型的值。c)foreach語(yǔ)句使程序員能夠不使用計(jì)算器迭代遍歷數(shù)組中的元素。d)引用特定數(shù)組元素的數(shù)字,被稱為元素的索引。e)使用兩個(gè)索引的數(shù)組,被稱為二維數(shù)組。f)用foreach語(yǔ)句首部foreach迭代遍歷double類型的數(shù)組numble。g)命令行實(shí)參保存在一個(gè)字符串?dāng)?shù)組中,稱為args。h)使用表達(dá)式args.Lergth可獲得命令行中實(shí)參的全部數(shù)量。假設(shè)命令行實(shí)參保存在stringargs中。i)對(duì)于命令My Application test第一個(gè)命令行實(shí)參是test。j)方法參數(shù)表中的params修飾符表示方法可以接收的實(shí)參數(shù)量。8.2判斷下列語(yǔ)句是否正確。a)一個(gè)數(shù)組就可以保存許多不同類型的值。 (錯(cuò))b)數(shù)組索引通常應(yīng)為float類型。(錯(cuò))c)當(dāng)被調(diào)方法完成執(zhí)行時(shí),傳遞給方法和在該方法中修改的各個(gè)數(shù)組元素將包含修改后的值。 (錯(cuò))d)命令行實(shí)參用逗號(hào)分隔。(錯(cuò))8.3為數(shù)組fractions執(zhí)行下列任務(wù)。a)聲明變量ARRAY_SIZE并將它初始化為10。const int ARRAY_SIZE=10;b)聲明變量farctions,它引用double類型。包含ARRAY_SIZE個(gè)元素的數(shù)組。將這些元素初始化為0。doublefractions=new doubleARRAY_SIZE;C)為索引號(hào)為3的數(shù)組元素命名。fractions3;d)將索引號(hào)為9的數(shù)組元素賦值為1.667。fractions9=1.667;e)將索引號(hào)為6的數(shù)組元素賦值為3.333。fractions6=3.333;f)使用一條for語(yǔ)句,求數(shù)組所有元素的和。將整型變量x聲明成循環(huán)的控制變量。Double total=0.0;For(int x=0;xfractions.Length;x+)Total+=fractionsx;8.4為數(shù)組table執(zhí)行下列任務(wù)。a)聲明這個(gè)數(shù)組變量,并用3行3列的矩形數(shù)組初始化它。假設(shè)常量ARRAY_SIZE已經(jīng)被聲明成3。Int,table=new intARRAY_SIZE,ARRAY_SIZE;b)這個(gè)數(shù)組包含多少元素。9個(gè)。c)用for語(yǔ)句將數(shù)組的每個(gè)元素初始化成數(shù)組索引之和。For(int x=0;xtable.GetLength(0);x+) For(int y=0;ytable.GetLength(1);y+)Tablex,y=x+y;8.5找出并更正下列代碼段中的錯(cuò)誤。Const int ARRAY_SIZE=5;ARRAY_SIZE=10;錯(cuò)誤:在常量被初始化之后,不能再對(duì)它賦值。改正:在const聲明中對(duì)常量賦予正確的值。b)假設(shè)intb=new int10;for(int i=0;i=b.Length;i+)bi=1;錯(cuò)誤:在元素邊界的外面(b10)引用了數(shù)組元素。改正:將=運(yùn)算改成。c)假設(shè)int, a1,2,3,4;a11=5;錯(cuò)誤:對(duì)數(shù)組執(zhí)行索引的操作不正確。改正:將語(yǔ)句改成a1,1=5;。第九章:9.1填空題。a)使用List類的count屬性,可以得到List中的元素?cái)?shù)量。b)LINQ的where子句用于過(guò)濾。c) 集合類 是特別設(shè)計(jì)用于存儲(chǔ)對(duì)象組并提供組織、存儲(chǔ)和取得這些對(duì)象的方法的。d)為了將元素追加到List的末尾,應(yīng)使用Add方法。e)為了從LINQ查詢中獲得不包含重復(fù)值的結(jié)果,應(yīng)使用Distinct。9.判斷下列語(yǔ)句是否正確。a)LINQ查詢中的orderby子句只能按升序排序查詢結(jié)果。(錯(cuò))b)LINQ查詢能用于數(shù)組和集合。(對(duì))c)List類的Remove方法刪除指定索引處的元素(錯(cuò))第十章:1.填空題。a)string類的Format靜態(tài)方法類似于console.write方法,但它返回格式化的字符串,而不是在控制臺(tái)窗口顯示字符串。b)如果方法包含與某個(gè)字段同名的一個(gè)局部變量,則該局部變量將 隱藏 該方法作用域內(nèi)的這個(gè)字段。c)在釋放對(duì)象的內(nèi)存之前,內(nèi)存回收器會(huì)調(diào)用 析構(gòu)函數(shù)。d)如果類聲明了析構(gòu)函數(shù),則編譯器不會(huì)創(chuàng)建 默認(rèn)構(gòu)造函數(shù)。e)對(duì)象出現(xiàn)在代碼中需要字符串的地方時(shí),可以隱式調(diào)用對(duì)象的Tostring 方法。f)有時(shí),合成被稱為 “有” 關(guān)系。g)靜態(tài) 變量表示類際信息類的所有對(duì)象共享這個(gè)變量。h)最小權(quán)限原則 要求代碼只能分配完成指定任務(wù)所需的訪問(wèn)i)用關(guān)鍵字readonly聲明的實(shí)例變量指定該變量時(shí)不可修改的。j)抽象數(shù)據(jù)類型(ADT) 包含數(shù)據(jù)表達(dá)和該數(shù)據(jù)允許得操作。k)類的公共方法也被稱為類的 公共服務(wù) 或 公共接口。10.2 假設(shè)Book類定義了屬性Title,Author和Year。利用對(duì)象初始化器來(lái)創(chuàng)建Book類的一個(gè)對(duì)象并初始化它的屬性。答案: new Book Title =”visual C # 2010 HTP”, Author =”Deitel”,Year=2010第十一章:11.1填空題。a)在軟件復(fù)用的 繼承 形式中,新的類會(huì)利用已經(jīng)存在的類的成員并用新的能力增強(qiáng)這些類。b)基類的 protected 成員只能在基類聲明和派生類聲明中訪問(wèn)。c)在 “是”或繼承 關(guān)系中,派生類的對(duì)象也可以看成它的基類的對(duì)象。d)在 “有”或合成 關(guān)系中,類對(duì)象包含作為其他類對(duì)象的引用的成員。e)在單一繼承中,基類和它的派生存在一種 層次 關(guān)系。f)當(dāng)程序具有基類或它的派生類的引用時(shí),可以在任何地方訪問(wèn)這個(gè)基類的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論