嵌入式編程技術(shù)課程課件PPT_第1頁
嵌入式編程技術(shù)課程課件PPT_第2頁
嵌入式編程技術(shù)課程課件PPT_第3頁
嵌入式編程技術(shù)課程課件PPT_第4頁
嵌入式編程技術(shù)課程課件PPT_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章 編制簡單c#應(yīng)用程序1 C#的由來 微軟于2000 年6 月26 日正式發(fā)布了C#。C#是一種最新的、面向?qū)ο蟮木幊陶Z言。C#使得程序員可以在 Microsoft 開發(fā)的最新的 .NET 平臺上快速地編寫Windows應(yīng)用程序,而且 Microsoft .NET 提供了一系列的工具和服務(wù)來最大程度地開發(fā)和利用計算與通信領(lǐng)域。1.1 C#語言簡介 2 C#的特點 1)語法簡潔易用 2)能與 Web結(jié)合緊密3)具備.NET的自動的資源回收機(jī)制 4)具備完整的安全性與完善的異常處理機(jī)制5)版本可控(Versionable)6)具備良好的靈活性和兼容性 1.1 C#語言簡介 .NET 是Mic

2、rosoft XML Web services 平臺。強(qiáng)大的集成開發(fā)環(huán)境(IDE)Visual Studio .NET。XML Web services 允許應(yīng)用程序通過 Internet進(jìn)行通訊和共享數(shù)據(jù)。.NET 的核心是 Microsoft .NET Framework(微軟 .NET 框架體系)。2 .NET開發(fā)平臺 1 創(chuàng)建項目 (1) 打開VS2010集成開發(fā)環(huán)境。 (2) 創(chuàng)建項目,方法有3種:第一種在【起始頁】中單擊【創(chuàng)建】選項中【項目】創(chuàng)建;第 2 種方法是單擊【文件】菜單,選擇【新建】|【項目】創(chuàng)建;第3 種方法是單擊工具欄上的第 1 個【新建】按鈕,選擇【項目】創(chuàng)建。單擊

3、【項目】按鈕后,將顯示【新建項目】對話框,如圖 1.9 所示。 (3) 在【項目類型】框內(nèi)選中【Visual C#】項目下的【W(wǎng)indows窗體應(yīng)用程序】選項。 (4) 在【模板】列表框內(nèi)選擇【W(wǎng)indows窗體應(yīng)用程序】或者【控制臺應(yīng)用程序】項。 本書將重點介紹“Windows 窗體應(yīng)用程序”和“控制臺應(yīng)用程序”的編寫,請讀者熟記這兩種應(yīng)用程序的創(chuàng)建方法。 (5) 單擊【位置】文本框右邊的【瀏覽】按鈕,選擇一個文件夾對項目進(jìn)行保存或者直接在文本框內(nèi)進(jìn)行手動更改。 (6) 在【名稱】文本框內(nèi),項目名稱默認(rèn)為“ConsoleApplication1”或“WindowsFormsApplicati

4、on1”,可以根據(jù)實際情況把項目名稱改為自己喜歡的名字。 (7) 單擊窗口右下角的【確定】按鈕,建立所要編寫的應(yīng)用程序。 注意:前面的 項目創(chuàng)建的7個步驟是創(chuàng)建【W(wǎng)indows 應(yīng)用程序】或者【控制臺應(yīng)用程序】所必須要做的相同的準(zhǔn)備工作。1.3 第一個控制臺應(yīng)用程序1.3 第一個控制臺應(yīng)用程序2 創(chuàng)建第一個控制臺應(yīng)用程序 【任務(wù)1-1】 編寫第一個控制臺應(yīng)用程序。1. 任務(wù)要求:1、在C盤根目錄下新建一個自己學(xué)號姓名的文件夾;2、在自己的學(xué)號文件夾下創(chuàng)建第一個控制臺應(yīng)用程序helloc(項目名稱);3、控制臺應(yīng)用程序完成的功能是:輸出字符串“這是我的第一個控制臺應(yīng)用程序!”2. 創(chuàng)建步驟控制臺

