5、6 - 第五講、第六講-流程控制_第1頁(yè)
5、6 - 第五講、第六講-流程控制_第2頁(yè)
5、6 - 第五講、第六講-流程控制_第3頁(yè)
5、6 - 第五講、第六講-流程控制_第4頁(yè)
5、6 - 第五講、第六講-流程控制_第5頁(yè)
已閱讀5頁(yè),還剩29頁(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#語(yǔ)言程序設(shè)計(jì)基礎(chǔ)——流程控制第五講C#的流程控制流程控制的基礎(chǔ)條件控制結(jié)構(gòu)ifif/elseif/elseif/elseswitch循環(huán)控制結(jié)構(gòu)forforeachwhile、do-while(了解)跳轉(zhuǎn)語(yǔ)句break、continue、return流程控制的基礎(chǔ)-說明程序語(yǔ)言撰寫的程序代碼大部分是一列程序代碼接著一列程序代碼來循序的執(zhí)行,但是對(duì)于復(fù)雜工作,為了達(dá)成預(yù)期的執(zhí)行結(jié)果,需要使用「流程控制結(jié)構(gòu)」(ControlStructures)來更改執(zhí)行的流程。流程控制結(jié)構(gòu)是使用條件判斷,來決定執(zhí)行方向或是否繼續(xù)執(zhí)行指定的程序區(qū)塊,換句話說,程序設(shè)計(jì)者可以使用條件來控制程序碼的執(zhí)行,以便達(dá)成程序所需的執(zhí)行結(jié)果。流程控制的基礎(chǔ)-種類條件控制:條件控制是一個(gè)選擇題,可能為單一選擇或多選一,依照條件表達(dá)式的結(jié)果,可以決定執(zhí)行哪一個(gè)區(qū)塊的程序代碼。如同從學(xué)?;蚬咀呗坊丶?,因?yàn)榛丶业穆凡恢灰粭l,當(dāng)走到十字路口時(shí)可以決定向左、向右或直走,雖然最終都會(huì)到家,但是經(jīng)過路徑長(zhǎng)度就不相同。循環(huán)控制:循環(huán)控制是重復(fù)執(zhí)行區(qū)塊的程序代碼,擁有結(jié)束條件,可以結(jié)束循環(huán)的執(zhí)行。它有如馬路上的圓環(huán),車子可以一直環(huán)繞著圓環(huán)行走,車子可以隨興蹺幾圈或決定是否離開圓環(huán),進(jìn)入圓環(huán)是進(jìn)入循環(huán),離開圓環(huán)就是離開循環(huán)。流程控制的基礎(chǔ)-程序區(qū)塊程序區(qū)塊(Blocks)是一種最簡(jiǎn)單的結(jié)構(gòu)敘述,它的目的只是將零到多列的程序敘述組合成一個(gè)群組,所以也稱為「結(jié)合敘述」(CompoundStatements)。我們可以將整個(gè)程序區(qū)塊視為一列程序敘述,以結(jié)構(gòu)化程序設(shè)計(jì)來說,程序區(qū)塊就是最簡(jiǎn)單的模塊,其語(yǔ)法如下所示:{

…………

程序敘述;

…………}條件控制結(jié)構(gòu)if是否選條件敘述if/else二選一條件敘述if/else/if多選一條件敘述switch多選一條件敘述if是否選條件敘述-說明if條件敘述是一種是否執(zhí)行的單選題,只是決定是否執(zhí)行程序區(qū)塊內(nèi)的程序代碼,如果條件表達(dá)式的結(jié)果為true,就執(zhí)行之后的程序區(qū)塊。例如:判斷學(xué)生成績(jī)是否及格,如下所示:if(score>=60){Response.Write(name+"成績(jī)及格!");Response.Write("學(xué)生成績(jī):"+score+"<br/>");}if是否選條件敘述-流程圖falsetrue條件敘述結(jié)束score>=60條件敘述開始執(zhí)行程序代碼if/else二選一條件敘述-說明如果條件是擁有排它情況的2個(gè)程序區(qū)塊,只能二選一,我們可以加上else關(guān)鍵詞。如果if條件為true,就執(zhí)行else之前的程序區(qū)塊;false執(zhí)行else之后的程序區(qū)塊。例如:使用身高來判斷購(gòu)買全票,還是半票,如下所示:if(length>120){

Console.WriteLine(name+"購(gòu)買全票!<br/>");}else{

Console.WriteLine(name+"購(gòu)買半票!<br/>");}if/else二選一條件敘述-流程圖條件敘述結(jié)束length>120條件敘述開始執(zhí)行程序代碼(一)falsetrue執(zhí)行程序代碼(二)if/else/if多選一條件敘述-說明所謂多選一條件敘述,可以依照條件來執(zhí)行多個(gè)不同區(qū)塊的程序代碼。C#語(yǔ)言的多條件敘述有2種寫法,如下所示:if/else條件的擴(kuò)充。switch多選一條件敘述。if/else/if多選一條件敘述-說明if/else/if多選一條件敘述是if/else條件的擴(kuò)充,只需重復(fù)使用if/else條件,就可以建立多選一條件敘述。例如:使用年齡判斷搭乘公交車的乘客票價(jià)是學(xué)生、普通或敬老票,如下所示:if(age<=18){str="學(xué)生票:12元<br>";}else{if(age>=65)

