(完整版)C實用教程鄭阿奇課后習(xí)題答案_第1頁
(完整版)C實用教程鄭阿奇課后習(xí)題答案_第2頁
(完整版)C實用教程鄭阿奇課后習(xí)題答案_第3頁
(完整版)C實用教程鄭阿奇課后習(xí)題答案_第4頁
(完整版)C實用教程鄭阿奇課后習(xí)題答案_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章C#快速入門習(xí)題1、CLR 是一種BA程序設(shè)計語言B運行環(huán)境C開發(fā)環(huán)境D API編程接口2、 C#語言源代碼文件后綴名為DA .C#B .CCC .CSP D .CS3、 構(gòu)建桌面應(yīng)用程序需要.NET提供的類庫是:DA ADO.NET B Win dows.Form C XML D ASPNET4、 與C+等語言相比,C#中增加的一個類成員訪問修飾符是_DA privateB public C protected D in ternal5、 C#中導(dǎo)入某一命名空間的關(guān)鍵字是_A_A usingB useC importD in clude6、 C#中程序入口方法名是AAMai nB ma

2、i n C Begin D us ingC#編程基礎(chǔ)習(xí)題1、C#中值類型包括三種,它們是 CA整型,浮點型,基本類型B數(shù)值類型,字符類型,字符串類型C簡單類型,枚舉類型,結(jié)構(gòu)類型D數(shù)值類型,字符類型,枚舉類型2、枚舉類型是一組命名的常量集合,所有整型都可以作為枚舉類型的基本類型,如果類型省略,則約定為int3、 C#的引用類型包括類,接口,數(shù)組,object和string。其中object D 根類A只是引用類型B只是值類型C 只是string類型D是所有值類型和所有引用類型的4、浮點常量有三種格式,下面A組的浮點常量都屬于都變了常量A0.618034,0.618034D,6.18034E-1

3、B0.918034,0.618034F,0.0618034e1C0.618034,0.618034f,0.618034MD0.618034F,0.618034D ,0.618034M5、卜面字符常量表示有錯的一組是DA,u0027 ,x0027b n f ,037C:W0061 ,(char)90D x0030 ,0 6、下列標(biāo)示符命名正確的是An t,I nt,i ntB using, _using, us ingCNO1,NO_1,NO.1DA3,_A3,A37當(dāng)表達(dá)式中混合了幾種不同數(shù)據(jù)類型時,C#會基于運算的順序?qū)⑺麄冏詣愚D(zhuǎn)換為同一類型。但下面 float與double 和decima

4、l混和在一個表達(dá)式中,不能自動轉(zhuǎn)化為decimal&設(shè)有說明語句int x=8;則下列表達(dá)式中,值為2的是 _BA x+=x-=8; B x%=x-2;C x8x=0:x+; D x/=x+x;9、C#數(shù)組主要有三種形式,它們是一維數(shù)組,多維數(shù)組,不規(guī)則數(shù)組10、設(shè)有說明語句 double,tab=new double2,3,4;那么下面敘述正確的是AA tab 是一個三維數(shù)組,它的無素一共有24個B tab 是一-個有三個兀素的一維數(shù)組,它的兀素初始值為2,3,4C tab 是-個維數(shù)不確定的數(shù)組,使用時可以任意調(diào)整D tab 是-個不規(guī)則數(shù)組,數(shù)組兀素的個數(shù)可以變化。11、說明下列標(biāo)識符的

5、合法性。X.254footsexam-1usi ngmainWho_am_l Large&Small _Yearsval(7)2xy12、下列常量是否合法?若不合法,指出原因;若合法,指出數(shù)據(jù)類型。3276735u1.25e3.4 3L 0.0086e-3287 Truea?a9645 .55UL8.42”0x33 56.34nt0x34computersystem!n ”t 8.34Wdocsharemy1.doc13、指出下列那些表示字符?那些表示字符串?那些既不是字符又不是字符串?0x66 chi na中國”0x34 “0docsharemy1.doc14、填空1、 C#中可以把任何類型

