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

下載本文檔

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

文檔簡(jiǎn)介

第三章C#程序的流程控制1.總體要求理解分支的概念,掌握if語(yǔ)句和switch語(yǔ)句的使用方法理解循環(huán)的概念,掌握while、do/while、for、foreach語(yǔ)句的使用方法理解分支嵌套、循環(huán)嵌套的概念,了解相關(guān)應(yīng)用了解goto語(yǔ)句,掌握continue和break語(yǔ)句的使用方法2.相關(guān)知識(shí)點(diǎn)if語(yǔ)句和switch語(yǔ)句while、do/while、for、foreach語(yǔ)句3.學(xué)習(xí)重點(diǎn)分支嵌套和循環(huán)嵌套2023/2/1第三章C#程序的流程控制主要內(nèi)容C#程序的循環(huán)語(yǔ)句跳轉(zhuǎn)語(yǔ)句3.3C#程序的分支語(yǔ)句3.13.22023/2/133.1C#程序的分支語(yǔ)句3.1.1if語(yǔ)句3.1.2多分支if…elseif語(yǔ)句3.1.2switch語(yǔ)句3.1.4分支語(yǔ)句的嵌套2023/2/143.1.1if語(yǔ)句if語(yǔ)句也稱為條件語(yǔ)句、選擇語(yǔ)句,用于實(shí)現(xiàn)程序的分支結(jié)構(gòu),根據(jù)條件是否成立來控制執(zhí)行不同的程序段,完成相應(yīng)的功能。if語(yǔ)句的一般形式如下:if(表達(dá)式){語(yǔ)句塊1}else{語(yǔ)句塊2}if語(yǔ)句的邏輯意義為:如果表達(dá)式的值為true,則選擇執(zhí)行“語(yǔ)句塊1”,否則選擇執(zhí)行“語(yǔ)句塊2”,如圖3-1所示?!癷f…else…”的結(jié)構(gòu)通常稱為雙分支結(jié)構(gòu)。實(shí)際編程時(shí),可省略else子句,構(gòu)成單分支結(jié)構(gòu)。當(dāng)“語(yǔ)句塊1”或“語(yǔ)句塊2”只有一條語(yǔ)句時(shí),可以省略花括號(hào){},還可以在同一行書寫。例如,設(shè)x為int型變量,

if(x%2==0)Console.Write("x為偶數(shù)");就是典型的單分支結(jié)構(gòu)。

3.1.1if語(yǔ)句在C#中,如果雙分支結(jié)構(gòu)比較簡(jiǎn)單,可使用條件運(yùn)算符來替代if語(yǔ)句。問號(hào)運(yùn)算符的一般格式如下:

(表達(dá)式1)?表達(dá)式2:表達(dá)式3其邏輯含義為:如果表達(dá)式1的值為true,則返回表達(dá)式2的值,否則返回表達(dá)式3的值。3.1.1條件運(yùn)算符例如,設(shè)x為int型變量,

stringresult=(x%2==1)?"x為奇數(shù)":"x為偶數(shù)";該語(yǔ)句相當(dāng)于stringresult;if(x%2==1)result="x為奇數(shù)";elseresult="x為偶數(shù)";使用問號(hào)運(yùn)算符來構(gòu)造雙分支結(jié)構(gòu),要比if語(yǔ)句更加簡(jiǎn)練3.1.1if語(yǔ)句【實(shí)例3-1】創(chuàng)建一個(gè)Windows應(yīng)用程序,先輸入年份,再判斷是否是閏年,最后顯示判斷結(jié)果。微軟面試題思考:計(jì)算兩個(gè)日期之間的天數(shù)3.1.1if語(yǔ)句3.1.2多分支if…elseif語(yǔ)句多分支if…elseif語(yǔ)句

