C#人人分享習題答案.doc_第1頁
C#人人分享習題答案.doc_第2頁
C#人人分享習題答案.doc_第3頁
C#人人分享習題答案.doc_第4頁
C#人人分享習題答案.doc_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章.Net與C#1.CLR是一種 運行環(huán)境2.C#語言源代碼文件的后綴名為 CS3.構(gòu)建桌面應用程序需要.NET提供的類庫是 Windows Form 4.與 C+等語言相比,C#中增加的一個類成員訪問修飾符是 internal5.C#中導入某一命名空間的關鍵字using 6.C#中程序的入口方法名是 Main 1.簡述C#、CLR和.NET之間的關系答:.NET是一個運行時平臺,CLR是.NET框架的底層。C#是.NET的核心開發(fā)語言2簡述C#語言的主要特性答:簡單性(無指針);現(xiàn)代性(異常處理跨語言);面向?qū)ο螅ǚ庋b,繼承和多態(tài));類型安全性;版本處理技術;兼容性;靈活性3簡述控制臺方式和Windows應用程序方式調(diào)試程序的優(yōu)缺點,各自適合的場合答:一般來說控制臺方式用于在dos狀態(tài)下打印輸出程序結(jié)果的,優(yōu)點是程序執(zhí)行效率較高,而windows應用程序一般用于開發(fā)窗體應用程序或者系統(tǒng)的,優(yōu)點是功能比較強大,代碼執(zhí)行效率相對來說較慢。 第二章 C#編程基礎1.C#中的值類型包括三種,它們是 簡單類型、枚舉類型、結(jié)構(gòu)類型 2.枚舉類型是一組命名的常量集合,所有整型都可以作為枚舉類型的基本類型,如果類型省略,則約定為 int 3.C#的引用類型包括類、接口、數(shù)組、委托、object和string。其中object(是所有值類型和引用類型的)根類4.浮點常量有三種格式,0.618034,0.618034D,6.1834E-1)浮點常數(shù)都屬于double類型5下面字符常量表示有錯的一組是(B) A,u0027,x0027 Bn,t,037Ca,u0061,(char)97 D x0030,0,06下列標識符明明正確的是(a)A_ int, Int, int B using, _using, using C NO1,NO_1,NO.1 D A3,_A3,A37當表達式中混合了幾種不同的數(shù)據(jù)類型時,C#會基于運算的順序?qū)⑺麄冏詣愚D(zhuǎn)換成同一類型。(float)類型和decimal類型混合在一個表達式中,不能自動提升為decimal8設有說明語句int x=8;則下列表達式中,值為2的是(b)A x+=x-=x; B x%=x-2; C x8?x=0:x+; D x/=x+x;9C#數(shù)組主要有三種形式;它們是( 一維數(shù)組、多維數(shù)組、不規(guī)則數(shù)組)10 設有說明語句double , , tab= new double2,3,4;那么下面敘述正確的是 tab是一個三維數(shù)組,他的元素個數(shù)一共有24個1說明下列標識符的合法性X25 錯4foots 錯exam-1 錯using 錯main 對Who_am_I 對Large&Small 錯_Years 對val(7) 錯2xy 錯2.下列常量是否合法?若不合法,指出原因;若合法,指出它的數(shù)據(jù)類型。32767 int 35u uint 1.25e3.4 不合法 3L long 0.0086e-32 不合法87 不合法 true 布爾 “a” 字符串 a 字符 9645 不合法 .5 double 5UL 長整型3指出下列哪些表示字符,那些表示字符串,那些既不表示字符也不表示字符串0x66 錯 China 錯 0x33 錯 r 錯 8.34 錯 0 錯“中國” “8.42” 56.34 “nt0x34” “0x33” “Computer System!n” “docsharemy1.doc”docsharemy1.doc” “Joe said” “Hello” “to me” “Joe said “Hello” to me”6原來的a都是101)a+=a; 20 2)a%=(7%2); 4)a/=a+a; 5)a-=a; 0 3)a*=3+4; 706)a+=a-=a*=a; -80三填空題1C#中可以把任何類型的值賦給object變量,當值類型賦給object類型變量時,系統(tǒng)要進行裝箱操作;而將object類型變量賦給一個值類型變量,系統(tǒng)要進行拆箱操作,并且要求必須加強制類型轉(zhuǎn)換2C#所特有的不規(guī)則數(shù)組是數(shù)組的數(shù)組,也就是說它的數(shù)組元素是數(shù)組,并且它的內(nèi)部每個數(shù)組的長度不一樣3數(shù)組在創(chuàng)建時可根據(jù)需要進行初始化,需要注意的是初始化時,不論數(shù)組的維數(shù)是多少,都必須現(xiàn)實的初始化數(shù)組的所有元素4程序運行結(jié)果為_1_2_0_true_Using System;Public class Exe1public static void Main()int x,y,z;bool s;x=y=z=0;s=x+!=0|+y!=0&+y!=0;Console.WriteLine(“x=0,y=1,z=2,s=3”,x,y,z,s);Console.Read(); 1 25程序運行結(jié)果為_ 0 5_Using System;public class Exe2public static void Main()int a ,b;a=b=1;b+=a/b+;Console.Write(“a=0,b=1”,a,b);b+=-a+ +b;Console.WriteLine(“a=0,b=1”,a,b);Console.Read();7程序的運行結(jié)果為_using System;public class Exe4public static void Main()int a,b,c;a=2;b=7;c=5;switch(a0)case true;switch(b0)case true:Console.Write(“”);break;case false: Console.Write(“!”);break; break;case false:switch(c=5) case false: Console.Write(“*”);break;case true:Console.Write(“#”);break;break;Console.Write();Console.Read();8程序運行結(jié)果為1 3 5 7 9_-21 Using System;Public class Exe5public static void Main()int x;x=new int10;inty=1,2,3,4,5,6,7,8,9,10;constz;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;i100;i+)j=i*10+6;if (j%3!=0)continue;Console.WriteLine(“0”,j);10用插入法對數(shù)組a進行降序排序。(重要)using System;public class Exe7public static void Main() int a=4,7,1,2,5,8,9,10,3,6; int i,j,m; for(i=1;i=0&maj) aj+1 = aj; j-; aj+1=m; for(i=0;i10;i+) Console.WriteLine(0,ai); Console.WriteLine(); 第3章 面向?qū)ο缶幊袒A1.C#語言的核心是面向?qū)ο缶幊蹋∣OP),OPP語言都至少具有三個特性:封裝、繼承和多態(tài)2.C#的構(gòu)造函數(shù)分為實例構(gòu)造函數(shù)和靜態(tài)構(gòu)造函數(shù),實例構(gòu)造函數(shù)可以對靜態(tài)成員或非靜態(tài)成員進行初始化,靜態(tài)構(gòu)造函數(shù)只能對靜態(tài)成員進行初始化3.C#實現(xiàn)了完全意義上的面向?qū)ο?,所以他沒有全局變量、全局常數(shù)、全局方法,任何數(shù)據(jù)域和方法都必須封裝在類體中4.方法中的值參數(shù)是按值傳遞的參數(shù)5.關于方法中REF和OUT參數(shù)說明錯誤的是:REF和OUT因為傳遞的是實參的地址,所以要求實參和形參的數(shù)據(jù)類型必須一致正確:REF和OUT參數(shù)傳遞方法一樣,都是把實參的內(nèi)存地址傳遞給方法,實參與形參只想同一個內(nèi)存存儲區(qū)域,但REF要求實參必須在調(diào)用之前明確賦值REF是將實參傳入形參,OUT只能從方法中傳出值,而不能從方法調(diào)用處接受實參數(shù)據(jù)REF和OUT參數(shù)要求實參和形參的書籍類型或者一致,或者實參能被隱式地轉(zhuǎn)化為形參類型6.加上classMclass累的一個方法簽名是public void Max(out int max,params inta),m1是Mclass類得一個對象,maxval是一個int型的值類型變量,arrayA是一個int型的數(shù)組對象,調(diào)用錯誤的是m1.Max(out maxval,ref arrayA)正確:(out maxval)(out maxval,4,5,3)(out maxval,3,3.5)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成員不能通過實例方法來訪問,它必須通過靜態(tài)方法訪問運行結(jié)果:using System;public class Test public void change1(string s) s = s + change1; public void change2(ref string s) s = s + change2; public void change3(string s1 ,out string s2) s1 = s1 + change3; s2 = s1; public class Exe8 public static void Main() string s1, s2; s1 = Hello,; Test t1 = new Test(); 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(s1, out s2); Console.WriteLine(s1 after call to change3 is 0, s1); Console.WriteLine(s2 after call to change3 is 0, s2); Console.Read();結(jié)果:s1 after call to change1 is HelloS1 after call to change2 is Hello.change2S1 after call to change3 is Hello.change2S2 after call to change3 is Hello.change2.change3 第5章 Windows應用程序開發(fā)1簡述項目在Visual C#開發(fā)應用程序的作用。解決方案資源管理器的作用。通過方案組織管理項目,在現(xiàn)有解決放方案中添加項目2如何改變啟動窗體,啟動時是否不用啟動窗體? Application.Run(new Form1() 可以3常用控件的共有屬性有哪些?有哪些是容器?答:控件都有很多屬性,并且大多數(shù)控件的屬性都派生于System.Windows.Forms.Control類,所以它們都有一些共同的屬性,如:Anchor、Dock、BackColor、Cursor、Enabled、Font、ForeColor、Height、Left、Name、Parent、Right、Tabindex、TabStop、Tag、Text、Top、Visible、Width。其中容器有:GroupBox、Panel等4簡述Button控件的主要作用。答:Windows窗體Button控件允許用戶通過單擊來執(zhí)行操作。每當用戶單擊按鍵時,即調(diào)用Click事件處理程序。可將代碼放入Click事件處理程序來執(zhí)行所需要的操作。5簡述TextBox控件的主要作用。簡述多行TextBox控件的主要作用。答:Windows窗體文本框用于獲取用戶輸入或顯示文本。多行TextBox控件的主要作用是對文本換行使其符合控件的大小。6簡述RadioButton控件的主要作用。為什么一般RadioButton控件要和GroupBox控件或Panel控件組合使用?答:RadioButton控件旨在為用戶提供兩種或多種設置以便選擇其一。當單擊RadioButton控件時,其Checked屬性設置為true,并且調(diào)用Click事件處理程序。 在一個容器(如Panel控件、GroupBox控件或窗體)內(nèi)繪制單選按鈕即可將它們分組。直接添加到一個窗體中的所有單選按鈕將形成一個組。若要添加不同的組,必須將它們放到面板或分組框中。7CheckBox控件的作用和RadioButton控件有什么不同?為什么一般CheckBox控件要和GroupBox控件或Panel控件組合使用?答:Windows窗體復選框(CheckBox)雖然和單選按鈕復選框看似功能類似,卻存在重要差異:當用戶選擇某單選按鈕時,同一組中的其他單選按鈕不能同時選定;相反,卻可以選擇任意數(shù)目的復選框。 一般CheckBox控件要和GroupBox控件或Panel控件組合使用:為了分組,成組控件可以在窗體設計器上一起移動。8簡述ListBox控件的主要作用。怎樣進行項目多選?答:ListBox控件用于顯示列表項,用戶可以從中選擇一項或多項。如果總項數(shù)超出可以顯示的項數(shù),則自動向ListBox控件添加滾動條。進行項目多選設置SelectionMode屬性為MultiExtended。如:listBox1.SelectionMode = SelectionMode.MultiExtended;9ComboBox控件的主要作用。ComboBox控件與ListBox控件的應用場合有什么不同?答:ComboBox控件用于在下拉組合框中顯示數(shù)據(jù)。默認情況下,ComboBox控件分兩個部分:頂部是一個允許用戶鍵入列表項的文本框。第二個部分是列表框,它顯示用戶可以從中進行選擇的項的列表。ListBox 控件能選中多項,并能夠瀏覽較長的列表。當用戶選擇一個項時,該項會在列表中突出顯示。ComboBox 控件當用戶單擊下拉箭頭時,將顯示一個列表。當用戶選擇一個項時,該項會顯示在文本框中。10簡述GroupBox控件的主要作用。為什么說它是一個容器?答:GroupBox控件用于為其他控件提供組合容器,GroupBox控件類似于Panel控件,但GroupBox控件可以顯示標題,而Panel控件有滾動條。因為當移動單個GroupBox控件時,它包含的所有控件也將一起運動,所以說它是一個容器。15對話框與窗體有什么不同?什么時候使用對話框?答:C#中窗體是可以改變大小,并可以設為mdi(多窗口界面)或sdi(單窗口),而對話框是不能夠改變大小的簡單的窗體,通常不包含菜單欄、窗口滾動條、“最小化”和“最大化”按鈕、狀態(tài)欄和可調(diào)整邊框。交互和檢索信息時使用對話框。 第6章 GDI+編程1什么是GDI+?為什么叫GDI+?答:GDI是Graphics Device Interface的縮寫,含義是圖形設備接口,它的主要任務是負責系統(tǒng)與繪圖程序之間的信息交換,處理所有Windows程序的圖形輸出。GDI+是一組通過類C+實現(xiàn)的應用程序編程接口。顧名思義,GDI+是以前版本GDI的繼承者,出于兼容性考慮,Windows XP仍然支持以前版本的GDI,但是在開發(fā)新應用程序的時候,開發(fā)人員為了滿足圖形輸出需要應該使用GDI+,因為GDI+對以前的Windows版本中GDI進行了優(yōu)化,并添加了許多新的功能。3筆和畫筆的功能有什么區(qū)別?答:筆可用于繪制線條、曲線以及勾勒形狀輪廓。畫筆是可與Graphics對象一起用來創(chuàng)建實心形狀和呈現(xiàn)文本的對象。4能否用繪制空心形狀的方法繪制實心形狀?能否用繪制實心形狀的方法繪制空心形狀?答:可以繪制空心形狀的方法繪制實心形狀,需設置畫筆寬度,如private void Form1_Paint(object sender, PaintEventArgs e) Graphics g = this.CreateGraphics(); Pen myPen = new Pen(Color.Blue); myPen.Width = 50; g.DrawEllipse(myPen, new Rectangle(30, 40, 50, 50); 能用繪制實心形狀的方法繪制空心形狀?5圖案和圖像有什么不同?圖案用于填充空心圖形。圖像以文件形式存在,可以利用Graphics的DrawImage函數(shù)打開并顯示。6GDI+能否顯示漢字?能夠,private void Button1_Click(object sender, EventArgs e) / 為Button1獲得一個圖形對象的引用 Obtains a reference to the Graphics object for Button1 Graphics g = Button1.CreateGraphics();System.Drawing.Drawing2D.LinearGradientBrush myBrush = new System.Drawing.Drawing2D.LinearGradientBrush(ClientRectangle, Color.Red,Color.Yellow, System.Drawing.Drawing2D.LinearGradientMode.Horizontal); Font myFont = new Font(Times New Roman, 24); g.DrawString(請看漢字, myFont, myBrush, new RectangleF(10, 10, 100, 200); g.DrawString(Look at this text!, myFont, myBrush, 85, 50); 第7章 文件操作1創(chuàng)建文件有哪幾種方法?各有什么特點?答:3種,分別為File、FileInfo、FileSystem。File,提供操作文件的相關靜態(tài)方法,其中包含了創(chuàng)建、移動、復制、刪除以及打開指定的文件,這個類允許用戶直接使用File類調(diào)用相關的方法操作文件;FileInfo。提供實例方法成員,用以操作文件,其功能與File相同,其中的差異在于必須產(chǎn)生實例對象調(diào)用指定的方法成員;FileSystem,被設計用以讀寫文件系統(tǒng)上的數(shù)據(jù)。2使用FileStream對象對文件進行讀寫和使用File或者Fileinfo類的OpenRead和OpenWrite方法返回的FileStream對象進行讀寫有什么不同?答:FileStream 支持通過其 Seek 方法隨機訪問文件。默認情況下,F(xiàn)ileStream 以同步方式打開文件,但它也支持異步操作。利用FileStream 我們可以得到一個文件的Streams,接著就是來讀取。 4.(重點)建立一個二進制文件,用來存放1-20及其平方根,輸入任意數(shù),查找出起平方根并顯示設計二進制文件使其能夠讀取平方根private void 寫文件ToolStripMenuItem_Click(object sender, EventArgs e) string filename = c:cyf.txt; FileStream fs = new FileStream(filename, FileMode.Create); /數(shù)據(jù)保存到磁盤中 BinaryWriter bw = new BinaryWriter(fs); for (int i = 1; i = 20;i+ ) double t = Math.Sqrt(i); bw.Write(int)i); bw.Write(Double)t); bw.Flush(); bw.Close(); fs.Close();private void 讀文件ToolStripMenuItem_Click(object sender, EventArgs e) string filename = c:cyf.txt; FileStream fs = new FileStream(filename, FileMode.Open);/使用二進制讀取 BinaryReader br = new BinaryReader(fs);for (int i = 1; i = 20; i+) int id = br.ReadInt32(); double st = br.ReadDouble();if (id= Convert.ToInt32(textBox1.Text) MessageBox.Show(textBox1.Text + 的平方根為: + st.ToString(); br.Close(); fs.Close(); 這個誰會??!貼一嘴唄(鄭重感謝培培的分享 ) 第8章 數(shù)據(jù)庫應用開發(fā)1、創(chuàng)建數(shù)據(jù)庫連接使用的對象是Connection。2、如果在數(shù)據(jù)庫應用中需要進行事務處理,需要用連接對象BeginTransaction方法。3、DataReader對象是通過Command對象的ExecuteReader 方法生成的。4、DataSet可以看作是一個在客戶機內(nèi)存 中的數(shù)據(jù)庫。5、從數(shù)據(jù)源向DataSet填充數(shù)據(jù)用DataAdaper對象的 Fill 方法,從DataSet向數(shù)據(jù)源更新數(shù)據(jù)用DataAdapter對象的Update方法。需要顯示地通過調(diào)用來實現(xiàn)數(shù)據(jù)的獲取與更新,這是由于ADO.NET的數(shù)據(jù)集獨立于數(shù)據(jù)源特性決定的。6、已知表t_student(xh,name,class,sex),結(jié)構(gòu)如下:(必考)字段名 數(shù)據(jù)類型 長度 是否為主鍵 XhNameClassSex IntVarcharVarcharChar 610152 是 用Command對象給表t_student插入一條記錄(0001,“張三”,“信息32”,“男”),請把程序補充完整。using System.Data.SqClient;string myConnectionString;myConnectionString = “Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;”SqlConnnection myConnection = new SqlConnnection ( myConnectionString ); /定義連接對象string myInsertQuery = “ INSERT t_student(xh,name,class,sex) values(0001,“張三”,“信息32”,“男”) ”; /定義插入數(shù)據(jù)的字符串SqlCommand myCommand = new SqlCommand (myInsertQuery ); /定義查詢命令對象myCommand.Connection = myConnection;myConnection.Open ; /打開連接myCommand. ExecuteNonQuery() ; /執(zhí)行操作myConnection.Close();二、思考題1、說明ADO.NET與ADO相比的優(yōu)勢。ADO.net數(shù)據(jù)處理延伸到3層以上,程序員也需要采用無連接模型,ADO主要依賴于2層結(jié)構(gòu)并且是基于連接的,連接斷開后只能從新連接才能實現(xiàn)存取。通過支持對數(shù)據(jù)的松耦合訪問ADO.NET減少了與數(shù)據(jù)庫的活動鏈接數(shù)目,從而實現(xiàn)了最大限度的數(shù)據(jù)共享 使用GDI+編程打開一張圖片namespace WinSavePic public partial class Form1 : Form Bitmap m_Bitmap; public Form1() InitializeComponent(); private void 打開ToolStripMenuItem_Click(object sender, EventArgs e)使用GDI+編程打開一張圖片namespace WinSavePic public partial class Form1 : Form Bitmap m_Bitmap; public Form1() InitializeComponent(); private void 打開ToolStripMenuItem_Click(object sender, EventArgs e) OpenFileDialo

溫馨提示

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

評論

0/150

提交評論