6、的值賦給object類型變量,當(dāng)值類型賦給object類型變量是,系統(tǒng)要進(jìn)行裝箱操作;而將object類型變量賦給一個值變量,系統(tǒng)要進(jìn)行拆箱 操作,并且必須加上顯示地強(qiáng)制類型轉(zhuǎn)換類型變換。2、 C#特有的不規(guī)則數(shù)組是數(shù)組的數(shù)組,也就是說它的數(shù)組元素是數(shù)組,并且它的內(nèi)部每個數(shù)組的長度 不一樣。3、數(shù)組創(chuàng)建時可根據(jù)需要進(jìn)行初始化,需要注意的是,初始化時,不論數(shù)組的維數(shù)是多少都必須顯示地初始化數(shù)組的 所有元素元素。4、程序運行結(jié)果using System;Public class Exe1Public static void Mai n ()Int x,y,z;bool s;x=y=z=0;S=x+

7、!=0 | +y!=0 & +y!=0;Console.WriteLine( X=0,y=1,z=2,s=3”,x,y,z,s);Co nsole.Read();5. 程序運行結(jié)果using System;public class Exe2Public static void Mai n ()Int a,b;a=b=1;b+=a/b+;Console.Write( a=O,b=1,a,b);b+=-a+b;Console.WriteLine( a=0,b=1 ,a,b);Co nsole.Read();6. 程序運行結(jié)果using System;public class Exe3Public

8、static void Mai n ()Int Hb,Lb,x;X=0x1af034;Hb=(x16)&0xFFFF;Lb=x&OxOOff;Console.Write( Hb is 0t ,Hb);Console.WriteLine( Lb is 0,Lb);Co nsole.Read();7. 程序運行結(jié)果Ausing System;public class Exe4public static void Main ()int a,b,c;a=2;b=7;c=5;switch (a0)case true : switch (b10)case true :Console .Write( A);

9、break;case false :Console .Write( !);break;break;case false :switch (c=5)case false : Console .Write( *);break;case true : Console .Write( #);break;break;Console .WriteLine();Console .Read();8. 程序運行結(jié)果using System;public class Exe5public static void Main ()int x;x= new int 10;int y=1,2,3,4,5,6,7,8,9,

10、10;const int SIZE=10;int 乙z= new int SIZE;for (int i=0;iz.Length;i+)zi=i*2+1;Console .Write( 0,4,zi);Console .Read();9下面程序的功能是:輸出100以內(nèi)能被3整除且個位數(shù)為6的所有整數(shù),請?zhí)羁?。using System;public class Exe6public static void Main()int i,j;for (i=0; i10;i+)j=i*10+6;if ( j%3!=0 )continue ;Console .WriteLine( 0 ,j);10.用插入法

11、對數(shù)組a進(jìn)行降序排列,請?zhí)羁?。Us ing System;public class Exe7Public static void Mai n()In ta=4,7,1,2,5,8,9,10,3,6;Int I,j,m;for(i=1;i=0 & maj) (2_;j-;(3)=m;For (i=0;i10;i+)console.writeLine( “0,ai);Con sole.writeLi ne();第三章面向?qū)ο缶幊袒A(chǔ)習(xí)題1、C#語言的核心是面向?qū)ο缶幊蹋?OOP),所有OOP語言都應(yīng)至少具有三個特性:A、封裝、繼承和多態(tài) B類、對象和方法 C、封裝、繼承和派生 D、封裝、繼承和接口

