




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Tuesday, October, 13, 2009第3章 C#程序設(shè)計(jì)基礎(chǔ) 教學(xué)目標(biāo)本章將詳細(xì)介紹C#的基本語(yǔ)法,包括數(shù)據(jù)類(lèi)型、變量、運(yùn)算符和表達(dá)式、流程控制語(yǔ)句、類(lèi)型轉(zhuǎn)換等內(nèi)容。通過(guò)本章的學(xué)習(xí),讀者應(yīng)該掌握C#語(yǔ)言的基本語(yǔ)法,學(xué)會(huì)使用復(fù)雜的變量類(lèi)型和所以流程控制結(jié)構(gòu),為后面的學(xué)習(xí)打下良好的基礎(chǔ) 教學(xué)重點(diǎn) C#的基本語(yǔ)法 變量及其用法 表達(dá)式及其用法 類(lèi)型轉(zhuǎn)換 流程控制 整數(shù)類(lèi)型osbyte、byte、short、ushort、int、uint、long、ulong 浮點(diǎn)數(shù)類(lèi)型ofloat、double和 decimal 其它數(shù)據(jù)類(lèi)型ochar、bool、string簡(jiǎn)單數(shù)據(jù)類(lèi)型 變量 聲明
2、方法 ; 命名規(guī)則 o變量名的第一個(gè)字符必須是字母、下劃線(xiàn)(_)或,其后的字符可以是字母、下劃線(xiàn)或數(shù)字 o不能使用C#關(guān)鍵字oC#是區(qū)分大小寫(xiě)的 變量的賦值o變量的賦值是通過(guò)賦值運(yùn)算符來(lái)完成o轉(zhuǎn)義字符 運(yùn)算符與表達(dá)式 算術(shù)運(yùn)算符 賦值運(yùn)算符 關(guān)系運(yùn)算符 邏輯運(yùn)算符 位運(yùn)算符 布爾賦值運(yùn)算符a.運(yùn)算符的優(yōu)先級(jí)算術(shù)運(yùn)算符 一元運(yùn)算符算術(shù)運(yùn)算符 二元運(yùn)算符賦值運(yùn)算符關(guān)系運(yùn)算符 C#共支持6種關(guān)系運(yùn)算符 邏輯運(yùn)算符 邏輯運(yùn)算符的操作對(duì)象是布爾值,其結(jié)果也是布爾值 位運(yùn)算符 位運(yùn)算符能夠?qū)Σ僮鲾?shù)進(jìn)行位級(jí)操作,如按位對(duì)操作數(shù)進(jìn)行位移動(dòng)和位比較等。部分位運(yùn)算符與邏輯運(yùn)算符在形式上是一樣的,區(qū)別在于其操作數(shù)及
3、返回結(jié)果不同。o按位與& o按位或 | o按位異或 o按位取反 o移位運(yùn)算符 按位與&A = 7; / 00000111 B = 1; / 00000001C = A & B; / 00000001/C=1按位或 | A = 7; / 00000111 B = 1; / 00000001C = A | B; / 00000111/C = 7按位異或 A = 7; / 00000111 B = 1; / 00000001C = A B; / 00000110/C = 6按位取反 由于負(fù)數(shù)存儲(chǔ)在.NET中的方式稱(chēng)為2的補(bǔ)位,所以使用按位取反操作時(shí),會(huì)使結(jié)果看起來(lái)有點(diǎn)古怪。假
4、定int類(lèi)型是一個(gè)32位的數(shù)字,則運(yùn)算符將對(duì)所有32位進(jìn)行操作,將有助于看出這種方式。例如,數(shù)字5的完整二進(jìn)制表示為:00000000000000000000000000000101數(shù)字5的完整二進(jìn)制表示為:11111111111111111111111111111011實(shí)際上,按照2的補(bǔ)位系統(tǒng),(x)定義為(x+1)。對(duì)5進(jìn)行按位取反操作其結(jié)果為6。移位運(yùn)算符 A = 20; / 00010100 B = 3; / 00000011C = AB; / 00000010D = A B; / 10100000/C = 2 D=160布爾賦值運(yùn)算符 運(yùn)算符的優(yōu)先級(jí)+,(用作后綴)=, *=, /=
5、, %=, +=,=, =, &=, =, |=|&|&=, !=, =+,*, /, %+, - (用作前綴); (), +,(一元), !, 優(yōu) 先 級(jí) 由 高 到 低運(yùn) 算 符優(yōu) 先 級(jí)類(lèi)型轉(zhuǎn)換 隱式轉(zhuǎn)換:從類(lèi)型A到類(lèi)型B的轉(zhuǎn)換可以在任意情況下進(jìn)行,執(zhí)行轉(zhuǎn)換的規(guī)則非常簡(jiǎn)單,可以讓編譯器進(jìn)行。 顯式轉(zhuǎn)換:又叫強(qiáng)制類(lèi)型轉(zhuǎn)換,從類(lèi)型A到類(lèi)型B的轉(zhuǎn)換只能在某些特定情況下進(jìn)行,轉(zhuǎn)換的規(guī)則比較復(fù)雜,應(yīng)該進(jìn)行某種類(lèi)型的處理。 隱式轉(zhuǎn)換 顯式轉(zhuǎn)換 使用Convert命令進(jìn)行顯式轉(zhuǎn)換 流程控制 分支有條件地執(zhí)行代碼。條件取決于計(jì)算的結(jié)果,例如“如果myVal小于0,就執(zhí)行某段代碼”
6、。 循環(huán)重復(fù)執(zhí)行相同的語(yǔ)句。重復(fù)執(zhí)行一定的次數(shù),或者在滿(mǎn)足測(cè)試條件后停止執(zhí)行。 跳轉(zhuǎn)語(yǔ)句條件分支 三元運(yùn)算符 if語(yǔ)句 switch語(yǔ)句 三元運(yùn)算符 進(jìn)行比較最簡(jiǎn)單的方式就是使用三元(或條件)運(yùn)算符。三元運(yùn)算符有3個(gè)操作數(shù)。其語(yǔ)法格式如下:o ? : 三元運(yùn)算符的第一個(gè)操作數(shù)必須是類(lèi)型可以被隱式轉(zhuǎn)換為bool的表達(dá)式,或者是類(lèi)型為實(shí)現(xiàn)operator true的表達(dá)式。如果這兩個(gè)要求都不滿(mǎn)足,將會(huì)出現(xiàn)編譯錯(cuò)誤。 三元運(yùn)算符的第二個(gè)和第三個(gè)操作數(shù)控制條件表達(dá)式的類(lèi)型。假設(shè)X和Y是第二個(gè)和第三個(gè)操作數(shù)的類(lèi)型。那么,條件表達(dá)式的結(jié)果類(lèi)型將按下面的規(guī)則確定:o如果 X 和 Y 是同一類(lèi)型,那么這一類(lèi)型
7、就是條件表達(dá)式的類(lèi)型。o如果存在 X 到 Y 而不是 Y 到 X 的隱式轉(zhuǎn)換,那么Y就是條件表達(dá)式的類(lèi)型。o如果存在 Y 到 X 而不是 X 到 Y 的隱式轉(zhuǎn)換,那么X就是條件表達(dá)式的類(lèi)型。if語(yǔ)句if語(yǔ)句有兩種形式,一種有else分支,一種沒(méi)有else分支:oif (boolean-expression)oembedded-statementoif (boolean-expression)oembedded-statement oelseoembedded-statementelse分支總是與最近的if語(yǔ)句構(gòu)成一個(gè)ifelse對(duì),如下所示的if語(yǔ)句:if語(yǔ)句將按照下面的方式執(zhí)行:o求布爾表達(dá)
8、式的值。o如果布爾表達(dá)式為真,程序?qū)⑻D(zhuǎn)到分語(yǔ)句的第一個(gè)嵌套語(yǔ)句執(zhí)行。當(dāng)程序執(zhí)行到此嵌套語(yǔ)句的結(jié)尾,程序控制將轉(zhuǎn)移到if語(yǔ)句的結(jié)尾。o如果布爾表達(dá)式的值為假,而且分語(yǔ)句中有else分支,程序跳轉(zhuǎn)到分語(yǔ)句的第二個(gè)嵌套語(yǔ)句執(zhí)行。當(dāng)程序執(zhí)行到此嵌套語(yǔ)句的結(jié)尾時(shí),程序控制將轉(zhuǎn)移到if語(yǔ)句的結(jié)尾。o如果布爾表達(dá)式的值為假,而且分語(yǔ)句中沒(méi)有else分支,程序控制將轉(zhuǎn)移到if語(yǔ)句的結(jié)尾。switch語(yǔ)句 switch語(yǔ)句包括關(guān)鍵字switch和其后的括號(hào)表達(dá)式和switch塊。switch塊包含有零個(gè)或者多個(gè)由括號(hào)括起來(lái)的switch分支。每個(gè)switch分支又由一個(gè)或者多個(gè)switch標(biāo)號(hào)和跟在它們后面的
9、語(yǔ)句列表組成 每一個(gè)switch語(yǔ)句最多只能有一個(gè)default標(biāo)號(hào)分支。 switch語(yǔ)句按照如下方式執(zhí)行:o首先計(jì)算switch表達(dá)式的值并轉(zhuǎn)換到控制類(lèi)型。o如果swtich表達(dá)式的值等于某一個(gè)switch分支的常量表達(dá)式的值,那么程序控制跳轉(zhuǎn)到這個(gè)case標(biāo)號(hào)后的語(yǔ)句列表中。o如果switch表達(dá)式的值無(wú)法與switch語(yǔ)句中任何一個(gè)case常量表達(dá)式的值匹配而且switch語(yǔ)句中有default分支,程序控制會(huì)跳轉(zhuǎn)到default標(biāo)號(hào)后的語(yǔ)句列表中。o如果switch表達(dá)式的值無(wú)法與switch語(yǔ)句中任何一個(gè)case常量表達(dá)式的值匹配而且switch語(yǔ)句中沒(méi)有default分支,程序控
10、制會(huì)跳轉(zhuǎn)到switch語(yǔ)句的結(jié)尾。循環(huán)結(jié)構(gòu) 循環(huán)結(jié)構(gòu)是一種能重復(fù)執(zhí)行某一動(dòng)作的語(yǔ)言結(jié)構(gòu),C#中的循環(huán)結(jié)構(gòu)主要包括odowhile循環(huán)owhile循環(huán)ofor循環(huán)oforeach循環(huán) 其中foreach循環(huán)主要應(yīng)用于數(shù)組或者集合,本書(shū)將在學(xué)習(xí)數(shù)組時(shí)介紹這種循環(huán)結(jié)構(gòu)。dowhile循環(huán) dowhile循環(huán)以下述方式執(zhí)行:執(zhí)行標(biāo)記為循環(huán)的代碼,然后計(jì)算while語(yǔ)句的布爾表達(dá)式,如果其值為true,就再次執(zhí)行循環(huán)代碼。直到while語(yǔ)句的布爾表達(dá)式的值為false時(shí),才退出循環(huán) 在dowhile循環(huán)的循環(huán)體語(yǔ)句中,可用使用break語(yǔ)句跳出循環(huán)體,終止循環(huán)語(yǔ)句的執(zhí)行,也可以使用continue語(yǔ)句使
11、程序跳出當(dāng)前循環(huán),重新開(kāi)始新的循環(huán) while循環(huán) do.while循環(huán)至少要執(zhí)行一次,有時(shí)這并不是很理想。當(dāng)然,可以添加一個(gè)if語(yǔ)句。但這看起來(lái)像是添加了不必要的復(fù)雜性,更好的解決方案是使用while循環(huán)。 while循環(huán)根據(jù)其布爾表達(dá)式的值執(zhí)行循環(huán)體語(yǔ)句零次或者多次。while循環(huán)非常類(lèi)似于dowhile循環(huán),所不同的是while循環(huán)的布爾測(cè)試是在循環(huán)開(kāi)始時(shí)執(zhí)行,而不是循環(huán)執(zhí)行完以后。如果布爾值為false,就不執(zhí)行循環(huán)體。 for循環(huán) for循環(huán)的應(yīng)用比較靈活,在程序設(shè)計(jì)中應(yīng)用的也最多。其語(yǔ)句格式如下: for( initialization; termination; iteratio
12、n ) /循環(huán)體 for循環(huán)語(yǔ)句的執(zhí)行流程是這樣的:o程序首先執(zhí)行初始化initialization,進(jìn)行變量初始化。o判斷循環(huán)的終止條件termination,如果條件滿(mǎn)足,則執(zhí)行循環(huán)體語(yǔ)句;否則退出for循環(huán)。o當(dāng)循環(huán)完成后,進(jìn)行累加變量的操作iteration。再回到上一步重新判斷是否繼續(xù)執(zhí)行。跳轉(zhuǎn)語(yǔ)句 有時(shí)需要在循環(huán)代碼的處理上有更精細(xì)的控制,這時(shí)就要用到跳轉(zhuǎn)語(yǔ)句,C#提供了5個(gè)跳轉(zhuǎn)語(yǔ)句:obreak:break語(yǔ)句用于跳出包含它的switch,while,do,for,或foreach語(yǔ)句。其目標(biāo)地址為包含它的switch,while,do,for或foreach語(yǔ)句的結(jié)尾 ocon
13、tinue:continue語(yǔ)句用于重新開(kāi)始新一次包含它的while,do,for或者foreach語(yǔ)句的執(zhí)行。其目標(biāo)地址為直接包含它的while,do,for或者foreach語(yǔ)句的嵌套語(yǔ)句結(jié)尾 ogoto:C#允許給代碼行加上標(biāo)簽,這樣就可以使用goto語(yǔ)句直接跳轉(zhuǎn)到這些代碼行上。該語(yǔ)句的優(yōu)點(diǎn)是:可用非常容易的跳轉(zhuǎn)到指定的位置;但也有一定的缺點(diǎn),就是過(guò)多地使用這個(gè)技巧將使代碼很難被讀懂 oreturn:return語(yǔ)句從它所在的子函數(shù)返回該子函數(shù)的調(diào)用者 othrow:throw語(yǔ)句用于拋出一個(gè)異常 本 章 小 結(jié) 本章重點(diǎn)介紹了C#語(yǔ)言的基本語(yǔ)法,包括數(shù)據(jù)類(lèi)型、變量、運(yùn)算符和表達(dá)式、流程控制語(yǔ)句、類(lèi)型轉(zhuǎn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公樓裝飾裝修與室內(nèi)環(huán)境舒適度提升合同
- 門(mén)店店員激勵(lì)政策方案
- 園藝技巧面試題及答案
- 淘寶店考試題及答案
- 單位物業(yè)勞務(wù)外包方案
- 傳媒行業(yè)提成方案
- 采購(gòu)合同績(jī)效評(píng)估與改進(jìn)培訓(xùn)協(xié)議
- 湘江小學(xué)面試題及答案
- 中醫(yī)精神病護(hù)理
- 鐵路維護(hù)工程招標(biāo)方案
- 基層供電所安全課件
- 2020-2024年五年高考地理真題分類(lèi)匯編專(zhuān)題02 宇宙中的地球-(解析版)
- 瑜伽說(shuō)課課件
- 2024年上海復(fù)旦大學(xué)附中自主招生數(shù)學(xué)試卷真題(含答案詳解)
- 骨質(zhì)疏松性椎體壓縮骨折診治專(zhuān)家共識(shí)
- 人教部編版九年級(jí)歷史上冊(cè)第一單元測(cè)試卷三套含答案
- 會(huì)診制度培訓(xùn)課件
- 廣東省安全生產(chǎn)管理臺(tái)賬表格與說(shuō)明
- 【公開(kāi)課】植物體的結(jié)構(gòu)層次2024-2025學(xué)年人教版生物七年級(jí)上冊(cè)
- 重癥醫(yī)學(xué)質(zhì)量控制中心督查評(píng)價(jià)標(biāo)準(zhǔn)及評(píng)分細(xì)則
- 2024年廣東省英語(yǔ)小升初模擬試卷與參考答案
評(píng)論
0/150
提交評(píng)論