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

下載本文檔

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

文檔簡(jiǎn)介

1、第一章C#快速入門習(xí)題1、CLR 是一種BA程序設(shè)計(jì)語(yǔ)言B運(yùn)行環(huán)境C開(kāi)發(fā)環(huán)境D API編程接口2、 C#語(yǔ)言源代碼文件后綴名為DA .C#B .CCC .CSP D .CS3、 構(gòu)建桌面應(yīng)用程序需要.NET提供的類庫(kù)是:DA ADO.NET B Win dows.Form C XML D ASPNET4、 與C+等語(yǔ)言相比,C#中增加的一個(gè)類成員訪問(wèn)修飾符是_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整型,浮點(diǎn)型,基本類型B數(shù)值類型,字符類型,字符串類型C簡(jiǎn)單類型,枚舉類型,結(jié)構(gòu)類型D數(shù)值類型,字符類型,枚舉類型2、枚舉類型是一組命名的常量集合,所有整型都可以作為枚舉類型的基本類型,如果類型省略,則約定為int3、 C#的引用類型包括類,接口,數(shù)組,object和string。其中object D 根類A只是引用類型B只是值類型C 只是string類型D是所有值類型和所有引用類型的4、浮點(diǎn)常量有三種格式,下面A組的浮點(diǎn)常量都屬于都變了常量A0.618034,0.618034D,6.18034E-1

3、B0.918034,0.618034F,0.0618034e1C0.618034,0.618034f,0.618034MD0.618034F,0.618034D ,0.618034M5、卜面字符常量表示有錯(cuò)的一組是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ù)類型時(shí),C#會(huì)基于運(yùn)算的順序?qū)⑺麄冏詣?dòng)轉(zhuǎn)換為同一類型。但下面 float與double 和decima

4、l混和在一個(gè)表達(dá)式中,不能自動(dòng)轉(zhuǎn)化為decimal&設(shè)有說(shuō)明語(yǔ)句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è)有說(shuō)明語(yǔ)句 double,tab=new double2,3,4;那么下面敘述正確的是AA tab 是一個(gè)三維數(shù)組,它的無(wú)素一共有24個(gè)B tab 是一-個(gè)有三個(gè)兀素的一維數(shù)組,它的兀素初始值為2,3,4C tab 是-個(gè)維數(shù)不確定的數(shù)組,使用時(shí)可以任意調(diào)整D tab 是-個(gè)不規(guī)則數(shù)組,數(shù)組兀素的個(gè)數(shù)可以變化。11、說(shuō)明下列標(biāo)識(shí)符的

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中國(guó)”0x34 “0docsharemy1.doc14、填空1、 C#中可以把任何類型

6、的值賦給object類型變量,當(dāng)值類型賦給object類型變量是,系統(tǒng)要進(jìn)行裝箱操作;而將object類型變量賦給一個(gè)值變量,系統(tǒng)要進(jìn)行拆箱 操作,并且必須加上顯示地強(qiáng)制類型轉(zhuǎn)換類型變換。2、 C#特有的不規(guī)則數(shù)組是數(shù)組的數(shù)組,也就是說(shuō)它的數(shù)組元素是數(shù)組,并且它的內(nèi)部每個(gè)數(shù)組的長(zhǎng)度 不一樣。3、數(shù)組創(chuàng)建時(shí)可根據(jù)需要進(jìn)行初始化,需要注意的是,初始化時(shí),不論數(shù)組的維數(shù)是多少都必須顯示地初始化數(shù)組的 所有元素元素。4、程序運(yùn)行結(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. 程序運(yùn)行結(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. 程序運(yùn)行結(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. 程序運(yùn)行結(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. 程序運(yùn)行結(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整除且個(gè)位數(shù)為6的所有整數(shù),請(qǐng)?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、對(duì)數(shù)組a進(jìn)行降序排列,請(qǐng)?zhí)羁铡s 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#語(yǔ)言的核心是面向?qū)ο缶幊蹋?OOP),所有OOP語(yǔ)言都應(yīng)至少具有三個(gè)特性:A、封裝、繼承和多態(tài) B類、對(duì)象和方法 C、封裝、繼承和派生 D、封裝、繼承和接口

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