12、2、C#的構(gòu)造函數(shù)分為實例構(gòu)造函數(shù)和靜態(tài)構(gòu)造函數(shù),實例構(gòu)造函數(shù)可以對靜態(tài)成員和非靜 態(tài)成員進(jìn)行初始化,靜態(tài)構(gòu)造函數(shù)只能對靜態(tài)成員進(jìn)行初始化。3、C#實現(xiàn)了完全意義上的面向?qū)ο?,所以它沒有全局變量、全局常數(shù)和全局方法,任何數(shù) 據(jù)域和方法都必須封裝在類體中。4、 方法中的值參數(shù)是A 的參數(shù)。A、按值傳遞B、按引用傳遞 C按地址傳遞D、不傳遞任何值5、 以下關(guān)于ref和out的描述哪些項是不正確的DA. ref和out參數(shù)傳遞方法相同,都是把實在參數(shù)的內(nèi)存地址傳遞給方法,實參與形參指向同一個內(nèi)存存儲區(qū)域,但ref要求實參必須在調(diào)用之前明確賦過值。B. ref是將實參傳入形參,out只能用于從方法中傳

13、出值,而不能從方法調(diào)用出接收實參數(shù)據(jù)C ref和out參數(shù)傳遞的是實參的地址所以要求實參和形參的數(shù)據(jù)類型必須一致。D.ref和out參數(shù)要求實參和形參的數(shù)據(jù)類型的數(shù)據(jù)類型必須一致,或者實參能被隱式地轉(zhuǎn) 化為形參。6、 假設(shè) class Mclass 類的一個方法的簡明為:public void Max ( out int max, params inta), m1是Mclass類的一個對象,maxval是一個int類型的值類型變量,array A是一個int類型的數(shù)組對象,則下列調(diào)用該方法有錯的是CA m1.Max(out maxval)B m1.Max(out maxval,4,5,3)C

14、m1.Max(out maxval,ref array A ) D m1.Max(out maxval,3,3,5)7、填空1、 析構(gòu)函數(shù)不能由程序顯示的調(diào)用,而是由系統(tǒng)在時調(diào)用,如果這個對象是一個派生類對象, 那么在調(diào)用構(gòu)希函數(shù)時, 除了執(zhí)行派生類的析構(gòu)函數(shù), 也會執(zhí)行基 類的析構(gòu)函數(shù),其執(zhí)行順序與構(gòu)造函數(shù)正好相反。2、 在類中,如果一個數(shù)據(jù)成員被定義為 static的,則說明這個類的所有勢力都共享static數(shù)據(jù)成員,在類體外,static成員不能通過繼承來訪問,他必須通過構(gòu)造函數(shù)來訪問。3、程序運行結(jié)果using System;public class Testpublic void c

15、ha nge1(stri ng s)s=s+Cha ngeT;public void cha nge2(ref stri ng s)s=s+Cha nge2;public void change3(string s1,out string s2)s仁s1+Cha nge3”s2=s1;Public class Exe8Public static void Mai n()Stri ng s1,s2;S仁” Hello,”Test t1= new Test();t1.cha nge1(s1);Console.WriteLine( 1 after call to change1 is 0 ”s1);

16、t1.cha nge2( ref s1);Console.WriteLine( si after call to change2 is 0 ”s1);tl.cha nge3(s1,out s2);Console.WriteLine( si after call to change3 is 0 ”s1);Con sole.WriteLi ne( 2 after call to cha nge3 is 0 ”s2);Co nsole.Read();4. 程序運行結(jié)果using System;public class Testpublic void cha nge(stri ng s)s=s+cha

17、 ngel”;Public void cha nge( ref stri ng s)s=s+cha nge2public void change(string s1,out string s2)s仁 s1+Cha nge3”s2=s1;public class Exe9Public static void Mai n()stri ng s1,s2;s仁” Hello,”Test ti= new Test();t1.change1(s1);Console.Write(“s1 is 0”, s1);t1.change2( ref s1);Console.Write(“s1 is 0”, s1);t