5、應(yīng)用程序的步驟: (1) 根據(jù)上述創(chuàng)建【控制臺應(yīng)用程序】的方法創(chuàng)建【名稱】為“helloc”的控制臺應(yīng)用程序。 (2) 創(chuàng)建好后在開發(fā)環(huán)境界面的項目設(shè)計區(qū)顯示的是【代碼】窗口。 在開發(fā)環(huán)境界面的浮動面板區(qū)??康拇翱?【解決方案資源管理器】生成名稱為“helloc”的解決方案。如圖 1.10 所示。 (3) 在代碼static void Main(string args)后面的兩個大括號之間輸入代碼 Console.WriteLine(這是我的第一個控制臺應(yīng)用程序!);;如圖 1.11 所示,這是用來運行顯示“這是我的第一個控制臺應(yīng)用程序!”的代碼。(4) 為了防止程序運行完畢后控制臺窗口自動關(guān)

6、閉。需要再輸入代碼: Console.ReadLine();否則程序運行完畢會自動關(guān)閉控制臺窗口,因為運行速度快而看不到結(jié)果。1.3 第一個控制臺應(yīng)用程序3 編寫第一個Windows應(yīng)用程序【任務(wù)1-2】 編寫第一個Windows窗體應(yīng)用程序1.任務(wù)要求:在自己的學(xué)號文件夾下創(chuàng)建第一個Windows應(yīng)用程序helloworld,實現(xiàn)功能功能:當(dāng)單擊“確定”按鈕時,上方的文本框中將彈出“恭喜,你會編寫C#程序了!”界面如下圖4.13所示。1.3 第一個控制臺應(yīng)用程序第二章 常用標(biāo)準(zhǔn)控件1. 調(diào)用控件 在創(chuàng)建窗體應(yīng)用程序時,需要使用某一控件,只要單擊工具箱中相應(yīng)的按鈕,然后在窗體上拖動出相應(yīng)大小的

7、矩形框,窗體上就會生成一個大小相對應(yīng)的控件。 具體的操作過程如下。 (1) 點擊工具欄上 圖標(biāo),打開工具箱。(2) 在工具箱中找到需要的控件,單擊該按鈕,這一按鈕呈現(xiàn)被按下狀態(tài),表明被選定。 (2) 將鼠標(biāo)移動到控件上,這時鼠標(biāo)的指針變成十字形并帶有該控件的形狀,移動到需要放置的的位置,然后點擊鼠標(biāo)左鍵。(3) 點擊控件,控件上出現(xiàn)帶小方格的虛線框,鼠標(biāo)呈帶箭頭的十字時可以移動控件,調(diào)整位置,移動鼠標(biāo)至控件邊界虛線框可以調(diào)整控件的大小。2.1 調(diào)用和調(diào)整控件 2. 調(diào)整空間尺寸與位置 移動鼠標(biāo),點擊需要調(diào)整的控件,可以選中窗體上添加的控件,在控件的四周出現(xiàn)的小矩形框虛線框稱為尺寸手柄。可用這些

8、尺寸手柄調(diào)節(jié)控件的尺寸,也可用鼠標(biāo)、鍵盤和菜單命令移動控件、鎖定和解鎖控件位置以及調(diào)節(jié)控件位置。 選中控件,然后移動鼠標(biāo)至虛線邊框的尺寸手柄上,這時鼠標(biāo)指針會變成雙箭頭形。按住鼠標(biāo)左鍵,移動鼠標(biāo)可以調(diào)整控件大小。在調(diào)整Windows窗體是用法一樣。調(diào)整控件的位置時,可以使用上述方法,按住鼠標(biāo)移動,也可以在出現(xiàn)尺寸手柄時按鍵盤上的方向鍵來實現(xiàn),調(diào)整控件到適當(dāng)?shù)奈恢?。調(diào)整控件大小和位置,也可以在選中控件后,在其屬性窗口中修改 Size 屬性和 Location 屬性,可以精確的實現(xiàn)控件尺寸與位置的調(diào)整。 在 Visual Stdio.NET 提供了控件之間的對齊基準(zhǔn)線,當(dāng)移動一個控件到與另一個控件

9、平行或垂直位置時,Visual Stdio.NET 會自動將2個或多個控件對齊到同一直線。 2.1 調(diào)用和調(diào)整控件 3.多控件布局1) 快速生成多個控件 打開工具箱,在工具箱中直接雙擊所需要的控件按鈕,就會在當(dāng)前窗體上生成一個個默認(rèn)大小的控件2) 調(diào)整疊放次序 如果兩個控件的范圍有重疊,默認(rèn)循序是后放到窗體上的控件將被視為上層,將覆蓋與它重疊的下層控件的部分??梢渣c擊鼠標(biāo)右鍵,彈出菜單選項【置于頂層】【置于底層】來修改層次位置,也可以通過【格式】|【順序】菜單命令下的【置于頂層】【置于底層】來調(diào)整。其中【置于頂層】將被選控件設(shè)置為上層,而【置于底層】將被選控件設(shè)置為下層。 也可以點擊布局工具欄

