C#第3章-程序流程控制_第1頁(yè)
C#第3章-程序流程控制_第2頁(yè)
C#第3章-程序流程控制_第3頁(yè)
C#第3章-程序流程控制_第4頁(yè)
C#第3章-程序流程控制_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C# Windows程序設(shè)計(jì)與應(yīng)用要點(diǎn)提示循環(huán)語(yǔ)句(while,dowhile,for,foreach)Switch語(yǔ)句If語(yǔ)句及其嵌套第3章 程序流程控制3.1順序結(jié)構(gòu)3.2選擇結(jié)構(gòu)3.3循環(huán)結(jié)構(gòu)3.4本章總結(jié)第3章 程序流程控制 3.1 順序結(jié)構(gòu) 程序代碼的執(zhí)行通常按照編寫時(shí)的先后順序從前向后依次執(zhí)行,這個(gè)過(guò)程稱為順序執(zhí)行。 順序結(jié)構(gòu)是C#語(yǔ)言中的默認(rèn)的、也是最基本的流程控制。即在沒有明確指出執(zhí)行順序時(shí),計(jì)算機(jī)將按C#語(yǔ)句的書寫順序依次執(zhí)行。 順序結(jié)構(gòu)以語(yǔ)句塊為單位執(zhí)行。3.2 選擇結(jié)構(gòu)什么是選擇結(jié)構(gòu)選擇結(jié)構(gòu),又稱條件結(jié)構(gòu)(或分支語(yǔ)句),當(dāng)程序中需要進(jìn)行兩個(gè)或兩個(gè)以上的選擇時(shí),使用選擇結(jié)構(gòu)

2、確定要執(zhí)行的語(yǔ)句(段)。這種控制機(jī)制根據(jù)布爾條件表達(dá)式的值確定執(zhí)行路徑。if語(yǔ)句switch語(yǔ)句簡(jiǎn)單if語(yǔ)句if-else語(yǔ)句3.2.1 if語(yǔ)句ifif語(yǔ)句根據(jù)布爾表達(dá)式的值來(lái)選擇兩個(gè)可能執(zhí)行路徑之一。語(yǔ)句根據(jù)布爾表達(dá)式的值來(lái)選擇兩個(gè)可能執(zhí)行路徑之一。語(yǔ)句塊可以是單一的簡(jiǎn)單語(yǔ)句塊可以是單一的簡(jiǎn)單 語(yǔ)句,也可以是復(fù)合語(yǔ)句。語(yǔ)句,也可以是復(fù)合語(yǔ)句。布爾表達(dá)式語(yǔ)句塊1true3.2.1 if語(yǔ)句語(yǔ)句塊1布爾表達(dá)式語(yǔ)句塊2該語(yǔ)句提供兩個(gè)選擇,當(dāng)布爾表達(dá)式為當(dāng)布爾表達(dá)式為true時(shí),執(zhí)行語(yǔ)句塊時(shí),執(zhí)行語(yǔ)句塊1;當(dāng);當(dāng)布爾表達(dá)式為布爾表達(dá)式為false,執(zhí)行語(yǔ)句塊執(zhí)行語(yǔ)句塊2。3.2.1 if語(yǔ)句當(dāng)需要

3、進(jìn)行選擇的路徑并非只有兩條時(shí),需要多次使用if-else語(yǔ)句來(lái)完成選擇條件的判斷(因?yàn)槊總€(gè)if-else語(yǔ)句只能判斷對(duì)一個(gè)條件進(jìn)行判斷)。這時(shí)可以在一條if-else中嵌入一條或多條if-else語(yǔ)句,形成一個(gè)嵌套if語(yǔ)句,用于多條件復(fù)雜流程判斷與控制。【提示】【提示】 盡管理論上講盡管理論上講ifif語(yǔ)句可以無(wú)限制嵌套,但在實(shí)際應(yīng)用中語(yǔ)句可以無(wú)限制嵌套,但在實(shí)際應(yīng)用中盡可能使嵌套層數(shù)最少。過(guò)多的嵌套會(huì)使邏輯關(guān)系復(fù)雜,降低程盡可能使嵌套層數(shù)最少。過(guò)多的嵌套會(huì)使邏輯關(guān)系復(fù)雜,降低程序可讀性。序可讀性。3.2.2 switch語(yǔ)句如果需要從多個(gè)選擇分支中選擇一個(gè)分支去執(zhí)行時(shí),C#提供了多分支選擇語(yǔ)