18、1.change3(s1,out s2);Console.Write(“s1 is 0”, s2 is 1”, s1,s2);Console.Read();&定義全班學(xué)生成績類,包括姓名,學(xué)號,C+成績,英語成績,數(shù)學(xué)成績,和平均成績,設(shè)計下列 4 個方法1、全班成績的輸入2、求每一個同學(xué)的平均成績3、按平均成績的升序排列4、輸出全班成績using System;using System.Collections.Generic;using System.Text;namespace hanxu classProgramstatic void Main( string args)int t =

19、0; int k = 1;Console.Write(”請輸入全班同學(xué)的人數(shù) :);t = Convert.ToInt32(Console.ReadLine();score stu = new scoret;Console.WriteLine(”請輸入全班同學(xué)的信息:);for (int i = 0; i t; i+)Console.WriteLine(請輸入第0個學(xué)生信息:, k+);stui = new score();stui.init();stui.AVG();Console.WriteLine(”按學(xué)號排序?qū)W生信息:);Console.WriteLine( 姓名 學(xué)號 C+ 英語 數(shù)

20、學(xué) 平均成績 );for (int j = 0; j t; j+)stuj.display();Console.WriteLine(排序后的學(xué)生信息:);paixu(t, stu);Console.Read();public static void paixu(int t, score stu)score stud = new score();if (stu.Length = 0) return ;for (int i = 0; i t; i+)for (int j = 0; j stuj + 1.Avg) stud = stuj + 1; stuj + 1 = stuj; stuj = st

21、ud; Console.WriteLine( 姓名 學(xué)號 C+ 英語 數(shù)學(xué) 平均成績 ); foreach (score x in stu)x.display(); classscoreprivate string name;private int ID;private double c;private double english;private double math; double avg;public score() this.avg = 0; public string Name get return name; set name = value; public int id get

22、 return ID; set ID = value; public double C get return c; set c = value; public double English get return english; set english = value; public double Math get return math; set math = value; public double Avg get return avg; set avg = value; public void init()Console.Write(學(xué)號:);thisD = Convert.Tolnt3