10、中的 來調(diào)整。3) 選擇多個控件在窗體上選擇多個控件的方法有以下幾種:A選擇其中一個控件后,按住Ctrl 鍵或 Shift 鍵,再依次點擊需要選擇的其他控件,選定的控件都會出現(xiàn)尺寸權(quán)柄。B也可以在窗體上選定一個位置按住鼠標(biāo)左鍵拖出一個矩形框,松開鼠標(biāo)后框內(nèi)選定框內(nèi)所有控件。這時如果按住鼠標(biāo)左鍵移動鼠標(biāo),可以同時移動選定的多個控件。也可以拖動尺寸權(quán)柄,同時調(diào)整多個控件的尺寸的大小。2.1 調(diào)用和調(diào)整控件 1、控件常用屬性:(1)Name 屬性:用來獲取或設(shè)置窗體的名稱,在應(yīng)用程序中可通過Name 屬性來引用窗體。(2) WindowState 屬性: 用來獲取或設(shè)置窗體的窗口狀態(tài)。取值有三種:

11、Normal (窗體正常顯示)、Minimized(窗體以最小化形式顯示)和Maximized(窗體以最大化形式顯示)。(3)StartPosition 屬性:用來獲取或設(shè)置運行時窗體的起始位置。(4)Text 屬性:該屬性是一個字符串屬性,用來設(shè)置或返回在窗口標(biāo)題欄中顯示的文字。(5)Width 屬性:用來獲取或設(shè)置窗體的寬度。(6)Height 屬性:用來獲取或設(shè)置窗體的高度。(7)Left 屬性:用來獲取或設(shè)置窗體的左邊緣的x 坐標(biāo)(以像素為單位)。(8)Top 屬性:用來獲取或設(shè)置窗體的上邊緣的y 坐標(biāo)(以像素為單位)。(9)ControlBox 屬性:用來獲取或設(shè)置一個值,該值指示在

12、該窗體的標(biāo)題欄中是否顯示控制框。值為true時將顯示控制框,值為false 時不顯示控制框。(10)MaximizeBox 屬性:用來獲取或設(shè)置一個值,該值指示是否在窗體的標(biāo)題欄中顯示最大化按鈕。值為true 時顯示最大化按鈕,值為false 時不顯示最大化按鈕。2.2 常用控件的使用 (11)MinimizeBox 屬性:用來獲取或設(shè)置一個值,該值指示是否在窗體的標(biāo)題欄中顯示最小化按鈕。值為true 時顯示最小化按鈕,值為false 時不顯示最小化按鈕。(12)AcceptButton 屬性:該屬性用來獲取或設(shè)置一個值,該值是一個按鈕的名稱,當(dāng)按Enter 鍵時就相當(dāng)于單擊了窗體上的該按鈕。

13、(13)CancelButton 屬性:該屬性用來獲取或設(shè)置一個值,該值是一個按鈕的名稱,當(dāng)按Esc 鍵時就相當(dāng)于單擊了窗體上的該按鈕。(14)Modal 屬性:該屬性用來設(shè)置窗體是否為有模式顯示窗體。如果有模式地顯示該窗體,該屬性值為true;否則為false。當(dāng)有模式地顯示窗體時,只能對模式窗體上的對象進(jìn)行輸入。必須隱藏或關(guān)閉模式窗體(通常是響應(yīng)某個用戶操作),然后才能對另一窗體進(jìn)行輸入。有模式顯示的窗體通常用做應(yīng)用程序中的對話框。(15)ActiveControl 屬性:用來獲取或設(shè)置容器控件中的活動控件。窗體也是一種容器控件。(16)ActiveMdiChild 屬性:用來獲取多文檔界

14、面(MDI)的當(dāng)前活動子窗口。2.2 常用控件的使用 (17)AutoScroll 屬性:用來獲取或設(shè)置一個值,該值指示窗體是否實現(xiàn)自動滾動。如果此屬性值設(shè)置為true,則當(dāng)任何控件位于窗體工作區(qū)之外時,會在該窗體上顯示滾動條。另外,當(dāng)自動滾動打開時,窗體的工作區(qū)自動滾動,以使具有輸入焦點的控件可見。(18)BackColor 屬性:用來獲取或設(shè)置窗體的背景色。(19)BackgroundImage 屬性:用來獲取或設(shè)置窗體的背景圖像。(20)Enabled 屬性:用來獲取或設(shè)置一個值,該值指示控件是否可以對用戶交互作出響應(yīng)。如果控件可以對用戶交互作出響應(yīng),則為true;否則為false。默認(rèn)

