




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C#.NET程序設計案例教程課后習題參考答案習題1一、選擇題A.C#B.PascalC.VBD.VC+2.( A 可以幫助用戶可視化的程序設計界面。A.工具箱B. 類視圖C.解決方案資源管理器D.動態(tài)幫助3.導入命名空間使用關鍵字是( B 。A. MainB. usingC. SystemD. Console二、填空題1.在C#程序中,程序的執(zhí)行總是從(Main 方法開始的。2.在C#程序中,單行注釋用(/ 引導。3.在C#程序中,注釋分為單行注釋和(塊注釋。4.關鍵字class的含義是(類。5. 要添加控件到窗體中,應該使用(Windows窗體設計器設計窗口。6. 要修改項目的屬性,必須在(
2、解決方案資源管理器設計窗口中選擇項目。7. 要修改對象的屬性,應該使用(屬性設計窗口。三、問答題1.簡述Visual Studio 2010的安裝過程。答:1、獲取Visual Studio 2010的安裝文件2、啟動Visual Studio 2010的安裝程序3、單擊第一個安裝選項“安裝Visual Studio 2010”,彈出圖1-2所示的“Visual Studio 2010安裝向導”界面。4、單擊“下一步”按鈕,彈出圖1-3所示的“Visual Studio 2010安裝程序起始頁”。5、選中“我已閱讀并接受許可條款”按鈕,單擊“下一步”按鈕,彈出圖1-4所示的“Visual St
3、udio 2010安裝程序選項頁”,用戶可以選擇要安裝的功能及安裝路徑,一般使用默認設置即可。6、選擇好產品安裝路徑后,單擊“安裝”按鈕,進入圖1-5所示的“Visual Studio 2010安裝程序安裝頁”界面,顯示正在安裝的組件。7、安裝完畢后,單擊“下一步”按鈕,彈出圖1-6所示的“Visual Studio 2010安裝程序完成頁”界面。8、單擊“安裝文檔”按鈕,可以安裝Visual Studio的本地幫助文檔MSDN,彈出如圖1-7所示的“Help Library管理器庫位置”界面。9、設置庫位置后,單擊“確定”按鈕,彈出如圖1-8所示的“Help Library管理器安裝內容”界
4、面。10、10、根據需要點擊需要安裝的內容后面的“添加”按鈕后,單擊“更新”按鈕,開始“更新本地庫”,更新完成后點擊“完成”按鈕,彈出如圖1-9所示的“Help Library管理器安裝完成頁”界面。11、11、單擊“退出”按鈕完成幫助文檔庫的安裝,彈出如圖1-10所示的“VisualStudio 2010安裝程序主頁面”。12、12、單擊“退出”按鈕,完成Visual Studio開發(fā)環(huán)境和幫助文檔庫的安裝。2. Visual Studio 2010開發(fā)環(huán)境的主要組成部分有哪些?答:Visual Studio 2010開發(fā)環(huán)境的主窗口由標題欄、菜單欄、標準工具欄、代碼編輯器/Windows窗
5、體設計器以及??炕蜃詣与[藏在左側、右側、底部的工具箱、解決方案資源管理器、屬性窗口等共同組成。習題2一、選擇題1、以下變量命名正確的是(C 。A. 7strB. intC. _stu_idD. integer2.表達式“100”+”88”=( D A. 88100B. 188C. 100 88D. 100883、Math.Sqrt(9的結果是(B A.9B. 3C. 09D. 9.04、把字符串strA中的字符f,都替換成F,正確的代碼是( C A. string.replace(f,F;C. strA.Replace(f,F;D. strA.Replace(F,f;5、下列哪個轉換時屬于隱式
6、轉換的( A A. int i=f;B.int j=20FC. int a=100LD. char c=”H”;二、計算題1. 表達式100%3 的結果是_ 12. 表達式a=5*(b=3 的值是_ 153. 表達式5>8|8>5 的值是_ true4. 表達式18.9%2.4 的結果是_ 2.15. 表達式a*6的結果是_ 5238三、編程題1.開發(fā)一個windows窗體應用程序,實現以下功能:在一段給定的字符串中,查找出指定字母的位置。比如在字符串中”abcdefg”,查找出字符c的位置是2。編程思路:利用字符串對象的的IndexOf方法2. 開發(fā)一個windows窗體應用程序
7、,實現以下功能:輸入2個數,計算并顯示出這2個數的最大值。編程思路:利用Math類的max方法。3. 開發(fā)一個windows窗體應用程序,實現以下功能:輸入以攝氏溫度,輸出對應的華氏溫度值。攝氏溫度和華氏溫度的轉化公式如下:5(tºF- 50=9(tºC-10º ,tºF華氏溫度, tºC攝氏溫度。編程思路:表達式計算4. 開發(fā)一個windows窗體應用程序,實現以下功能:輸入一個字符,檢查判斷輸入的是數字還是字母。如果輸入的是字母,則顯示“您輸入的是字母X,其ASCII碼是XX”;如果輸入的是數字,則顯示“您輸入的是數字X,其ASCII碼是X
8、X”。如果兩者都不是則顯示“輸入的是既非數字也非字母!”編程思路:利用if.else語句習題3一、選擇題1.假設有三個文本框textBox1、textBox2和textBox3,其中textBox3.Text值為空, textBox1.Text值為8,textBox2.Text值為10,則執(zhí)行語句:“textBox3.Text=textBox1.Text+textBox2.Text;”后,textBox3.Text的值為:( C 。A.108B.18C.810D.出錯2.分析以下程序段的執(zhí)行結束后,i和j的值分別為:( B int i=1,j=1;for(;j<10;j+ if(j>
9、;5 break;if(j%2!=0j+=3; continue;j-=1;A.2,9B. 1,9C.1,8D.1,103.將命題“z大于x,y中間的一個”用C#表達式表示為:( B 。A. z>x and z>yB. z>x or z>yC. z>x && z>yD. z>x | z>y4.以下程序段執(zhí)行后,Label1的顯示結果為:( A int i,sum;sum=0;for(i=2;i<=10;i=i+1if(i%2!=0 && i%3=0sum=sum+i;Label1.Text=sum.ToStr
10、ing(;A. 12B. 30C. 24D. 185.有以下代碼段:int i=0,s=0;for(;if(i=3|i=5 continue;if(i=6 break;i=i+1;s=s+i;循環(huán)完成后,s的值是( D A. 10B. 7C. 21D. 程序進入死循環(huán)6.有以下代碼段:int k=5,n=0;while(k>0switch(kcase 1:n+=k; break;case 2:break;case 3:n+=k; break;default:break;k=k-1;則執(zhí)行代碼段后,n的值是( B A. 0B. 4C. 6D. 7二、填空題1.條件“金額大于等于500,小于
11、1000”的表達式為(金額>=500 &&金額<1000 。2.在C#程序中,要設置Label控件的大小不隨著內容而改變,應修改(AutoSize 屬性的值為False。3.按鍵盤上的(F7 鍵可以進入代碼編輯窗口。4.C#中的4種循環(huán)結構是(for 、(while 、(dowhile 和(foreach 。5. 專門用于集合元素訪問的循環(huán)語句是(foreach 。6. Visual Studio提供的(try 方法就是專門用于人為引發(fā)異常的。7. (show 方法用于顯示消息框。8. 關閉應用程序的語句是(this.Close(; 。三、問答題1.簡述if語句嵌套
12、時,if與else的配對規(guī)則。答:else總是與其前面最近且尚未配對的在同一復合語句中的if2. 多分支條件語句中的控制表達式可以是哪幾種數據類型?答:表達式的結果必須是整數、字符或枚舉量值3. 多分支條件語句中,case子句中在什么情況下可以不使用break語句?答:break語句是用來執(zhí)行完一個case分支后,然后跳出switch語句;而在一些特殊的情況下,比如多個不同的case值要執(zhí)行一組相同的操作的時候,這時可以省略break語句。4. while語句和dowhile語句有何區(qū)別?答:do-while循環(huán)就是先執(zhí)行再判斷,while循環(huán)是先判斷后執(zhí)行。5. 異常處理有哪幾種常用的語法格
13、式?答:try語句有以下三種可能的形式:(1trycatch語句:一個try塊后接一個或多個catch塊。(2tryfinally語句:一個try塊后接一個finally塊。(3trycatchfinally:一個try塊后接一個或多個catch塊,后面再跟一個finally塊。習題4一、選擇題1.在關鍵字public后面定義的成員為類的(B 成員。A.私有B. 公有C.保護D. 任何2.如果不帶修飾符,C#中類成員被默認聲明成( C 。A.publicB. protectedC.privateD. static2.可以在一個類中定義多個同名的方法,但只有使用的參數類型或者參數個數不同,編譯器
14、便知道在何種情況下應該調用哪個方法,這是( D 。A.虛方法B. 運算符重載C.抽象方法D. 方法重載3.關于構造函數,下列說法錯誤的是( B 。A. C#中對對象進行初始化的方法叫構造函數。B. 構造函數可不與類同名,可以用戶自己命名。C. 如果一個類沒有聲明任何實例構造函數,則系統(tǒng)會自動提供一個默認構造函數。D. 構造函數在類的聲明中,可以有函數名相同,但參數個數不同的多種形式。4.下列關于C#中繼承的描述,錯誤的是( A 。A.一個子類可以有多個父類。B.通過繼承可以實現代碼重用。C.派生類還可以添加新的特征或者是修改已有的特征以滿足特定的要求。D.繼承是指基于已有類創(chuàng)建新類的語言能力。
15、5.可以在一個類中定義多個同名的方法,但只有使用的參數類型或者參數個數不同,編譯器便知道在何種情況下應該調用哪個方法,這是( D 。A.虛方法B. 運算符重載C.抽象方法D. 方法重載6.關于構造函數,下列說法錯誤的是( D 。A. 默認構造函數定義了對象的默認狀態(tài)。B. 非默認構造函數將根據傳入的參數來初始化對象的數據。C. 如果沒有為類定義默認構造函數,編譯器將自動為類創(chuàng)建一個默認構造函數。D. 非默認構造函數應當總是包含對象的默認狀態(tài)。7.接口是一種引用類型,在接口中可以聲明( A ,但不可以聲明公有的域或私有的成員變量。A. 方法、屬性、索引器和事件B. 方法、屬性信息、屬性C. 索引
16、器和字段D. 事件和字段8.聲明一個委托public delegate int myCallBack(int x;則用該委托產生的回調方法的原型應該是( B 。A. void myCallBack(int xB. int receive(int numC. string receive(int xD. 不確定的二、填空題1.面向對象程序設計具有(封裝、(繼承和(多態(tài)等三個基本特征。2.(字段是類定義中的數據,也叫類定義中的變量。3.(方法實質上就是函數,通常用于對字段進行計算和操作,即對類中的數據進行操作。4.方法參數傳遞按性質可以分為(按值傳遞和(按引用傳遞兩種。5. 構造函數是一種特殊的方
17、法成員,其主要作用是在創(chuàng)建對象時(初始化新對象。6. 聲明靜態(tài)成員需要使用(static 修飾符。7. 在進行類定義時不需要編寫代碼就可以包含另一個類定義的數據成員、方法成員等的特征,稱為類的(繼承。8. 委托是一種引用數據類型,派生于.NET Framework中的(Delegate 類。三、問答題1.簡述類與對象的關系。答:類是對象的抽象描述和概括,例如:車是一個類,自行車、汽車、火車也是類,但是自行車、汽車、火車都屬于車這個類的子類,因為它們有共同的特點就是都是交通工具,都有輪子,都可以運輸。而汽車有顏色、車輪、車門、發(fā)動機等特征,這是和自行車、火車所不同的地方,是汽車類自己的屬性,也是
18、所有汽車共同的屬性,所以汽車也是一個類,而具體到某一輛汽車,它有具體的顏色、車輪、車門、發(fā)動機等屬性值,因此某輛汽車就是一個對象。類是抽象的概念,對象是具體的概念,在軟件設計中很容易區(qū)分類和對象。假設軟件中的按鈕是一個類,按鈕類具有長度、寬度、位置、顏色等屬性,具有單擊、雙擊、移動等行為,當所設計的一個具體的按鈕具有特定的長度、寬度、位置、顏色等屬性值,具有單擊、雙擊、移動時所發(fā)生的具體行為,那么這時就構成了一個按鈕對象。2. 屬性是類的數據成員嗎?什么是方法?C#允許在類定義外部聲明方法嗎?答:屬性是類的數據成員。方法用來完成類或對象的行為,在面向對象編程語言中,類或對象是通過方法來與外界交
19、互的,所以方法是類與外界交互的基本方式。方法通常是包含解決某一特定問題的語句塊,方法必須放在類定義中,方法同樣遵循先聲明后使用的原則。C#不允許在類定義外部聲明方法3. 在方法的調用中,基本數據類型作為參數默認是按什么方式傳遞?類對象作為參數默認是按什么方式傳遞的?類對象可以按值方式傳遞嗎?基本數據類型參數按引用傳遞時,應該怎么做?參數按值傳遞與按引用傳遞的區(qū)別是什么?方法的參數傳遞按照性質可分為按值傳遞與按引用傳遞。參數按值的方式傳遞是指當把實參傳遞給形參時,是把實參的值復制給形參,實參和形參使用的是內存中兩個不同的值,所以這種參數傳遞方式的特點是形參的值發(fā)生改變時,不會影響到實參的值,從而
20、保證了實參數據的安全?;绢愋?包括string與object的參數在傳遞時默認為按值傳遞。一個方法只能返回一個值,但實際應用中常常需要方法能夠修改或返回多個值,這時只靠return語句顯然是無能為力的。如果需要方法返回多個值,就可以使用按引用傳遞參數的方式實現這種功能。按引用傳遞是指實參傳遞給形參時,不是將實參的值復制給形參,而是將實參的引用傳遞給形參,此時,實參與形參使用的是同一個內存地址中的值。這種參數傳遞方式的特點是形參的值發(fā)生改變時,同時也改變實參的值?;绢愋蛥蛋匆脗鬟f時,形參實際上是實參的別名?;绢愋蛥蛋匆脗鬟f時,實參與形參前均須使用關鍵字ref。4. 重載方法的基本要
21、求是什么?C#中的靜態(tài)方法應該怎樣調用?方法重載有兩點要求:(1重載的方法名稱必須相同;(2重載方法的形參個數或類型必須不同,否則將出現“已經定義了一個具有相同類型參數的方法成員”的編譯錯誤。靜態(tài)方法屬于類本身,只能使用類調用,不能使用對象調用。5. 什么是類的繼承?怎么定義派生類?繼承就是在已有類的基礎上建立新的類,新的類既具備原有類的功能和特點,又可以將這些功能在原有基礎上進行拓展。由于新的類是由原來的類發(fā)展而來,所以又被稱為原有類的派生類(子類,而原有類就是新類的基類(父類。定義一個繼承于基類的派生類的語法格式如下:【訪問修飾符】class 派生類名稱:基類名稱/派生類的類體其中,訪問修
22、飾符可以是public、protected和private,通常都使用public以保證類的開放性,并且public可以省略,因為類定義的訪問控制默認是public。“:基類名稱”表示所繼承的類。定義的派生類默認繼承了基類的所有成員,包括變量和方法(構造函數和析構函數除外,基類中用private訪問修飾符限制的成員不能被繼承。6. 什么是多態(tài)性?多態(tài)性有何作用?多態(tài)性可以簡單地概括為“一個接口,多種方法”,它在程序運行的過程中才決定調用的方法,多態(tài)性是面向對象編程的核心概念。多態(tài)使得子類(派生類的實例可以直接賦予基類的對象(不需要進行強制類型轉換,然后直接就可以通過這個對象調用子類(派生類的方
23、法。多態(tài)則是為了實現另一個目的接口重用,因為接口是最耗費時間的資源,實質上設計一個接口要比設計一堆類要顯得更有效率。習題5一、選擇題1.在C#.Net中,用來創(chuàng)建主菜單的對象是( C 。A. MenuB.MenuItemC.MenuStripD.Item2.下面所列舉的應用程序中,不是多文檔應用程序的是( D A.WordB.ExcelC.PowerPointD.記事本3.加載窗體時觸發(fā)的事件是( B 。A. ClickB. LoadC. GotFoucsD. DoubleClick4. .建立訪問鍵時,需在菜單標題的字母前添加的符號是( D 。A. !B. #C. $D. &5. .
24、使用Dirctory類的下列方法,可以獲取指定文件夾中的文件的是( B .A. Exists(B. GetFiles(C. GetDirectories(D. CreateDirectory(二、填空題1.在C#Net中,窗體父子關系通過(MDI窗體窗口來創(chuàng)建。2.根據Windows窗體的顯示狀態(tài),可以分為(模式窗體和(非模式窗體。3.將文本框設置為只讀,可以通過修改(ReadOnly 屬性實現。4.(MenuStrip 控件又稱為菜單控件,主要用來設計程序的菜單欄。5. 計時器控件每隔一定的時間間隔引發(fā)一次(Tick 事件。6. ProgressBar控件又稱為(進度條控件。7. 將文本框控
25、件設置為密碼文本框,可以通過修改(PassWordChar 屬性實現。三、問答題1.Windows應用程序的菜單通常由哪些部分組成?答:MenuStrip控件,又稱為菜單控件,它主要用來設計程序的菜單欄,C#中的MenuStrip 控件支持多文檔界面、菜單合并、工具提示和溢出等功能,開發(fā)人員可以通過添加訪問鍵、快捷鍵、選中標記、圖像和分隔條來增強菜單的可用性和可讀性。MenuStrip控件主要用于在程序窗體中顯示菜單,其中菜單標題項的快捷鍵是通過其Text屬性中的“&”字符進行設置的,當菜單處于打開狀態(tài)時,可以通過按下Alt鍵和相應的字母打開相應的菜單項。而菜單項的快捷鍵通過設置菜單項
26、的Shortcut 屬性進行設置,例如“紅”菜單項對應的“Ctrl+D”,用戶無需打開菜單,直接按Ctrl+R鍵時,就相當于單擊該菜單項。ContextMenuStrip控件,又稱為快捷菜單控件,它用來表示快捷菜單。2. 在實際應用中,菜單可以分為哪兩種形式?在C#中設計菜單使用哪兩種控件?請簡述其設計步驟。答:Windows的菜單主要有下拉式菜單和彈出式快捷菜單兩種類型。在C#中設計菜單時分別使用MenuStrip控件和ContextMenuStrip控件。3. 簡述工具欄與菜單共享代碼的方法。答:程序中工具欄按鈕的功能與主菜單中的命令項相對應,因此在功能實現上采用直接調用相應主菜單項單擊事
27、件代碼的方式實現,例如“menuOO_Click(sender,e;”即調用主菜單中的菜單項的單擊事件。4. 簡述狀態(tài)欄面板StatusStrip的主要屬性及作用。答:StatusStrip控件,又稱為狀態(tài)欄控件,它通常放置在窗體的最底部,用于顯示窗體上一些對象的相關信息,或者可以顯示應用程序的信息。StatusStrip控件由ToolStripStatusLabel對象組成,每個這樣的對象都可以顯示文本、圖像或同時顯示這二者,另外,StatusStrip控件還可以包含ToolStripDropDownButton、ToolStripSplitButton和ToolStripProgressB
28、ar等控件。5. 簡述模式窗體與非模式窗體的區(qū)別。答:模式窗體就是使用ShowDialog方法顯示的窗體,它在顯示時,如果作為激活窗體,則其它窗體不可用。只有在將模式窗體關閉之后,其它窗體才能恢復可用狀態(tài)。非模式窗體就是使用Show方法顯示的窗體,一般的窗體都是非模式窗體。非模式窗體在顯示時,如果有多個窗體,用戶可以單擊任何一個窗體,單擊的窗體將立即成為激活窗體并顯示在屏幕的最前面。6. 簡述KeyPress事件與KeyDown、KeyUp事件的主要不同點。答:C#主要為用戶提供了三種鍵盤事件,按下某個ASCII字符鍵時發(fā)生KeyPress事件,按下任意鍵時發(fā)生KeyDown事件和釋放鍵盤上任
29、意鍵時發(fā)生KeyUp事件。只有獲得焦點的對象才能夠接受鍵盤事件。只有當窗體為活動窗體且其上所有控件均未獲得焦點時,窗體才獲得焦點。這種情況只有在空窗體和窗體上的控件都無效時才發(fā)生。但是,如果將窗體上的KeyPreview屬性設置為True,則窗體就會在控件識別其鍵盤事件之前搶先接受這些鍵盤事件。鍵盤事件彼此之間并不相互排斥,按下一鍵時產生KeyPress和KeyDown事件,放開該鍵時產生一個KeyUp事件,但應注意KeyPress事件并不能識別所有的按鍵。習題6一、選擇題1.C# Winform 編程對文件夾操作,通常需要引入命名空間( C 。A.using System.IOB.using
30、 System.IOC.using System.IO實現遞歸刪除文件夾目錄及文件,下列程序中public static void DeleteFolder(string dirif (Directory._2_ (dir /如果存在這個文件夾刪除之foreach (string d in _3_.GetFileSystemEntries(dirif (File.Exists(dFile._4_(d; /直接刪除其中的文件else_5_(d; /遞歸刪除子文件夾Directory.Delete(dir; /刪除已空文件夾A、ExistB、ExistsC、DirectoryD、DeleteE、D
31、eleteFolderF、DeleteDirectory2、應選擇(B 。3、應選擇(C 。4、應選擇(D 。5、應選擇(E 。二、填空題1.C#文件操作,通常要引入(System.IO 命名空間。2、語句“Directory.Delete("f:bbs2", true;”的作用是( 將f:bbs2及其子目錄刪除.3、語句“string dirs = Directory.GetDirectories("f:", "b*"”的作用是( 獲取f:下以b開頭的目錄存儲到dirs數組中。4、設置文件屬性的方法是( File.SetAttrib
32、utes(filename,FileAttributes.ReadOnly; /把filename文件設置為只讀。5、確定文件是否存在的方法是( File.Exists(filename 。1.6、File.AppendText FileInfo.AppendText的作用是( 創(chuàng)建一個 StreamWriter,它將 UTF-8 編碼文本追加到現有文件。三、問答題1. 請寫出遞歸刪除文件夾及文件的程序片段。private void Delete(string dirforeach (string subdir in Directory.GetDirectories(dirthis.Delet
33、e(subdir;foreach (string files in Directory.GetFiles(dirlabel.Text = string.Format("正在刪除0",files;File.Delete(files;2. 軟件注冊通常有哪些方法?各自的優(yōu)缺點是什么?軟件注冊可以通過獲取cpu、硬盤的序列號,進行加密,再寫入注冊表來實現,也可以通過用戶名密碼來注冊。前者方式注冊軟件當用戶更換計算機或者部件時需重新注冊,但是破解較難;后者往往難以保證注冊用戶名、序列號不被惡意擴散。3. 閱讀以下程序片段,說明該方法的主要功能。public static void
34、CopyFolder(string strFromPath,string strToPath/如果源文件夾不存在,則創(chuàng)建if (!Directory.Exists(strFromPathDirectory.CreateDirectory(strFromPath;/取得要拷貝的文件夾名string strFolderName = strFromPath.Substring(strFromPath.LastIndexOf("" +1,strFromPath.Length - strFromPath.LastIndexOf("" - 1;/如果目標文件夾中沒有
35、源文件夾則在目標文件夾中創(chuàng)建源文件夾if (!Directory.Exists(strToPath + "" + strFolderNameDirectory.CreateDirectory(strToPath + "" + strFolderName;/創(chuàng)建數組保存源文件夾下的文件名string strFiles = Directory.GetFiles(strFromPath;/循環(huán)拷貝文件for(int i = 0;i < strFiles.Length;i+/取得拷貝的文件名,只取文件名,地址截掉。string strFileName =
36、strFilesi.Substring(strFilesi.LastIndexOf("" +1,strFilesi.Length - strFilesi.LastIndexOf("" - 1;/開始拷貝文件,true表示覆蓋同名文件File.Copy(strFilesi,strToPath + "" + strFolderName + "" + strFileName,true; /創(chuàng)建DirectoryInfo實例DirectoryInfo dirInfo = new DirectoryInfo(strFromP
37、ath;/取得源文件夾下的所有子文件夾名稱DirectoryInfo ZiPath = dirInfo.GetDirectories(;for (int j = 0;j < ZiPath.Length;j+/獲取所有子文件夾名string strZiPath = strFromPath + "" + ZiPathj.ToString(;/把得到的子文件夾當成新的源文件夾,從頭開始新一輪的拷貝CopyFolder(strZiPath,strToPath + "" + strFolderName;實現文件夾的拷貝功能。習題7一、選擇題1、ADO.NET
38、中數據庫連接是利用哪個對象的是(D 。A. SQLCommandB. SQLDataAdapterC. QLDataReaderD. SQLConnection2. 插入、刪除數據可用SqlCommand對象的(C 方法A. ExecuteReaderB. ExecuteScalarC. ExecuteNonQueryD. EndExecuteNonQuery3、在ADO.NET 中,為訪問DataTable對象從數據源提取的數據行。可使用DataTable 對象的( A 屬性.A. RowsB. ColumnsC. ConstraintsD. DataSet4、SQL Server 的Win
39、dows 身份驗證機制是指,當網絡用戶嘗試連接到SQL Server 數據庫時,以下哪個說法是正確的( C A. Windows 獲取用戶輸入的用戶和密碼,并提交給SQL Server 進行身份驗證,并決定用戶的數據庫訪問權限B. SQL Server 根據用戶輸入的用戶和密碼,提交給Windows 進行身份驗證,并決定用戶的數據庫訪問權限C. SQL Server 根據已在Windows 網絡中登錄的用戶的網絡安全屬性,對用戶身份進行驗證,并決定用戶的數據庫訪問權限D. 登錄到本地Windows 的用戶均可無限制訪問SQL Server 數據庫5、參考下列C#語句:SqlConnection
40、 Conn1 = new SqlConnection( ;Conn1.C;Conn1.Open( ;SqlConnection Conn2 = new SqlConnection( ;Conn2.C;Conn2.Open( ;請問:上述語句將創(chuàng)建( B 個連接池來管理這些SqlConnection 對象A.1B.2C.0二、填空題1、為了在程序中使用DataSet 類定義數據集對象,應在文件開始處添加對命名空間_System.Data_的引用.2、為創(chuàng)建在SQL Server 2000 中執(zhí)行Select 語句的Command 對象,可先建立到SQL Server2000 數據庫的連接,然后使
41、用連接對象的_CreateCommand_方法創(chuàng)建SqlCommand 對象.三、問答題(1采用LINQ技術訪問數據庫與采用ADO.NET訪問數據庫,有什么優(yōu)勢?答:1、無需復雜學習過程即可上手2、編寫更少代碼即可創(chuàng)建完整應用。3、更快開發(fā)錯誤更少的應用程序。4、無需求助奇怪的編程技巧就可合并數據源5、讓新開發(fā)者開發(fā)效率更高(2LINQ的語法跟一般SQL語句的語法有哪些區(qū)別?答:LINQ 查詢語法是以from 關鍵字開頭的,而不是以select 關鍵字開頭的。簡單來說,為了IDE的智能感知(Intelisence這個功能,select 關鍵字放在后面了。編程語言以select 開頭寫LINQ查
42、詢語法不是沒出現過,你如果使用過2005年的VB9 CTP 版本,那時候VB9的LINQ查詢語法就是select 關鍵字在前面,但是select 關鍵字在前面,在做智能感知(Intelisence時候就很頭大。經過微軟IDE組的權衡,確定了把from 關鍵字放在最前面。(3 DataSet與SQLDataReader有哪些區(qū)別?答:檢索數據庫的數據時,DataSet取得所有的信息,并將其保存在內存中。使用這種離線數據源,可以完成隨意修改數據,數據轉換格式等簡潔的工作。但如果需要從數據庫返回大量的數據,將受到內存的限制,因為整個DataSet都保存在內存中。特別是用戶很多時,由于每個用戶都有自己
43、的DataSet,將可能出現問題。OleDbDataReader每次只將一條記錄保存到內存中,按要求依次從數據源取得數據,避免了使用大量內存而提高了性能,但由于數據依次取回,所以OleDbDataReader功能沒有Da taSet強大。而且,OleDbDataReader 是只讀的,并且不能查看前面的記錄。如果不需要客戶返回值,只需要顯示而不修改,用sqldatareader效率比較高。相反用dataset。sqldatareader提供一種從數據庫讀取只進的行流的方式. 如果用到分頁或者需要有暫存數據的地方,用dataset。習題8一、選擇題1、在C#中,MS為我們提供了( A 命名空間,
44、里面包含了Socket類。B、System.NeC、System.Threading2、TCP最主要的特點是( A 。A、是一種基于連接的協(xié)議(類似于打電話B、保證數據準確到達C、保證各數據到達的順序與數據發(fā)出的順序相同D、傳輸的數據無消息邊界3、在同步工作方式下,TcpListener類常用的方法( B A、AcceptTcpClient;B、StartC、StopD、Play4、在.NET中,提供異步處理功能的有:(ABCDEFG A、文件I/O、流I/O、套接字I/O。B、網絡。C、遠程處理信道(HTTP、TCP和代理。D、使用ASP.NET 創(chuàng)建的XML Web services。E、
45、ASP.NET Web 窗體。F、使用MessageQueue 類的消息隊列。G、BackgroundWorker等組件二、填空題2、Socket編程中,連接創(chuàng)建完畢,就可以使用其(BeginSend 或(EndSend 方法將數據發(fā)送到Socket;同樣使用其(BeginReceive 或(EndReceive 方法從Socket中讀取數據。在Socket使用完畢后,應使用其(Shutdown 方法禁用Socket,并使用(Close 方法關閉Socket。System.Net; 。4、UdpClient類是提供用戶數據報UDP網絡服務的。UdpClient類提供了一些簡單的方法,用于在阻塞
46、同步模式下發(fā)送和接收無連接UDP數據報。因為UDP是無連接傳輸協(xié)議,所以不需要在發(fā)送和接收數據前建立遠程主機連接。但可以選擇使用下面兩種方法之一來建立默認遠程主機:(1使用遠程(主機名和(端口號作為參數創(chuàng)建UdpClient類的實例。(2創(chuàng)建UdpClient類的實例,然后調用(Connect 方法。三、簡答題1、使用同步TCP編寫服務器端應用程序的一般步驟是什么?使用同步TCP編寫服務器端應用程序的一般步驟是:1、創(chuàng)建一個socket,用函數socket(;2、綁定IP地址、端口等信息到socket上,用函數bind(; 3、開啟監(jiān)聽,用函數listen(;4、接收客戶端上來的連接,用函數a
47、ccept(;5、收發(fā)數據,用函數send(和recv(,或者read(和write(; 6、關閉網絡連接;7、關閉監(jiān)聽。2、TcpClient類和TcpListener類均封裝了底層的套接字,并分別提供了對套接字進一步封裝后的同步和異步操作的方法,降低了TCP應用編程的難度,請寫出它們各自的作用。TcpClient 類提供了一些簡單的方法,用于在同步阻塞模式下通過網絡來連接、發(fā)送和接收流數據。為使TcpClient 連接并交換數據,使用TCP ProtocolType 創(chuàng)建的TcpListener 或Socket 必須偵聽是否有傳入的連接請求??梢允褂孟旅鎯煞N方法之一連接到該偵聽器:創(chuàng)建一個TcpClient,并調用三個可用的Connect 方法之一。使用遠程主機的主機名和端口號創(chuàng)建TcpClient。此構造函數將自動嘗試一個連接。TcpListener 類從TCP 網絡客戶端偵聽連接。TcpListener 類提供一些簡單方法,用于在阻塞同步模式下偵聽和接受傳入連接請求。可使用TcpClient 或Socket 來連接TcpListener??墒褂肐PEndPoint、本地IP 地址及端口號或者僅使用端口號,來創(chuàng)建TcpListener??梢?/p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年城市居民用電工程實施合同協(xié)議書
- 2025采購合同審批確認表
- 2025機械設備采購合同協(xié)議
- 小學生紅色文化教育主題班會
- 《探索養(yǎng)生》課件
- 2025四川省蘋果購銷合同
- 冀教版設計包裝箱
- 歐式路燈創(chuàng)意美術課件
- 鋼鐵行業(yè)安全教育
- 正班風、促學風、樹校風主題班會
- 財務機器人開發(fā)與應用實戰(zhàn) 課件 任務5 E-mail人機交互自動化-2
- 【華為】通信行業(yè):華為下一代鐵路移動通信系統(tǒng)白皮書2023
- Python 程序設計智慧樹知到期末考試答案章節(jié)答案2024年四川師范大學
- 03D201-4 10kV及以下變壓器室布置及變配電所常用設備構件安裝
- 城鄉(xiāng)環(huán)衛(wèi)保潔投標方案(技術標)
- 充值合同范本
- MSDS中文版(鋰電池電解液)
- 《職業(yè)病防治法》知識考試題庫160題(含答案)
- 全國初中數學青年教師優(yōu)質課一等獎《反比例函數的圖象和性質》教學設計
- 2023-2024學年人教版數學八年級下冊期中復習卷
- 環(huán)境監(jiān)測儀器安裝施工方案(更新版)
評論
0/150
提交評論