23、2(Console.ReadLine();Console.Write(姓名:);this .name = Convert.ToString(Console.ReadLine();Console.Out.Write( C+:);this.c =Convert.ToDouble(Console.ReadLine();Console.Write(英語:);this .english = Convert.ToDouble(Console.ReadLine();Console.Write(數(shù)學(xué):);this.math = Convert.ToDouble(Console.ReadLine();publi

24、c void AVG()this .avg = this .math + this .english + this.c) / 3;public void display()Console.WriteLine(0,51,52,63,64,65,6 , name, ID, c, english, math, avg);第四章面向?qū)ο缶幊踢M(jìn)階習(xí)題1、舉現(xiàn)實世界中繼承的一個例子,用類的層次圖表示出來2、什么是抽象類和密封類,它們有什么不同一個包含一個或多個純虛函數(shù)的類叫抽象類,抽象類不能被實例化,進(jìn)一步一個抽象類只能通過接口和作為其它類的基類使用,使用abstract修飾符,若類中的方法或?qū)傩詾閍bs

25、tract ,類必須用abstract修飾。只能用作基類,抽象方法沒有實現(xiàn)代碼(無大括號?。┏橄箢惡头浅橄箢惖膮^(qū)別:(1)抽象類不能直接被實例化,只能在擴(kuò)充類中通過繼承使用(2)抽象類可以包含抽象成員,非抽象類不能包含抽象成員當(dāng)從抽象類派生非抽象類時,非抽象類必須實現(xiàn)抽象類的所有(必須是所有?。┏橄蟪蓡T 當(dāng)然,如果繼承抽象類的也是抽象類就不必實現(xiàn)其抽象成員,由最后一個非抽象類實現(xiàn)。密封類是不能被其他類繼承的類,用 sealed 關(guān)鍵字聲明。 sealed 關(guān)鍵字也可以限制基類中 的方法,防止被擴(kuò)充類重寫,若類中的方法是 sealed ,該類不是必須用 sealed 來修飾的。 帶有 seale

26、d 修飾符的方法稱為密封方法, sealed 方法必須和 override 關(guān)鍵字一起使用。一般情況下, 只有在某個方法重寫了基類中同名的方法, 但又不希望該方法所在的類的擴(kuò)充 類重寫該方法,就可以在該方法前使用修飾符 sealed 。3、分別在什么情況下使用隱式數(shù)值轉(zhuǎn)換和顯示數(shù)值轉(zhuǎn)換4、什么是程序集,它的作用有哪些4. 程序運行結(jié)果using System; public class Testpublicvoidchange1( string s)s = s +change1 ;publicvoidchange2( ref strings)s = s +change2 ;publicvoid

27、change3( string s1,out string s2)s1 = s1 s2 = s1;+change3 ;public class Exe8public static void Main() string s1,s2;s1- Hello,Text t1= new Text ();t1.change1(s1);Console .WriteLine (s1 after call to change1 is 0,s1 )t1.change2( ref s1);Console .WriteLine (s1 after call to change2 is 0,s1 )t1.change3(

28、s1, outs2);Console .WriteLine (s1 after call to change3 is 0,s1 )Console .WriteLine (s2 after call to change3 is 0,s2 )Console .Read();5. 程序運行結(jié)果。 using System;public class Testpublicvoid change( strings)s = s +change1 ;publicvoidchange2( ref strings)s = s +change2 ;publicvoidchange3( strings1,out st

29、ring s2)s1 = s1+change3 ;s2 = s1;public class Exe9public static void Main() string s1,s2;s1- Hello, ;Text t1=new Text ();t1.change(s1);Console .WriteLine ( s1 is 0 ,s1 ); t1.change( ref s1);Console .WriteLine ( s1 is 0 ,s1 ); t1.change(s1, out s2);Console .WriteLine( s1 is 0,s2 is 0 , s1,s2 );Consol

30、e .Read();test 5,test,test5, 下面的程序,輸入不同的參數(shù),分析運行結(jié)果。如分別別輸入: hello,test 0,test1212121212121212.using System;class Testpublic static void Main( string args)tryint i=10/ Int32 .Parse(args0);catch ( IndexOutOfRangeException e)Console ,WriteLine(e,Message);catch ( FormatException e)Console ,WriteLine(e,Mes

31、sage);catch ( DivideByZeroException e)Console ,WriteLine(e,Message);catch ( OverflowException e)Console ,WriteLine(e,Message);6. 指出下面代碼錯誤的地方,并進(jìn)行修改。using System;namespace Pave1TsekovinterfaceI1voidMyFuntion1();interfaceI2voidMyFuntion2();class Test :I1, I2public void I1.MyFuntion1()Console .WriteLine

32、 ( Now I can say this here is I1 implemented!);public void I2 .MyFuntion2(0Console .WriteLine ( Now I can say this here is I2 implemented!);class AppClass public static void Main( string args)Test t= newTest(0; t.MyFuntion1(); t.MyFuntion2();7. 分析下面的代碼,指出 Digit 和 Byte 之間的轉(zhuǎn)換方式,并說明原因。 using System;pub

33、lic struct Digitbyte value;public struct (byte value)if (Value9)throw new ArgumentException();this .value=value;public static implicit operator byte (Digit d)return d.value;public static implicit operator byte (byte b)return newDigit(b);第五章windows應(yīng)用程序習(xí)題(選擇和填空)1、項目在visual C#開發(fā)應(yīng)用程序中的作用是什么?解決方案資源管理器的作用是什么?2、如何改變啟動窗體?啟動時是否不需要啟動窗體?3、常用控件的公共屬性有哪些?有哪些是容器?4、Button控件的主要作用是什么?5、 TextBox控件的主要作用是什么?多行TextBox控件的主要作用是什么?6、 RadioButton控件的主要作用是什么?為什么一般Radiobutton控件要和 GroupBox控件 或Panel控件組合使用

溫馨提示

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

評論

0/150

提交評論