15、值為true。(21)Font 屬性:用來獲取或設(shè)置控件顯示的文本的字體。(22)ForeColor 屬性:用來獲取或設(shè)置控件的前景色。(23)IsMdiChild 屬性:獲取一個值,該值指示該窗體是否為多文檔界面(MDI)子窗體。值為true 時,是子窗體,值為false 時,不是子窗體。2.2 常用控件的使用 (24)IsMdiContainer 屬性:獲取或設(shè)置一個值,該值指示窗體是否為多文檔界面(MDI)中的子窗體的容器。值為true 時,是子窗體的容器,值為false 時,不是子窗體的容器。(25)KeyPreview 屬性:用來獲取或設(shè)置一個值,該值指示在將按鍵事件傳遞到具有焦點的

16、控件前,窗體是否將接收該事件。值為true 時,窗體將接收按鍵事件,值為false 時,窗體不接收按鍵事件。(26)MdiChildren 屬性:數(shù)組屬性。數(shù)組中的每個元素表示以此窗體作為父級的多文檔界面(MDI)子窗體。(27)MdiParent 屬性:用來獲取或設(shè)置此窗體的當(dāng)前多文檔界面(MDI)父窗體。(28)ShowInTaskbar 屬性:用來獲取或設(shè)置一個值,該值指示是否在Windows 任務(wù)欄中顯示窗體。(29)Visible 屬性:用于獲取或設(shè)置一個值,該值指示是否顯示該窗體或控件。值為true時顯示窗體或控件,為false 時不顯示。(30)Capture 屬性:如果該屬性值

17、為true,則鼠標(biāo)就會被限定只由此控件響應(yīng),不管鼠標(biāo)是否在此控件的范圍內(nèi)2、常用方法(1)Show 方法:該方法的作用是讓窗體顯示出來,其調(diào)用格式為: 窗體名.Show();其中窗體名是要顯示的窗體名稱。(2)Hide 方法:該方法的作用是把窗體隱藏出來,其調(diào)用格式為: 窗體名.Hide();其中窗體名是要隱藏的窗體名稱。(3)Refresh 方法:該方法的作用是刷新并重畫窗體,其調(diào)用格式為: 窗體名.Refresh();其中窗體名是要刷新的窗體名稱。(4)Activate 方法:該方法的作用是激活窗體并給予它焦點。其調(diào)用格式為: 窗體名.Activate();其中窗體名是要激活的窗體名稱。(

18、5)Close 方法:該方法的作用是關(guān)閉窗體。其調(diào)用格式為:窗體名.Close();其中窗體名是要關(guān)閉的窗體名稱。(6)ShowDialog 方法:該方法的作用是將窗體顯示為模式對話框。其調(diào)用格式為:窗體名.ShowDialog();2.2 常用控件的使用 3常用事件(1)Load 事件:該事件在窗體加載到內(nèi)存時發(fā)生,即在第一次顯示窗體前發(fā)生。(2)Activated 事件:該事件在窗體激活時發(fā)生。(3)Deactivate 事件:該事件在窗體失去焦點成為不活動窗體時發(fā)生。(4)Resize 事件:該事件在改變窗體大小時發(fā)生。(5)Paint 事件:該事件在重繪窗體時發(fā)生。(6)Click 事

19、件:該事件在用戶單擊窗體時發(fā)生。(7)DoubleClick 事件:該事件在用戶雙擊窗體時發(fā)生。(8)Closed 事件:該事件在關(guān)閉窗體時發(fā)生。2.2 常用控件的使用 第三章 C#編程基礎(chǔ) 關(guān)鍵字3.1 C#中的關(guān)鍵字和標(biāo)志符AbstractAsBaseBoolbreakByteCharCheckedClassConstContinueDecimalIfGotoForeachForFloatFixedExternExplicitEventEnumElseDoubleImplicitIntInterfaceInternalIsLockNewNullObjectOperatorOutOverri