{str="敬老票:8元<br>";}else

{str="普通票:15元<br>";}}if/else/if多選一條件敘述-流程圖switch多選一條件敘述-說明1C#語(yǔ)言的另一種多選一條件敘述是switch多條件敘述,它是依照符合的條件執(zhí)行不同程序區(qū)塊的程序代碼,例如:學(xué)生成績(jī)是使用GPA的A、B、C、D來打成績(jī),我們可以使用switch條件敘述來顯示轉(zhuǎn)換的成績(jī)范圍,如下所示:switch(grade){case'A':str="超過80分<br>";break;case'B':str="70~79分<br>";break;case'C':str="60~69分<br>";break;default:str="低于60分<br>";break;}switch多選一條件敘述-流程圖switch多選一條件敘述-流程圖注意:使用switch語(yǔ)句必須要非常的謹(jǐn)慎只能針對(duì)基本數(shù)據(jù)類型使用switch,比如int和string類型。case標(biāo)簽后面只能是常量或常量表達(dá)式case標(biāo)簽必須是唯一性的,不允許多個(gè)case使用相同的常量或常量表達(dá)式。循環(huán)控制結(jié)構(gòu)for循環(huán)敘述foreach/in循環(huán)敘述前測(cè)式while循環(huán)敘述后測(cè)式do/while循環(huán)敘述for循環(huán)敘述-說明C#語(yǔ)言的for循環(huán)稱為「計(jì)數(shù)循環(huán)」(CountingLoop),這是一種簡(jiǎn)化的while循環(huán),可以重復(fù)執(zhí)行固定次數(shù)的程序區(qū)塊。在for循環(huán)預(yù)設(shè)擁有一個(gè)計(jì)數(shù)器,計(jì)數(shù)器每次增加或減少一個(gè)值,直到for循環(huán)的結(jié)束條件成立為止,例如:計(jì)算1加到15的總和,每次增加1,如下所示:for(i=1;i<=15;i++){

Console.WriteLine(i+"");total+=i;}for循環(huán)敘述-流程圖for循環(huán)敘述-說明課堂練習(xí):(1)1+3+……+99;(2)1+2+4+8+……+128+256;(3)求n?。?)輸入一整數(shù)A,判斷它是否質(zhì)數(shù)。(5)求水仙花數(shù)。所謂水仙花數(shù),是指一個(gè)三位數(shù)abc,如果滿足a^3+b^3+c^3=abc,則abc是水仙花數(shù)。(6)編寫一個(gè)評(píng)分程序,接受用戶輸入10個(gè)該選手的得分(0-10分),然后去掉一個(gè)最高分和一個(gè)最低分,求出某選手的最后得分(平均分)嵌套循環(huán)循環(huán)控制結(jié)構(gòu)for嵌套循環(huán)while與do/while嵌套循環(huán)敘述for嵌套循環(huán)for嵌套循環(huán)是在for循環(huán)中擁有其他for循環(huán),循環(huán)如同巢狀一般的層層排列,如下所示:for(i=1;i<=9;i++){for(j=1;j<=9;j++){

………}}上述循環(huán)共有兩層,第一層循環(huán)執(zhí)行9次,第二層循環(huán)也執(zhí)行9次,兩層循環(huán)共執(zhí)行81次。for嵌套循環(huán)課堂小練習(xí):(1)輸出如下圖形 * ** ***