if(表達(dá)式1){語(yǔ)句塊1;}elseif(表達(dá)式2){語(yǔ)句塊2;}……elseif(表達(dá)式n){語(yǔ)句塊n;}else{語(yǔ)句塊n;}圖3-3多分支if…elseif語(yǔ)句3.1.2多分支if…elseif語(yǔ)句多分支if…elseif語(yǔ)句的邏輯意義為:首先計(jì)算表達(dá)式1,如果表達(dá)式1的值為true,則執(zhí)行“語(yǔ)句塊1”,否則依次往下計(jì)算各表達(dá)式的值,直到某個(gè)表達(dá)式的值為真,則執(zhí)行相應(yīng)的語(yǔ)句,如果所有表達(dá)式的的值都為假,則執(zhí)行最后的else子句的語(yǔ)句塊n+1。其中,elseif子句不能作為語(yǔ)句單獨(dú)出現(xiàn),必須與if配對(duì)使用,而最后的else子句可省略,表示當(dāng)所有條件都不滿足時(shí),什么都不需要做。同樣,當(dāng)語(yǔ)句塊只有一條語(yǔ)句時(shí),可以省略花括號(hào){}。圖3-3多分支if…elseif語(yǔ)句【實(shí)例3-2】創(chuàng)建一個(gè)Windows應(yīng)用程序,輸入身高和體重,計(jì)算“體重指數(shù)”,醫(yī)學(xué)上的根據(jù)身高和體重,從而實(shí)現(xiàn)對(duì)人肥胖程序的劃分。體重指數(shù)(t)=體重(w)/(身高(h))2 當(dāng)t<18時(shí),為偏瘦; 當(dāng)18t<25時(shí),為標(biāo)準(zhǔn); 當(dāng)25t<27時(shí),為偏胖; 當(dāng)t27時(shí),為肥胖3.1.2多分支if…elseif語(yǔ)句3.1.3switch語(yǔ)句當(dāng)判斷的條件較多,不止一兩個(gè)分支時(shí),可使用switch語(yǔ)句。switch語(yǔ)句專用于實(shí)現(xiàn)多分支結(jié)構(gòu),其語(yǔ)法更簡(jiǎn)潔,能處理復(fù)雜的條件判斷。switch(表達(dá)式){case常量1:語(yǔ)句塊1;break;case常量2:語(yǔ)句塊2;break;

……case常量n:語(yǔ)句塊n;break;default:語(yǔ)句塊n+1;break;}圖3-5switch語(yǔ)句switch中的表達(dá)式通常是整型、字符型或字符串表達(dá)式,不能是關(guān)系表達(dá)式或邏輯表達(dá)式。case后的常量的不允許相同,其類型必須與表達(dá)式的值類型一致。switch語(yǔ)句的執(zhí)行過程為:首先計(jì)算switch語(yǔ)句中表達(dá)式的值,再依次與每一個(gè)case后的常量比較,當(dāng)表達(dá)式的值與某個(gè)常量相等時(shí),則執(zhí)行該case后的語(yǔ)句塊,在執(zhí)行break語(yǔ)句之后跳出switch結(jié)構(gòu),繼續(xù)執(zhí)行switch之后的語(yǔ)句,如果所有常量都不等于switch中表達(dá)式的值,則執(zhí)行default之后的語(yǔ)句塊。如果沒有default子句,則執(zhí)行switch語(yǔ)句后面的語(yǔ)句。3.1.3switch語(yǔ)句【實(shí)例3-3】創(chuàng)建一個(gè)Windows應(yīng)用程序,輸入學(xué)生的成績(jī)(百分制),輸出相應(yīng)的等級(jí)(優(yōu)、良、中、及格、不及格)。使用switch語(yǔ)句來計(jì)算不同等級(jí)。等級(jí)的標(biāo)準(zhǔn)如下:3.1.3switch語(yǔ)句3.1.4分支語(yǔ)句的嵌套無論是if語(yǔ)句,還是switch語(yǔ)句,其中的語(yǔ)句可以任何語(yǔ)句,包括if語(yǔ)句或switch。如果if語(yǔ)句或switch語(yǔ)句包含了if或switch語(yǔ)句,則稱之為嵌套的分支語(yǔ)句。對(duì)于嵌套的if語(yǔ)句,從上到下,else子句只與最近的尚未配對(duì)的if配對(duì)。為方便閱讀和理解if和else的配對(duì)關(guān)系,要注意采用縮進(jìn)格式書寫代碼或添加花括號(hào){}?!緦?shí)例3-4】創(chuàng)建一個(gè)Windows應(yīng)用程序,輸入機(jī)票原價(jià)、出行的月份和需要的艙位,輸出實(shí)際機(jī)票價(jià)格,假定的機(jī)票打折的規(guī)則是:5-10月為旺季,頭等艙打9折,經(jīng)濟(jì)艙打7.5折其他時(shí)間為淡季,頭等艙打6折,經(jīng)濟(jì)艙打3折3.1.4分支語(yǔ)句的嵌套3.2C#程序的循環(huán)語(yǔ)句3.2.1While語(yǔ)句3.2.2do/while語(yǔ)句3.2.3for語(yǔ)句3.2.4foreach語(yǔ)句3.2.5循環(huán)語(yǔ)句的嵌套返回3.2.1while語(yǔ)句while語(yǔ)句表達(dá)的邏輯含義是:當(dāng)邏輯條件成立時(shí),重復(fù)執(zhí)行某些語(yǔ)句,直到條件不成立時(shí)終止,從而不再循環(huán)。因此在循環(huán)次數(shù)不固定時(shí)while語(yǔ)句相當(dāng)有用。while語(yǔ)句的一般形式為:while(表達(dá)式){語(yǔ)句塊;}