4、句switch。switch語(yǔ)句適用于如下情形:根據(jù)某個(gè)選擇值的結(jié)果,從多個(gè)(通常多于3個(gè))可能的選擇路徑中選擇一個(gè)。使用switch語(yǔ)句,關(guān)鍵是要構(gòu)造一個(gè)表達(dá)式,將各個(gè)選擇分支條件轉(zhuǎn)換成對(duì)應(yīng)的case子句后面的常量值。3.3 循環(huán)結(jié)構(gòu)對(duì)于程序要處理的一組重復(fù)操作,C#提供循環(huán)結(jié)構(gòu)使用布爾表達(dá)式來(lái)進(jìn)行控制。循環(huán)語(yǔ)句在滿足某個(gè)邏輯條件后,讓程序重復(fù)多次執(zhí)行循環(huán)語(yǔ)句塊,直到條件不再滿足為止。3.3.1 while循環(huán)while循環(huán)特點(diǎn)是先判斷后執(zhí)行,如果初始循環(huán)條件即為false,則循環(huán)體一次也不會(huì)被執(zhí)行;所以while循環(huán)的循環(huán)體最少執(zhí)行次數(shù)為0;循環(huán)體中必須有能夠修改循環(huán)條件的語(yǔ)句,使得循環(huán)能

5、夠在一定條件下結(jié)束,否則將形成死循環(huán);while循環(huán)不需提前確定循環(huán)次數(shù)。布爾表達(dá)式循環(huán)體falsetrue3.3.1 while循環(huán)dowhile循環(huán)特點(diǎn)是先執(zhí)行后判斷,即使初始循環(huán)條件即為false,循環(huán)體也會(huì)被執(zhí)行一次;因此dowhile循環(huán)的循環(huán)體的最小執(zhí)行次數(shù)為1;循環(huán)體中必須有能夠修改循環(huán)條件的語(yǔ)句,使得循環(huán)能夠在一定條件下結(jié)束,否則將形成死循環(huán);dowhile循環(huán)不需提前確定循環(huán)次數(shù)。布爾表達(dá)式循環(huán)體truefalse3.3.2 for循環(huán)在循環(huán)次數(shù)確定的情況,使用for循環(huán)最為簡(jiǎn)單;與C/C+不同,for循環(huán)的表達(dá)式2必須是邏輯表達(dá)式,不允許使用整數(shù)值;如果在for循環(huán)語(yǔ)句之前

6、已經(jīng)對(duì)循環(huán)變量初始化,則for語(yǔ)句中的表達(dá)式1可以省略,但分號(hào)要保留;如果省略表達(dá)式2,語(yǔ)法上沒有錯(cuò)誤,但程序?qū)⑦M(jìn)入死循環(huán),在實(shí)際應(yīng)用中,除極特殊的情況外是不允許的;表達(dá)式3作為循環(huán)變量的控制條件,并非只有+和-操作,可以根據(jù)需要指定不同的循環(huán)變量變化規(guī)則;如果for循環(huán)3個(gè)表達(dá)式都省略,即for(;)形式,相當(dāng)于while(true),是一個(gè)死循環(huán)。循環(huán)變量初始化(表達(dá)式1)循環(huán)判斷(表達(dá)式2)循環(huán)體修改循環(huán)變量值(表達(dá)式3)falsetrue3.3.2 for循環(huán)c=e.GetEnumerator()c.MoveNext()V=c.Current循環(huán)體falsetrue定義循環(huán)變量v,并計(jì)

7、算集合表達(dá)式的值,即集合類型的實(shí)例c隱藏執(zhí)行的內(nèi)容3.3.3 循環(huán)嵌套(多重循環(huán))循環(huán)語(yǔ)句可以嵌套使用,即循環(huán)結(jié)構(gòu)的循環(huán)體里可以包含其他的循環(huán)語(yǔ)句。盡管在理論上對(duì)循環(huán)嵌套的層數(shù)沒有限制,但在實(shí)際應(yīng)用中,嵌套層數(shù)不宜過(guò)多,否則將降低程序的可讀性。通常如果涉及三層以上的嵌套,可以使用聲明為方法的方式來(lái)減少嵌套層次。3.3.4 跳轉(zhuǎn)語(yǔ)句跳轉(zhuǎn)語(yǔ)句可以使函數(shù)內(nèi)部的程序無(wú)條件的改變執(zhí)行方向跳出某個(gè)循環(huán)和選擇分支用在循環(huán)體內(nèi),結(jié)束本次循環(huán),返回到循環(huán)語(yǔ)句開始部分,進(jìn)行下一次循環(huán)跳轉(zhuǎn)到指定標(biāo)號(hào)位置用在方法內(nèi)部,用于提交方法返回值 3.4 本章總結(jié)本章主要介紹了程序流程控制中的順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和跳轉(zhuǎn)語(yǔ)句。它們是目前程序設(shè)計(jì)中常用的流程控制語(yǔ)句。順序結(jié)構(gòu)是程序設(shè)計(jì)的基本結(jié)構(gòu),按照代碼的先后順序依次執(zhí)行,直到程序運(yùn)行完成或出現(xiàn)問(wèn)題終止。選

溫馨提示

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

評(píng)論

0/150

提交評(píng)論