13、出值,而不能從方法調(diào)用出接收實(shí)參數(shù)據(jù)C ref和out參數(shù)傳遞的是實(shí)參的地址所以要求實(shí)參和形參的數(shù)據(jù)類型必須一致。D.ref和out參數(shù)要求實(shí)參和形參的數(shù)據(jù)類型的數(shù)據(jù)類型必須一致,或者實(shí)參能被隱式地轉(zhuǎn) 化為形參。6、 假設(shè) class Mclass 類的一個(gè)方法的簡(jiǎn)明為:public void Max ( out int max, params inta), m1是Mclass類的一個(gè)對(duì)象,maxval是一個(gè)int類型的值類型變量,array A是一個(gè)int類型的數(shù)組對(duì)象,則下列調(diào)用該方法有錯(cuò)的是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)在時(shí)調(diào)用,如果這個(gè)對(duì)象是一個(gè)派生類對(duì)象, 那么在調(diào)用構(gòu)希函數(shù)時(shí), 除了執(zhí)行派生類的析構(gòu)函數(shù), 也會(huì)執(zhí)行基 類的析構(gòu)函數(shù),其執(zhí)行順序與構(gòu)造函數(shù)正好相反。2、 在類中,如果一個(gè)數(shù)據(jù)成員被定義為 static的,則說(shuō)明這個(gè)類的所有勢(shì)力都共享static數(shù)據(jù)成員,在類體外,static成員不能通過(guò)繼承來(lái)訪問(wèn),他必須通過(guò)構(gòu)造函數(shù)來(lái)訪問(wèn)。3、程序運(yùn)行結(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. 程序運(yùn)行結(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é)生成績(jī)類,包括姓名,學(xué)號(hào),C+成績(jī),英語(yǔ)成績(jī),數(shù)學(xué)成績(jī),和平均成績(jī),設(shè)計(jì)下列 4 個(gè)方法1、全班成績(jī)的輸入2、求每一個(gè)同學(xué)的平均成績(jī)3、按平均成績(jī)的升序排列4、輸出全班成績(jī)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(”請(qǐng)輸入全班同學(xué)的人數(shù) :);t = Convert.ToInt32(Console.ReadLine();score stu = new scoret;Console.WriteLine(”請(qǐng)輸入全班同學(xué)的信息:);for (int i = 0; i t; i+)Console.WriteLine(請(qǐng)輸入第0個(gè)學(xué)生信息:, k+);stui = new score();stui.init();stui.AVG();Console.WriteLine(”按學(xué)號(hào)排序?qū)W生信息:);Console.WriteLine( 姓名 學(xué)號(hào) C+ 英語(yǔ) 數(shù)

20、學(xué) 平均成績(jī) );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é)號(hào) C+ 英語(yǔ) 數(shù)學(xué) 平均成績(jī) ); 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é)號(hào):);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(英語(yǔ):);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)實(shí)世界中繼承的一個(gè)例子,用類的層次圖表示出來(lái)2、什么是抽象類和密封類,它們有什么不同一個(gè)包含一個(gè)或多個(gè)純虛函數(shù)的類叫抽象類,抽象類不能被實(shí)例化,進(jìn)一步一個(gè)抽象類只能通過(guò)接口和作為其它類的基類使用,使用abstract修飾符,若類中的方法或?qū)傩詾閍bs

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

26、d 修飾符的方法稱為密封方法, sealed 方法必須和 override 關(guān)鍵字一起使用。一般情況下, 只有在某個(gè)方法重寫(xiě)了基類中同名的方法, 但又不希望該方法所在的類的擴(kuò)充 類重寫(xiě)該方法,就可以在該方法前使用修飾符 sealed 。3、分別在什么情況下使用隱式數(shù)值轉(zhuǎn)換和顯示數(shù)值轉(zhuǎn)換4、什么是程序集,它的作用有哪些4. 程序運(yùn)行結(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. 程序運(yùn)行結(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ù),分析運(yùn)行結(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. 指出下面代碼錯(cuò)誤的地方,并進(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)換方式,并說(shuō)明原因。 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、項(xiàng)目在visual C#開(kāi)發(fā)應(yīng)用程序中的作用是什么?解決方案資源管理器的作用是什么?2、如何改變啟動(dòng)窗體?啟動(dòng)時(shí)是否不需要啟動(dòng)窗體?3、常用控件的公共屬性有哪些?有哪些是容器?4、Button控件的主要作用是什么?5、 TextBox控件的主要作用是什么?多行TextBox控件的主要作用是什么?6、 RadioButton控件的主要作用是什么?為什么一般Radiobutton控件要和 GroupBox控件 或Panel控件組合使用

溫馨提示

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