20、deStaticStachallocSizeofShortScaledSbyteReadonlyPublicProtectedPrivateParamsSwitchTrueTryTypeofUnitUlongUncheckedUsingWhileVoidVirtualCaseInThrowFalseCatchLongDefaultNamespaceUshortReturnDelegateStructThisDoStringRefUnsafeFinally2 標(biāo)志符標(biāo)識符命名的規(guī)范:(1)只能由字母、數(shù)字、漢字、下劃線組成,且必須以字母或下劃線開頭。如abc12,_abc等,如使用1a作為標(biāo)志符

21、就是錯誤的,應(yīng)該a1。(2)為了提高程序可讀性與記憶性,標(biāo)識符要有一定的意義。在標(biāo)志符命名時,盡可能做到“見名知意”,可以提高程序的可讀性,使得設(shè)計的程序可讀性高,易懂。(3)用戶定義的標(biāo)識符不能與C#語言的關(guān)鍵字(保留字)同名。前面關(guān)鍵字的時候提到關(guān)鍵字是C#編譯系統(tǒng)預(yù)定義的保留標(biāo)志符,程序設(shè)計中定義標(biāo)志符不能使用關(guān)鍵字,否則會報錯,編譯失敗。(4)C#對標(biāo)識符的大小寫敏感,一定要注意大小寫一致。比如定義一個標(biāo)志符為Abc,在使用這個標(biāo)志符時,寫成abc,就會報錯,這兩個是不同的標(biāo)志符,而不是一個標(biāo)志符。(5)標(biāo)志符中不能包含空格。3.1 C#中的關(guān)鍵字和標(biāo)志符3 C#的兩種命名約定C#的兩

22、種命名約定:CamelCase和PascalCase3.1 C#中的關(guān)鍵字和標(biāo)志符3.2 數(shù)據(jù)類型1 簡單數(shù)組(一 維 數(shù) 組)(一)一維數(shù)組的聲明與創(chuàng)建1數(shù)組的聲明 數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),它可以包含同一個類型的多個元素。在 C中,聲明一維數(shù)組的方式是在類型名稱后添加一對方括號,如下所示: 數(shù)據(jù)類型 數(shù)組名例: int myArray; /定義了一個整型數(shù)組 myArray。聲明一個數(shù)組時不需要先確定數(shù)組的長度,數(shù)組的大小不是其類型的類容。2數(shù)組初始化 聲明了數(shù)組之后,就必須為數(shù)組分配內(nèi)存,以保存數(shù)組的所有元素。數(shù)組是引用類型,所以必須給它分配堆上的內(nèi)存。為此,應(yīng)使用new運算符,指定數(shù)組中元素

23、的類型和數(shù)量來初始化數(shù)組的變量。如下所示: 數(shù)組名 = new 數(shù)據(jù)類型數(shù)組大小表達(dá)式 3.3 數(shù)組(二)一維數(shù)組的初始化 前面講了數(shù)組的聲明,在C#中聲明數(shù)組的同時也可以對其進(jìn)行初始化,只需將初始值放在大括號“”內(nèi)即可,表達(dá)式如下所示: 數(shù)據(jù)類型 數(shù)組名 = new 數(shù)據(jù)類型 初值表其中,初值表中的初始數(shù)據(jù)用逗號分隔。例如,將上面聲明語句初始化(這種情況下,數(shù)組的長度由大括號中的元素個數(shù)來確定),其中每個數(shù)組元素被初值表中的數(shù)據(jù)初始化。 例:int myArray = new int 1, 3, 5, 7; 3.3 數(shù)組(三)一維數(shù)組的元素的訪問 在聲明和初始化數(shù)組之后,可以使用索引器訪問其

24、中的元素。數(shù)組只支持有整型參數(shù)的索引器。索引器總是以0開頭,表示第一個元素??梢詡鬟f給索引器的最大值是元素個數(shù)減1,因為索引從0開始。訪問一維數(shù)組元素的方式為: 數(shù)組名索引 比如上面的初始化的例子:int arr = 1, 3, 5, 7; 執(zhí)行后,各處元素按順序排列如圖 3.3所示。 圖3.3 數(shù)組元素排列圖 3.3 數(shù)組對數(shù)組進(jìn)行賦值時,可以像訪問變量的形式直接給數(shù)組元素賦值,也可以使用循環(huán)語句給每個元素賦值,例:int a = new int4; a0 = 8; /給a0賦值8 a4 = a0; /給a4賦值a0,最終a4也將獲得整數(shù)8的值程序分析:上面的語句定義、創(chuàng)建一個大小為 4的整