其中,表達(dá)式必須是布爾型表達(dá)式,用來檢測(cè)循環(huán)條件是否成立,語(yǔ)句塊為循環(huán)體while語(yǔ)句執(zhí)行過程如下:首先計(jì)算表達(dá)式,當(dāng)表達(dá)式的值為true時(shí),執(zhí)行一次循環(huán)體中的語(yǔ)句,重復(fù)上述操作到表達(dá)式的值為false時(shí)退出循環(huán)。如果表達(dá)式的值在開始時(shí)就為false,那么不執(zhí)行循環(huán)體語(yǔ)句直接退出循環(huán)。while語(yǔ)句的特點(diǎn)是:先判斷表達(dá)式,后執(zhí)行語(yǔ)句。3.2.1while語(yǔ)句【實(shí)例3-5】創(chuàng)建一個(gè)Windows應(yīng)用程序,輸入n,求和,即1+2+3+…+n。3.2.1while語(yǔ)句do-while語(yǔ)句的特點(diǎn)是先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立,其一般形式為:do{語(yǔ)句塊;}while(表達(dá)式);其中,語(yǔ)句塊為循環(huán)體,表達(dá)式必須是布爾型表達(dá)式,用來檢測(cè)循環(huán)條件是否成立。3.2.2do/while語(yǔ)句do-while語(yǔ)句執(zhí)行過程如下首先執(zhí)行一次循環(huán)體,然后再計(jì)算表達(dá)式,如果表達(dá)式的值為true,則再執(zhí)行一次循環(huán)體,重復(fù)上述操作,直到表達(dá)式的值為false時(shí)退出循環(huán)。如果條件在開始時(shí)就為false,那么執(zhí)行一次循環(huán)體語(yǔ)句后退出循環(huán)。while語(yǔ)句與do/while語(yǔ)句的區(qū)別在于前者循環(huán)體執(zhí)行的次數(shù)可能是0次,而后循環(huán)體執(zhí)行的次數(shù)至少是1次。3.2.2do/while語(yǔ)句【實(shí)例3-6】創(chuàng)建一個(gè)Windows應(yīng)用程序,輸入n,求n!。3.2.2do/while語(yǔ)句3.2.3for語(yǔ)句for語(yǔ)句與while語(yǔ)句、do/while語(yǔ)句一樣,可以循環(huán)重復(fù)執(zhí)行一個(gè)語(yǔ)句或語(yǔ)句塊,直到指定的表達(dá)式計(jì)算為false值。for語(yǔ)句的一般形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){

語(yǔ)句塊;}其中,表達(dá)式1為賦值表達(dá)式,通常用于初始化循環(huán)控制變量;表達(dá)式2為布爾型的表達(dá)式,用來檢測(cè)循環(huán)條件是否成立;表達(dá)式3賦值表達(dá)式,用來更新循環(huán)控制變量的值,以保證循環(huán)能正常終止for語(yǔ)句的執(zhí)行過程詳細(xì)如下:(1)首先計(jì)算表達(dá)式1,為循環(huán)控制變量賦初值;(2)然后計(jì)算表達(dá)式2,檢查循環(huán)控制條件,若表達(dá)式2的值為true,則執(zhí)行一次循環(huán)體語(yǔ)句,若為false,終止循環(huán);for語(yǔ)句的執(zhí)行過程(3)執(zhí)行完一次循環(huán)體語(yǔ)句后,計(jì)算表達(dá)式3,對(duì)控制變量進(jìn)行增量或減量操作,再重復(fù)第(2)步操作。3.2.3for語(yǔ)句for語(yǔ)句3個(gè)表達(dá)式均可以省略,但”;”不能省略。省略上述表達(dá)式后,使for語(yǔ)句有了幾種變化形式:省略表達(dá)式1。此時(shí)應(yīng)在for語(yǔ)句前面給循環(huán)控制變量賦初始值。省略表達(dá)式3。此時(shí)應(yīng)在for語(yǔ)句的循環(huán)體重改變循環(huán)控制變量,否則容易造成死循環(huán)。省略所有三個(gè)表達(dá)式。當(dāng)for語(yǔ)句中沒有表達(dá)式2時(shí),編譯程序?qū)⒔忉尀楸磉_(dá)式2為true,循環(huán)將無限進(jìn)行下去。for語(yǔ)句中可使用逗號(hào)表達(dá)式,使兩個(gè)或多多個(gè)循環(huán)變量控制循環(huán)3.2.3for語(yǔ)句【實(shí)例3-7】一個(gè)百萬富翁遇到一個(gè)陌生人,陌生人找他談一個(gè)換錢的計(jì)劃,該項(xiàng)計(jì)劃如下:我每天給你十萬元,而你第一天只需給我一分錢,第二天我仍給你十萬元,你給我二分錢,第三天我仍給你十萬元,你給我四分錢,…,你每天給我的錢是前一天的兩倍,直到滿一個(gè)月(30天),百萬富翁很高興,欣然接受了這個(gè)契約。請(qǐng)編寫一個(gè)程序計(jì)算這一個(gè)月中陌生人給了百萬富翁多少錢,百萬富翁給陌生人多少錢。3.2.3for語(yǔ)句3.2.4foreach語(yǔ)句C#的foreach語(yǔ)句提供了一種簡(jiǎn)單明了的方法來循環(huán)訪問數(shù)組或集合的元素,又稱迭代器。foreach語(yǔ)句的一般形式如下:foreach(類型循環(huán)變量in表達(dá)式){

