免費預覽已結(jié)束,剩余7頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
一、選擇題知識點1、 NETMSIL是獨立于CPU的指令集,它可以被高校地轉(zhuǎn)換為特定于某種CPU的代碼2、 在Visual Studio.Net窗口中,在“類視圖”窗口中可以查看當前項目的類和類型。3、 在C#中,字符串如何定義,字符串的使用4、 ADO.NET在非連接模式下處理數(shù)據(jù)內(nèi)容的主要對象是“DATASET”。5、 在C#中,預處理器指令#region和#endregion的作用是什么? C# 中的 #region 和 #endregion 表示一塊區(qū)域,這樣在 Visual Studio 中可以將這塊區(qū)域的代碼折疊起來,便于查看。雖然 Visual Studio 也響應(yīng)大括號的折疊,但大括號會引起作用域的變化,而 #region 和 #endregion 則不會。#region 和 #endregion 大小寫敏感。 #region 和 #endregion 可以嵌套。 #region 后面可以跟任意文字以對該區(qū)域進行說明。6、 關(guān)于結(jié)構(gòu)類型和類類型的區(qū)別和聯(lián)系。c#中的結(jié)構(gòu)體類型 struct 類型是一種值類型,通常用來封裝小型相關(guān)變量組,例如,矩形的坐標或庫存商品的特征。下面的示例顯示了一個簡單的結(jié)構(gòu)聲明。public struct PostalAddress/ Fields, properties, methods and events go here.結(jié)構(gòu)與類共享幾乎所有相同的語法,但結(jié)構(gòu)比類受到的限制更多:盡管結(jié)構(gòu)的靜態(tài)字段可以初始化,結(jié)構(gòu)實例字段聲明還是不能使用初始值設(shè)定項。結(jié)構(gòu)不能聲明默認構(gòu)造函數(shù)(沒有參數(shù)的構(gòu)造函數(shù))或析構(gòu)函數(shù)。結(jié)構(gòu)的副本由編譯器自動創(chuàng)建和銷毀,因此不需要使用默認構(gòu)造函數(shù)和析構(gòu)函數(shù)。實際上,編譯器通過為所有字段賦予默認值(參見默認值表)來實現(xiàn)默認構(gòu)造函數(shù)。結(jié)構(gòu)不能從類或其他結(jié)構(gòu)繼承。結(jié)構(gòu)是值類型 - 如果從結(jié)構(gòu)創(chuàng)建一個對象并將該對象賦給某個變量,變量則包含結(jié)構(gòu)的全部值。復制包含結(jié)構(gòu)的變量時,將復制所有數(shù)據(jù),對新副本所做的任何修改都不會改變舊副本的數(shù)據(jù)。由于結(jié)構(gòu)不使用引用,因此結(jié)構(gòu)沒有標識 - 具有相同數(shù)據(jù)的兩個值類型實例是無法區(qū)分的。C# 中的所有值類型本質(zhì)上都繼承自 ValueType,后者繼承自 Object。編譯器可以在一個稱為裝箱的過程中將值類型轉(zhuǎn)換為引用類型。結(jié)構(gòu)具有以下特點:結(jié)構(gòu)是值類型,而類是引用類型向方法傳遞結(jié)構(gòu)時.結(jié)構(gòu)是通過傳值方式傳遞的,不是作為引用方式傳遞.與類不同,結(jié)構(gòu)的實例化可以不使用new運算符.結(jié)構(gòu)可以聲明構(gòu)造函數(shù),但他們必須帶參數(shù)一個結(jié)構(gòu)不能從另一個結(jié)構(gòu)或類繼承,而且不能作為一個類的基。所有結(jié)構(gòu)都直接繼承自 System.ValueType,后者繼承自 System.Object。結(jié)構(gòu)可以實現(xiàn)接口。在結(jié)構(gòu)中初始化實例字段是錯誤的。1)結(jié)構(gòu)是一個值類型,保存在棧上,而類是一個引用類型,保存在受管制的堆上。2)對結(jié)構(gòu)中的數(shù)據(jù)進行操作比對類或?qū)ο笾械臄?shù)據(jù)進行操作速度要快。3)一般用結(jié)構(gòu)存儲多種類型的數(shù)據(jù),當創(chuàng)建一個很多類或?qū)ο蠊灿玫男⌒蛯ο髸r,使用結(jié)構(gòu)效率更高。7、 在Queue類、Stack類、Hash Table類中,常用方式使用,HashTable有什么特點?Queue(隊列)類主要實現(xiàn)了一個FIFO(First In First Out,先進先出)的機制。元素在隊列的尾部插入(入隊操作),并從隊列的頭部移出(出隊操作)。在Queue中主要使用Enqueue、Dequeue、Peek三個方法對隊進行操作。Enqueue方法用于將對象添加到Queue的結(jié)尾處;Dequeue方法移除并返回位于Queue開始處的對象;Peek方法用于返回位于Queue開始處的對象但不將其移除。Stack(堆棧)類主要實現(xiàn)了一個LIFO(Last In First Out,后進先出)的機制。元素從棧的頂部插入(入棧操作),也從堆的頂部移除(出棧操作)。在Stack中主要使用Push,Pop,Peek三個方法對棧進行操作。Push方法用于將對象插入Stack的頂部;Pop方法用于移除并返回位于Stack頂部的對象;Peek方法用于返回位于Stack頂部的對象但不將其移除。Hashtable(哈希表)是一種鍵/值對集合,這些鍵/值對根據(jù)鍵的哈希代碼進行組織。在一個Hashtable中插入一對Key/Value時,它自動將Key值映射到Value,并允許獲取與一個指定的Key相關(guān)聯(lián)的value。在Hashtable中主要使用Add、Remove兩個方法對哈希表進行操作。Add方法用于將帶有指定鍵和值的元素添加到Hashtable中;Remove方法用于從Hashtable中移除帶有指定鍵的元素。說明:Hashtable不能包含重復的key。如果調(diào)用Add 方法來添加一個keys數(shù)組中已有的key,就會拋出異常。為了避免這種情況,可以使用ContainsKey方法來測試哈希表中是否包含一個特定的Key。8、 在哈希表中,對象所屬的哈希桶的地址是由“為該對象設(shè)置的鍵值”決定的。9、 讀取圖形文件時,應(yīng)使用BinaryReader類的對象10、 在ADO.NET中,表示程序到數(shù)據(jù)的連接的對象是“connection對象”。11、 在C#中設(shè)計類時,如何將一個可讀可寫的公有屬性Name修改為只讀屬性?將Name的set塊刪除12、 在編寫C#程序時,若需要一個數(shù)組中的所有元素進行處理,則使用“foreach”循環(huán)體最好。13、 C#編譯器將C#程序編譯成什么樣的代碼?(中間語言)14、 在使用FileStream打開一個文件時,通過使用FileMode枚舉類型的“Append”成員來制定操作系統(tǒng)打開一個現(xiàn)有文件并把文件讀寫指針定位在文件尾部。15、 什么是封裝、繼承、多態(tài)?封裝就是把一些特征或功能組合到一個抽象的對象上。C#只支持單繼承,即一個類只能繼承一個父類多態(tài)就是父類定義的抽象方法,C#允許將子類賦值給父類,然后在父類中通過調(diào)用抽象方法來實現(xiàn)子類具體功能。 16、 在ADO.NET,將用產(chǎn)生在DataSet中的改動保存到數(shù)據(jù)源中,應(yīng)使用哪個方法?DataAdapter對象的Update方法17、 掌握數(shù)組的使用18、 掌握字符串的使用二、簡答1、 個控制臺程序相比,Windows應(yīng)用程序編程的特點有哪些,試簡述之。從表面上來看:控制臺程序運行時是在DOS環(huán)境下,或者模擬dos環(huán)境運行的程序,運行時一般會啟動一個提示符窗口。 而應(yīng)用程序是Windows環(huán)境下的窗口程序。運行時一般會啟動一個窗口畫面。(例外,病毒木馬,就不顯示窗口,這決定于是否創(chuàng)建了窗口,或者是否讓窗口顯示) 但是,實質(zhì)上,windows應(yīng)用程序和控制臺應(yīng)用程序的真正區(qū)別是,PE文件的結(jié)構(gòu)不同,這點不需要我們?nèi)リP(guān)心,編譯器會根據(jù)你的選擇去構(gòu)建生成的exe文件的PE結(jié)構(gòu)。 如何告之編譯器你的選擇?在編譯器進行連接的時候,給它一個連接參數(shù): subsystem:windows或者subsystem:console來告訴它。對于大多數(shù)編程工具來說一般在“工程-設(shè)置-連接”這個表單里面就可以看到這個參數(shù)。 但是通常在我們要創(chuàng)建一個新的工程的時候,編譯器會讓我們事先選擇好是創(chuàng)建windows應(yīng)用程序還是創(chuàng)建控制臺應(yīng)用程序。這個參數(shù)的設(shè)置就不用我們操心了。 補充(你可以不看,有點復雜了):事實上,控制臺程序依然還有區(qū)別,那就是,16位的可以在DOS操作系統(tǒng)環(huán)境中運行的DOS程序(也可以在window運行通常windows會模擬一個dos環(huán)境,這時你會程序窗口與平時的提示符窗口明顯不一樣),和 32位通常只能在windows操作系統(tǒng)中運行的程序。通常32位控制臺在DOS下運行,它的PE結(jié)構(gòu)中會給予DOS環(huán)境下運行的一個入口點(DOS文件頭),這個入口點只有“一行”代碼:This program cannot be run in DOS mode 而在32位系統(tǒng)下,操作系統(tǒng)將將查看PE文件頭里面的subsystem字段來獲得程序?qū)⒁允裁捶绞竭\行(windoes或者console)這個字段里面指示了子系統(tǒng)(CUI對應(yīng)控制臺,GUI對應(yīng)普通程序,驅(qū)動程序等沒有子系統(tǒng))32位的控制臺程序當然可以調(diào)用PAI函數(shù),而16位的DOS程序則不可以調(diào)用API函數(shù)。2、 C#支持的數(shù)據(jù)類型有哪些?值類型和引用類型有何不同?與C/C+相比有什么不同C#數(shù)據(jù)類型分為值類型和引用類型。(1) 值類型包括:簡單類型、結(jié)構(gòu)類型、枚舉類型。其中,簡單類型又分為:整型、布爾型、字符型、浮點型、小數(shù)型。(2) 引用類型包括:對象類型、類類型、接口、元數(shù)據(jù)、字符串類型、數(shù)組。 值類型和引用類型的區(qū)別在于,值類型的變量直接存放實際的數(shù)據(jù),而引用類型的變量存放的則是數(shù)據(jù)的地址,即對象的引用。當把一個值變量賦給另一個值變量時,會在堆棧(stack)中保存兩個完全相同的值;而把一個引用變量賦給另一個引用變量,則會在堆棧中保存對同一個堆(heap)位置的兩個引用。進行數(shù)據(jù)操作時,對于值類型,由于每個變量都有自己的值,因此對一個變量的操作不會影響到其他變量;對于引用類型的變量,對一個變量的數(shù)據(jù)進行操作就是對這個變量在堆中的數(shù)據(jù)進行操作,如果兩個引用類型的變量引用同一個對象,實際含義就是它們在堆棧中保存的堆的地址相同,因此對一個變量的操作就會影響到引用同一個對象的另一個變量。與C+相比,C#的主要特點有:1) C#語言自C/C+演變而來。但是,它是完全按照面向?qū)ο蟮乃枷雭碓O(shè)計的,并保證了類型的安全性。2) C#簡化了C+在類、名稱空間、方法重載和異常處理等方面的使用。摒棄了C+的復雜性,使它更易用、更少出錯。3) C#減少了C+的一些特性,不再有宏、多重繼承。特別對企業(yè)開發(fā)者來說,上述功能只會產(chǎn)生更多的麻煩而不是效益。4) C#采用嚴格的類型安全、版本控制、垃圾收集(garbage collect)等等。所有的這些功能的目標都是瞄準了開發(fā)面向組件的軟件開發(fā)。5) C#中不再有“:”、“.”、和“-”操作符,僅使用單個操作符“.”。6) C#使用統(tǒng)一的類型系統(tǒng),摒棄了C+多變的類型系統(tǒng)。7) 在C#中,不能在類的外部定義全局函數(shù)、變量或者是常量等。所有的東西都必須封裝在類中,包括實例成員或靜態(tài)成員。從而使C#代碼更加易讀且有助于減少潛在的命名沖突。8) 在C#中,不能使用沒有初始化的變量。從而避免了由于使用不經(jīng)初始化的變量而導致的計算結(jié)果錯誤。3、 C#語言中的數(shù)組類型有何特點?分為幾類?1)數(shù)組一般用于存儲同一種類型的數(shù)據(jù),包括Object類型。2)數(shù)組是一種引用類型,而不是值類型。3)C#中除了可以有一維數(shù)組、多維數(shù)組外,還有交錯型數(shù)組。4、 Directory類提供了哪些目錄管理的功能,它們是通過哪些方法來實現(xiàn)的?Directory類為我們提供了對磁盤和目錄進行管理的功能,如復制、移動、重命名、創(chuàng)建和刪除目錄,獲取和設(shè)置與目錄的創(chuàng)建、訪問及寫入操作相關(guān)的時間信息。如:CreateDirectory方法用于創(chuàng)建指定路徑中的所有目錄;Delete方法用于刪除指定的目錄;Move方法能夠重命名或移動目錄;Exists方法用于確定給定路徑是否引用磁盤上的現(xiàn)有目錄;GetCurrentDirectory方法用于獲取應(yīng)用程序的當前工作目錄;GetFiles方法用于返回指定目錄中的文件的名稱等。5、 C#如何使用try-catch-finally處理可能的代碼異常?6、 簡述裝箱和拆箱的過程。裝箱是將值類型隱式地轉(zhuǎn)換為object類型或者轉(zhuǎn)換為由該值類型實現(xiàn)了的接口類型。裝箱一個數(shù)值會為其分配一個對象實例,并把該數(shù)值拷貝到新對象中。拆箱是顯式地把object類型轉(zhuǎn)換成值類型,或者把值類型實現(xiàn)了的接口類型轉(zhuǎn)換成該值類型。7、 錯誤和異常有什么區(qū)別,為什么要進行異常處理,用于異常處理的語句有哪些? 錯誤是指在執(zhí)行代碼過程中發(fā)生的事件,它中斷或干擾代碼的正常流程并創(chuàng)建異常對象。當錯誤中斷流程時,該程序?qū)L試尋找異常處理程序(一段告訴程序如何對錯誤做出響應(yīng)的代碼),以幫助程序恢復流程。換句話說,錯誤是一個事件,而異常是該事件創(chuàng)建的對象。 當使用短語“產(chǎn)生異?!睍r,表示存在問題的方法發(fā)生錯誤,并創(chuàng)建異常對象(包含該錯誤的信息及發(fā)生的時間和位置)來響應(yīng)該錯誤。導致出現(xiàn)錯誤和隨后異常的因素包括用戶錯誤、資源失敗和編程邏輯失敗。這些錯誤與代碼實現(xiàn)特定任務(wù)的方法有關(guān),而與該任務(wù)的目的無關(guān)。 如果不進行異常處理,即不對錯誤做出響應(yīng),程序的健壯性就會大打折扣,甚至無法保證正常運行,所以必須要進行異常處理。 用于異常處理的語句有:try-catch語句、try-catch-finally語句、throw語句。8、 簡述ADO.NET提供了兩種讀取數(shù)據(jù)庫的方式。ADO.NET提供了兩種讀取數(shù)據(jù)庫的方式。第一種是利用Connetction、Command和 DataReader對象,這種方式只能讀取數(shù)據(jù)庫,不能修改記錄。如果只是想查詢記錄的話,這種方式的效率更高些。第二種是利用Connection、Command、DataAdaPter和Dataset對象,這種方式更靈活,可以對數(shù)據(jù)庫進行各種操作。3、 程序1、 寫出下列程序的功能Static viod f2ref doublea,int nint i;double sum = 0;for (i=0;in;i+)sum+=ai;Sum/=n;for(ai;i=sum)Console.Write(ai+ );Console.WriteLine(); 2、Using System;Class Demoint a;Public Demo (int n)a = 0;Public int M()If(a0)return a-;ElseReturn ();Class Teststatic void Main()Demox=new Demo(0);Int k=x.M();While (k0)Console.Write(”0t“,k*k);K=x.M();結(jié)果:81 64 49 36 25 16 9 4 1 4. 、請設(shè)計一段程序?qū)崿F(xiàn)對列的入列和出列操作,最后輸出對列中的元素,代碼程序using System;using System.Collections.Generic;using System.Text;using System.Collections;namespace ConsoleApplication4 class Program static void Main(string args) Queue queue1 = new Queue(); queue1.Enqueue(CSharp); queue1.Enqueue(1); queue1.Enqueue(new int 1, 2, 3 ); object outItem = new object(); while (queue1.Count 0) outItem = queue1.Dequeue(); Console.WriteLine(0, outItem); Console.ReadLine(); 5、 請設(shè)計一段程序?qū)α械娜霔:统鰲2僮?,最后輸出棧中的元素,代碼如下using System;using System.Collections.Generic;using System.Text;using System.Collections;namespace ConsoleApplication4 class Program static void Main(string args) Stack stack1=new Stack();stack1.Push(Csharp);stack1.Push(1);stack1.Push (new int 1,2,3);Object outItem = new object();While (stack1.Count0)outItem=stack1.Pop();Console.WriteLine(0,outItem);6、 試編寫一段程序,把數(shù)值0,1.,10以二進制的形式寫入文件Data.dat。7、 使用FileStream創(chuàng)建文本文件file.txt,并文件中寫入任一字符中。Static void Main (string args) byte m_bDataWrite = new byte 100; char m_cDataWrite = new char 100;try FileStream m_FileStream = new FileStream (C:file.txt,FileMode.OpenORCreate); m_cDtaWrite = My First File Operation.ToCharArray(); Encoder m_Enc =Encoding.UTF8.GetEncoder(); m_Enc.GetBytes(m_cDataWrite,0,m_cDataWrite.Length,m_bDataWrite,0,true);m_FileStream.Seek(0,SeekOrigin.Begin);m_FileStream.Write(m_bDataWrite,0,m_bDataWrite.Length);catch(IOException ex) Console.WriteLine(There is an IOException); Console.WriteLine (ex.Message); Console.ReadLine ();Return; Console.WriteLine(Write to File Succed!); Console.ReadLine(); return; 4、 綜合題知識點1、 簡述用ADO,NET開發(fā)數(shù)據(jù)庫應(yīng)用程序的基本方法和步驟。編寫控制臺程序,從SQLSewver數(shù)據(jù)庫Student表中,讀取出所有姓”李“學員的姓名。(假設(shè)數(shù)據(jù)庫連接已建立為connection,DBCommand已創(chuàng)建為SqlCommand ,Student表”姓名“列名為StudentName)。2、 簡述用ADO.NET開發(fā)數(shù)據(jù)庫應(yīng)用程序的基本方法和步驟。設(shè)現(xiàn)有一SQL Server數(shù)據(jù)庫服務(wù)器中Student數(shù)據(jù)庫,請設(shè)計某類中一個方法實現(xiàn)數(shù)據(jù)庫連接,寫出主要程序代碼使用ADO.NET開發(fā)數(shù)據(jù)庫應(yīng)用程序一般可分為以下幾個步驟。(1)根據(jù)使用的數(shù)據(jù)源,確定使用哪種.NET Framework數(shù)據(jù)提供程序。(2)建立與數(shù)據(jù)源的連接,需要使用Connection對象。(3)執(zhí)行對數(shù)據(jù)源的操作命令,通常使用Command對象。(4)使用數(shù)據(jù)集對獲得的數(shù)據(jù)進行操作,需要使用DataReader、DataSet等對象。(5)顯示數(shù)據(jù),需要使用數(shù)據(jù)控件。數(shù)據(jù)庫連接using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;namespace SqlConnApp class SqlConnApp static void Main(string args) /得到一個SqlConnection SqlConnection myCon = new SqlConnection(); /構(gòu)造連接字符串 myCon.ConnectionString = Data Source=
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院科室調(diào)整申請書(6篇)
- 從細節(jié)出發(fā)如何通過標準化的操作提升實驗效率
- 冰雪運動中的自我認知與挑戰(zhàn)
- 農(nóng)產(chǎn)品加工機械市場的消費者偏好調(diào)研
- 辦公室學習文化的建立與習慣養(yǎng)成
- 農(nóng)村學校衛(wèi)生與健康教育情況分析
- 2025超市水果供貨合同協(xié)議書范本
- 2025民間個人之間借款合同范本
- 產(chǎn)品設(shè)計的情感化與技術(shù)化平衡
- 創(chuàng)業(yè)企業(yè)融資策略的多元途徑與實踐
- GB/T 5195.2-2006螢石碳酸鹽含量的測定
- GB/T 242-2007金屬管擴口試驗方法
- GB/T 20878-2007不銹鋼和耐熱鋼牌號及化學成分
- 政教主任校會講話稿(三)
- 湖南省家庭經(jīng)濟困難學生認定申請表
- 陸游-(生平)知識講解課件
- 外研版四年級英語下冊全冊復習教案
- 臨床試驗方案模板
- 醫(yī)療糾紛預防和處理條例相關(guān)知識考核試題及答案
- 食品化學復習題(附答案)
- 新概念英語第一冊教師用書
評論
0/150
提交評論