25、型數(shù)組 a,并給數(shù)組元素 a0、a4賦值: 3.3 數(shù)組1 C#中的變量在計算機(jī)系統(tǒng)中,處理的數(shù)據(jù)是存在存儲器中的,存儲單元可以用一個名稱,也就是一個標(biāo)志符來表示,比如我們要計算55+60,55和60都是存在于存儲單元中的,我們定義X和Y,并用X代表55,Y代表60,則上面的式子可以寫成X+Y。所以在程序設(shè)計中,變量可以用于保存程序運行過程中的輸入數(shù)據(jù)、計算的結(jié)果值及其中間數(shù)據(jù)等。變量的聲明格式:在C#中,變量必須先定義后使用,其聲明格式為:格式1:變量修飾符 類型說明符 變量名1=初值1,變量名2=初值2,;格式2:變量修飾符 類型說明符 變量名1,變量名2,;3.4 變量和常量2 常量“常

26、量”的廣義概念是:不變化的量(利如:在計算機(jī)程序運行時,不會被程序修改的量;數(shù)學(xué)函數(shù)中的某一個量,例如每一個具體的圓的半徑、直徑數(shù)值;物理學(xué)中的靠近地面的重力加速度;真空中的光速數(shù)值;不同的微粒的各自的質(zhì)量)換言之,常量,在計算機(jī)技術(shù)方面雖然是為了硬件、軟件、編程語言服務(wù),但是它并不是專門為硬件、軟件、編程語言而引入的概念。常量可區(qū)分為不同的類型,如:25、0、-8為整型常量,6.8、-7.89為實型常量,a、b為字符常量??偠灾A烤褪撬4娴闹凳冀K保持不變的存儲單元的名稱。常量的聲明格式為:常量修飾符 const 類型說明符 變量名=常量表達(dá)式;3.4 變量和常量1隱式類型轉(zhuǎn)換隱式轉(zhuǎn)換就

27、是系統(tǒng)默認(rèn)的、不需要加以聲明就可以進(jìn)行的轉(zhuǎn)換。實現(xiàn)的是將一種類型轉(zhuǎn)換為另一種類型的過程中不需要人為的添加代碼去實現(xiàn),編譯器無需對轉(zhuǎn)換進(jìn)行詳細(xì)檢查就能夠安全地執(zhí)行轉(zhuǎn)換。比如從int類型轉(zhuǎn)換到long類型就是一種隱式轉(zhuǎn)換。隱式轉(zhuǎn)換一般不會失敗,轉(zhuǎn)換過程中也不會導(dǎo)致信息丟失。例: int i=10;long j=i;3.5 C#的隱式類型轉(zhuǎn)換和顯式類型轉(zhuǎn)換隱式數(shù)值轉(zhuǎn)換包括以下幾種:從sbyte類型到short,int,long,float,double,或decimal類型。從byte類型到short,ushort,int,uint,long,ulong,float,double,或decimal類

28、型。從short類型到int,long,float,double,或decimal類型。從ushort類型到int,uint,long,ulong,float,double,或decimal類型。從int類型到long,float,double,或decimal類型。從uint類型到long,ulong,float,double,或decimal類型。從long類型到float,double,或decimal類型。從ulong類型到float,double,或decimal類型。從char類型到ushort,int,uint,long,ulong,float,double,或decimal類型

29、。3.5 C#的隱式類型轉(zhuǎn)換和顯式類型轉(zhuǎn)換2 C#的顯式類型轉(zhuǎn)換顯式類型轉(zhuǎn)換,又叫強(qiáng)制類型轉(zhuǎn)換。與隱式轉(zhuǎn)換正好相反,顯式轉(zhuǎn)換需要用戶明確地指定轉(zhuǎn)換的類型。比如要把一個long型轉(zhuǎn)化成int型,或者把一個數(shù)字轉(zhuǎn)化成字符型。例: long l=5000;int i=(int)l;顯式轉(zhuǎn)換的適用用于高精度向低精度數(shù)據(jù)類型的轉(zhuǎn)換,一般格式如下: 格式1:(數(shù)據(jù)類型)表達(dá)式; 格式2: 數(shù)據(jù)類型.Parse(); 格式3: 變量(表達(dá)式).ToSring();3.5 C#的隱式類型轉(zhuǎn)換和顯式類型轉(zhuǎn)換運算符類別運算符基本算術(shù)運算+ - * / % !遞增、遞減+ -位移邏輯& | ! - & |賦值= +