語(yǔ)句塊;}其中,表達(dá)式一般是一個(gè)數(shù)組名或集合名,循環(huán)變量的類型必須與表達(dá)式的數(shù)據(jù)類型一致。foreach語(yǔ)言的執(zhí)行過程如下:(1)自動(dòng)指向數(shù)組或集合中的第一個(gè)元素;(2)判斷該元素是否存在,如果不存在結(jié)束循環(huán)(3)把該元素的值賦給循環(huán)變量;(4)執(zhí)行循環(huán)體語(yǔ)句塊;(5)自動(dòng)指向下一個(gè)元素,之后從第(2)開始重復(fù)執(zhí)行。3.2.4foreach語(yǔ)句【實(shí)例3-8】創(chuàng)建一個(gè)Windows應(yīng)用程序,統(tǒng)計(jì)從鍵盤輸入一行字符中英文字母的個(gè)數(shù)。3.2.4foreach語(yǔ)句3.2.5循環(huán)語(yǔ)句的嵌套一個(gè)循環(huán)語(yǔ)句的內(nèi)部可以包含另一個(gè)循環(huán)語(yǔ)句,這樣的結(jié)構(gòu)稱為循環(huán)嵌套,以上介紹的各種循環(huán)均可相互嵌套,循環(huán)語(yǔ)句中嵌套了幾層循環(huán)結(jié)構(gòu)就稱為幾重循環(huán)3.2.5循環(huán)語(yǔ)句的嵌套循環(huán)嵌套時(shí),要保證內(nèi)層循環(huán)必須完全包含于外層循環(huán)之內(nèi),不允許循環(huán)結(jié)構(gòu)交叉,因此一定要注意各循環(huán)語(yǔ)句的花括號(hào)的配對(duì)關(guān)系【實(shí)例3-9】創(chuàng)建一個(gè)Windows應(yīng)用程序,輸入三角形行數(shù),打印等腰三角形。3.2.5循環(huán)語(yǔ)句的嵌套3.3跳轉(zhuǎn)語(yǔ)句3.3.1break語(yǔ)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論