打印如下圖案: 1 222(2)找出200到300之間的素?cái)?shù)(3)編程計(jì)算s=1!+2!+3!+...+10!(4)輸出九九乘法表for嵌套循環(huán)課堂小練習(xí):(5)“百錢買百雞”是我國(guó)古代的著名數(shù)學(xué)題。題目這樣描述:3文錢可以買1只公雞,2文錢可以買一只母雞,1文錢可以買3只小雞。用100文錢買100只雞,那么各有公雞、母雞、小雞多少只?與之相似,有"雞兔同籠"問題。for嵌套循環(huán)自己試一試:

某動(dòng)物飼養(yǎng)中心用1700元??钯?gòu)買小狗(每只31元)和小貓(每只21元)兩種小動(dòng)物。要求??顚S?正好用完,應(yīng)當(dāng)如何購(gòu)買?請(qǐng)輸出所有方案。for嵌套循環(huán)課堂小練習(xí):(6)宰相的麥子:相傳古印度宰相達(dá)依爾,是國(guó)際象棋的發(fā)明者。有一次,國(guó)王因?yàn)樗呢暙I(xiàn)要獎(jiǎng)勵(lì)他,問他想要什么。達(dá)依爾說:“只要在國(guó)際象棋棋盤上(共64格)擺上這么些麥子就行了:第一格一粒,第二格兩粒,……,后面一格的麥子總是前一格麥子數(shù)的兩倍,擺滿整個(gè)棋盤,我就感恩不盡了?!眹?guó)王一想,這還不容易,剛想答應(yīng),如果你這時(shí)在國(guó)王旁邊站著,你會(huì)不會(huì)勸國(guó)王別答應(yīng),為什么?編程求所需麥子的個(gè)數(shù)(設(shè)1立方米麥子約跳出與繼續(xù)循環(huán)break關(guān)鍵詞中斷循環(huán)continue關(guān)鍵詞繼續(xù)循環(huán)return關(guān)鍵字break關(guān)鍵詞中斷循環(huán)循環(huán)如果尚未到達(dá)結(jié)束條件,我們可以使用break關(guān)鍵詞強(qiáng)迫跳出循環(huán)。例如:使用break關(guān)鍵詞來結(jié)束for循環(huán)的執(zhí)行,如下所示:for(i=1;i<=100;i++){total+=i;if(i==j){break;}}break關(guān)鍵詞中斷循環(huán)示例:(1)隨即產(chǎn)生數(shù)組,直到遇到50為止(2)有一個(gè)三位數(shù),它的各位數(shù)字之和的11倍恰好等于它自身,請(qǐng)編程求出這個(gè)三位數(shù)。continue關(guān)鍵詞繼續(xù)循環(huán)continue關(guān)鍵詞可以馬上繼續(xù)下一次循環(huán)的執(zhí)行,而不執(zhí)行程序區(qū)塊位在continue關(guān)鍵詞后的程序代碼。如果使用在for循環(huán),一樣會(huì)更新計(jì)數(shù)器變量。例如:使用continue關(guān)鍵詞馬上繼續(xù)下一次while循環(huán)的執(zhí)行,如下所示:while(i<100){i+=1;if(i%2==0){continue;}total+=i;}continue語(yǔ)句練習(xí):設(shè)計(jì)一個(gè)猜數(shù)游戲,由計(jì)算機(jī)隨機(jī)出一個(gè)1到100以內(nèi)的整數(shù),讓你猜。如果你猜的數(shù)大了,計(jì)算機(jī)要有提示,并將猜數(shù)范圍上限定在你剛才猜的數(shù)上,如果你猜小了,計(jì)算機(jī)有提示,并將猜數(shù)范圍下限定在你剛才猜的數(shù)上,……,最后當(dāng)你猜中后,計(jì)算機(jī)輸出你猜的次數(shù)??偨Y(jié)流程控制的基礎(chǔ)條件控制結(jié)構(gòu)ifif/elseif/elseif/elseswitch循環(huán)控制結(jié)構(gòu)forforeachwhile、do-while(了解)跳轉(zhuǎn)語(yǔ)句break、continue、return演講完畢,謝謝觀看!內(nèi)容總結(jié)C#語(yǔ)言程序設(shè)計(jì)基礎(chǔ)——流程控制。while、do-while(了解)。break、continue、return。break、continue、return。例如:判斷學(xué)生成績(jī)是否及格,如下所示:。Console.WriteLine(name+"購(gòu)買半票。所謂多選一條件敘述,可以依照條件來執(zhí)行多個(gè)不同

溫馨提示

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