30、= -= *= /= %= &= |= = =關(guān)系= != =字符串串聯(lián)+成員訪問索引 轉(zhuǎn)換( )條件運算?:3.6運算符與表達(dá)式運算符和表達(dá)式是程序的基本構(gòu)成,程序的任務(wù)是對數(shù)據(jù)進(jìn)行處理,數(shù)據(jù)是程序處理的對象,而運算符是施加給這些數(shù)據(jù)的操作。數(shù)據(jù)和運算符是表達(dá)式的基本元素。表達(dá)式由變量、常量、運算符、函數(shù)和圓括號按一定的規(guī)則組合而成。 第四章 條件判斷與循環(huán)控制語句1 簡單if語句C#中if語句是指編程語言中用來判定所給定的條件是否滿足,根據(jù)判定的結(jié)果(真或假)決定執(zhí)行給出的兩種操作之一。其一般形式為:if(表達(dá)式)語句塊4.1條件判斷語句2 ifelse語句當(dāng)判斷語句只存在兩種結(jié)果時,可以

31、使用ifelse語句來實現(xiàn)。其變現(xiàn)形式為:if(條件) 語句塊1; else 語句塊2; 4.1條件判斷語句3 ifelse if當(dāng)判斷存在多種可能結(jié)果時,可以使用ifelse if語句來實現(xiàn),其表現(xiàn)形勢如下:if (條件1) /語句1else if (條件2) /語句2else if (條件n) /語句n4.1條件判斷語句在ifelse if語句中,if 塊和 else if 塊本質(zhì)上是互斥的,也就是說,一旦語句1得到了執(zhí)行,程序會跳過 else if 塊,else if 塊中的判斷語句以及語句2一定會被跳過;同時語句2的執(zhí)行也暗含了條件1判斷失敗和語句1沒有執(zhí)行;當(dāng)然還有第3個情況,就是條

32、件1和條件2都判斷失敗,語句1和語句2都沒有得到執(zhí)行,以此類推。4 switch語句Switch語句又稱為“開關(guān)語句”,作用是實現(xiàn)多分支的開關(guān)語句,和if語句相比局有直觀簡介的特點,當(dāng)條件相當(dāng)多時,用ifelse及其嵌套語句,使得程序的可讀性變差,switch語句用來處理復(fù)雜的條件判斷。其一般語法格式如下:switch(表達(dá)式) case 表達(dá)式的值1: 待執(zhí)行的一系列語句; break; case 表達(dá)式的值n: 待執(zhí)行的一系列語句; break; default: 待執(zhí)行的一系列語句; break; 4.1條件判斷語句1 while 語句while是計算機(jī)的一種基本循環(huán)模式,判斷一個條件表

33、達(dá)式,以便決定是否進(jìn)入和執(zhí)行循環(huán)體,當(dāng)滿足該條件時進(jìn)行循環(huán),不滿足該條件時則跳出循環(huán)程序流程圖如4.11。 while語句的一般表達(dá)式為: while (表達(dá)式) 語句塊(又稱循環(huán)體) 4.2 循環(huán)語句2 dowhile 語句 dowhile 語句的表現(xiàn)形式為: do 語句塊 while (表達(dá)式);4.2 循環(huán)語句3 for語句 for (表達(dá)式 1;表達(dá)式2;表達(dá)式3) 語句塊(循環(huán)體) 4.2 循環(huán)語句在一個循環(huán)體語句中又包含另一個循環(huán)語句,稱為循環(huán)嵌套,包含的另一個循環(huán)語句車位內(nèi)嵌的循環(huán),其還可以嵌套循環(huán),稱為多層循環(huán),之前學(xué)習(xí)的循環(huán)(while 循環(huán)、dowhile 循環(huán)和 for

34、循環(huán))可以互相嵌套使用,使用時需要注意一下幾點。使用循環(huán)嵌套時,內(nèi)層循環(huán)和外層循環(huán)的循環(huán)控制變量不能相同。循環(huán)嵌套結(jié)構(gòu)的書寫,最好采用“右縮進(jìn)”格式,以體現(xiàn)循環(huán)層次的關(guān)系。盡量避免太多和太深的循環(huán)嵌套結(jié)構(gòu)。4.3 循環(huán)的嵌套 foreach 語句的表現(xiàn)形式如下: foreach (類型 標(biāo)識符 in 表達(dá)式) 循環(huán)體 4.4 foreach 語句 第五章 C#面向?qū)ο缶幊填惡蛯ο笫敲嫦驅(qū)ο蟮某绦蛟O(shè)計語言的核心和本質(zhì)。類實際上定義了一種嶄新的數(shù)據(jù)類型。類表示對現(xiàn)實生活中一類具有共同特征的事物的抽象,對象是具體的類,是類的實例化。它描述了一組有相同特性(數(shù)據(jù)元素)和相同行為(方法)的對象,具有封裝

35、性、繼承性和多態(tài)性等特性。5.1 類和對象的概念類定義:(1)語法格式: 類型修飾 class 類名 :基類 類體(類成員); (2)類定義時的注意點:關(guān)鍵字class中的c為小寫字母,在關(guān)鍵字class之前,可以指定類的特性和修飾符,用來控制類的可訪問性等;類名一般由名詞或名詞短語構(gòu)成,一般首字母大寫;類體中可以對常量、字段、方法、屬性、事件、索引器、運算符、構(gòu)造函數(shù)和析構(gòu)函數(shù)等進(jìn)行定義。5.1 類和對象的概念5.2 類的成員成員說明常量與類關(guān)聯(lián)的常數(shù)值字段類的變量方法類可執(zhí)行的計算和操作屬性與讀寫類的命名屬性相關(guān)聯(lián)的操作索引器與以數(shù)組方式索引類的實例相關(guān)聯(lián)的操作事件可由類生成的通知運算符類

36、所支持的轉(zhuǎn)換和表達(dá)式運算符構(gòu)造函數(shù)初始化類的實例或類本身所需的操作析構(gòu)函數(shù)在永久丟棄類的實例之前執(zhí)行的操作類型類所聲明的嵌套類型類的每個成員都有關(guān)聯(lián)的可訪問性,它控制能夠訪問該成員的程序文本區(qū)域。有五種可能的可訪問性形式。下表5.2概述了這些可訪問性。5.2 類的成員可訪問性含義public訪問不受限制protected訪問僅限于此類和從此類派生的類internal訪問僅限于此程序protected internal訪問僅限于此程序和從此類派生的類private訪問僅限于此類1.字段字段是與類或類的實例關(guān)聯(lián)的變量。使用 static 修飾符聲明的字段定義了一個靜態(tài)字段 (static fiel

37、d)。一個靜態(tài)字段只標(biāo)識一個存儲位置。對一個類無論創(chuàng)建了多少個實例,它的靜態(tài)字段永遠(yuǎn)都只有一個副本。2. 方法方法 (method) 是一種用于實現(xiàn)可以由對象或類執(zhí)行的計算或操作的成員。3. 參數(shù)參數(shù)用于向方法傳遞值或變量引用。方法的參數(shù)從方法被調(diào)用時指定的實參 (argument) 獲取它們的實際值。有四種類型的參數(shù):值參數(shù)、引用參數(shù)、輸出參數(shù)和參數(shù)數(shù)組。5.2 類的成員4.方法體和局部變量方法體指定了在該方法被調(diào)用時將執(zhí)行的語句,可以聲明僅用在該方法調(diào)用中的變量。這樣的變量稱為局部變量 (local variable)。局部變量聲明指定了類型名稱、變量名稱,還可指定初始值。5. 靜態(tài)方法和

38、實例方法使用 static 修飾符聲明的方法為靜態(tài)方法 (static method)。靜態(tài)方法不對特定實例進(jìn)行操作,并且只能訪問靜態(tài)成員。5.2 類的成員6. 虛方法、重寫方法和抽象方法若一個實例方法的聲明中含有 virtual 修飾符,則稱該方法為虛方法 (virtual method)。若其中沒有 virtual 修飾符,則稱該方法為非虛方法 (non-virtual method)。7.方法重載方法重載 (overloading) 允許同一類中的多個方法具有相同名稱,條件是這些方法具有唯一的簽名。在編譯一個重載方法的調(diào)用時,編譯器使用重載決策 (overload resolution) 確定要調(diào)用的特定方法。重載決策將查找與參數(shù)最佳匹配的方法,如果沒有找到任何最佳匹配的方法則報告錯誤信息。5.2 類的成員8.其他函數(shù)成員其他函數(shù)成員包含可執(zhí)行代碼的成員統(tǒng)稱為類的函

溫馨提示

  • 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

提交評論