第五講第六講-流程控制_第1頁
第五講第六講-流程控制_第2頁
第五講第六講-流程控制_第3頁
第五講第六講-流程控制_第4頁
第五講第六講-流程控制_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

…………

程序敘述;

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

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

Console.WriteLine(name+"購買半票!<br/>");}if/else二選一條件敘述-流程圖條件敘述結(jié)束length>120條件敘述開始執(zhí)行程序代碼(一)falsetrue執(zhí)行程序代碼(二)if/else/if多選一一條件件敘述述-說明所謂多多選一一條件件敘述述,可可以依依照條條件來來執(zhí)行行多個個不同同區(qū)塊塊的程程序代代碼。。C#語言的的多條條件敘敘述有有2種寫寫法法,,如如下下所所示示::if/else條件件的的擴擴充充。。switch多選選一一條條件件敘敘述述。。if/else/if多選選一一條條件件敘敘述述-說明明if/else/if多選選一一條條件件敘敘述述是是if/else條件件的的擴擴充充,,只只需需重重復復使使用用if/else條件件,,就就可可以以建建立立多多選選一一條條件件敘敘述述。。例例如如::使使用用年年齡齡判判斷斷搭搭乘乘公公交交車車的的乘乘客客票票價價是是學學生生、、普普通通或或敬敬老老票票,,如如下下所所示示::if(age<=18){str="學生生票票::12元<br>";}else{if(age>=65){str="敬老老票票::8元<br>";}else{str="普通通票票::15元<br>";}}if/else/if多選選一一條條件件敘敘述述-流程程圖圖switch多選選一一條條件件敘敘述述-說明明1C#語言言的的另另一一種種多多選選一一條條件件敘敘述述是是switch多條條件件敘敘述述,,它它是是依依照照符符合合的的條條件件執(zhí)執(zhí)行行不不同同程程序序區(qū)區(qū)塊塊的的程程序序代代碼碼,,例例如如::學學生生成成績績是是使使用用GPA的A、B、C、D來打打成成績績,,我我們們可可以以使使用用switch條件件敘敘述述來來顯顯示示轉(zhuǎn)轉(zhuǎn)換換的的成成績績范范圍圍,,如如下下所所示示::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語句句必必須須要要非非常常的的謹謹慎慎只能針對對基本數(shù)數(shù)據(jù)類型型使用switch,比如int和string類型。case標簽后面面只能是是常量或或常量表表達式case標簽必須須是唯一一性的,,不允許許多個case使用相同同的常量量或常量量表達式式。循環(huán)控制制結(jié)構(gòu)for循環(huán)敘述述foreach/in循環(huán)敘述述前測式while循環(huán)敘述述后測式do/while循環(huán)敘述述for循環(huán)敘述述-說明C#語言的for循環(huán)稱為為「計數(shù)數(shù)循環(huán)」」(CountingLoop),這是是一種簡簡化的while循環(huán),可可以重復復執(zhí)行固固定次數(shù)數(shù)的程序序區(qū)塊。。在for循環(huán)預設(shè)設(shè)擁有一一個計數(shù)數(shù)器,計計數(shù)器每每次增加加或減少少一個值值,直到到for循環(huán)的結(jié)結(jié)束條件件成立為為止,例例如:計計算1加到15的總和,,每次增增加1,如下所所示:for(i=1;i<=15;i++){Console.WriteLine(i+"");total+=i;}for循環(huán)敘述述-流程圖for循環(huán)敘述述-說明課堂練習習:(1)1+3+……+99;(2)1+2+4+8+………+128+256;(3)求n!(4)輸入一一整數(shù)A,判斷它它是否質(zhì)質(zhì)數(shù)。(5)求水仙仙花數(shù)。。所謂水水仙花數(shù)數(shù),是指指一個三三位數(shù)abc,如果滿滿足a^3+b^3+c^3=abc,則abc是水仙花花數(shù)。(6)編寫一個個評分程程序,接接受用戶戶輸入10個該選手手的得分分(0-10分),然后去去掉一個個最高分分和一個個最低分分,求出出某選手手的最后后得分(平均分)嵌套循環(huán)環(huán)循環(huán)控控制結(jié)構(gòu)構(gòu)for嵌套循環(huán)while與do/while嵌套循環(huán)環(huán)敘述for嵌套循環(huán)for嵌套循環(huán)環(huán)是在for循環(huán)中擁擁有其他他for循環(huán),循環(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í)執(zhí)行9次,兩層循循環(huán)共執(zhí)行行81次。for嵌套循環(huán)課堂小練習習:(1)輸出如下下圖形******打印如下圖圖案:1222(2)找出200到300之間的素數(shù)數(shù)(3)編程計算s=1!+2!+3!+...+10!(4)輸出九九九乘法表for嵌套循環(huán)課堂小練習習:(5)“百錢買百百雞”是我我國古代的的著名數(shù)學學題。題目目這樣描述述:3文錢可以買買1只公雞,2文錢可以買買一只母雞雞,1文錢可以買買3只小雞。用用100文錢買100只雞,那么么各有公雞雞、母雞、、小雞多少少只?與之之相似,有有"雞兔同籠"問題。for嵌套循環(huán)自己試一試試:某動物飼養(yǎng)養(yǎng)中心用1700元??钯徺I買小狗(每只31元)和小貓(每只21元)兩種小動物物。要求專??顚S?正好用完,應當如何購購買?請輸出所有有方案。for嵌套循環(huán)課堂小練習習:(6)宰相的麥子子:相傳古古印度宰相相達依爾,,是國際象象棋的發(fā)明明者。有一一次,國王王因為他的的貢獻要獎獎勵他,問問他想要什什么。達依依爾說:““只要在國國際象棋棋棋盤上(共共64格)擺上這這么些麥子子就行了::第一格一一粒,第二二格兩粒,,……,后面一格格的麥子總總是前一格格麥子數(shù)的的兩倍,擺擺滿整個棋棋盤,我就就感恩不盡盡了?!眹鴩跻幌耄?,這還不容容易,剛想想答應,如如果你這時時在國王旁旁邊站著,,你會不會會勸國王別別答應,為為什么?編編程求所需需麥子的個個數(shù)(設(shè)1立方米麥子子約跳出與繼續(xù)續(xù)循環(huán)break關(guān)鍵詞中斷斷循環(huán)continue關(guān)鍵詞繼續(xù)續(xù)循環(huán)return關(guān)鍵字break關(guān)鍵詞中斷斷循環(huán)循環(huán)如果尚尚未到達結(jié)結(jié)束條件,,我們可以以使用break關(guān)鍵詞強迫迫跳出循環(huán)環(huán)。例如::使用break關(guān)鍵詞來結(jié)結(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)有一個三三位數(shù),它它的各位數(shù)數(shù)字之和的的11倍恰好等于于它自身,,請編程求求出這個三三位數(shù)。continue關(guān)鍵詞繼續(xù)續(xù)循環(huán)continue關(guān)鍵詞可以以馬上繼續(xù)續(xù)下一次循循環(huán)的執(zhí)行行,而不執(zhí)執(zhí)行程序區(qū)區(qū)塊位在continue關(guān)鍵詞后的的程序代碼碼。如果使使用在for循環(huán),一樣樣會更新計計數(shù)器變量量。例如::使用continue關(guān)鍵詞馬上上繼續(xù)下一一次while循環(huán)的執(zhí)行行,如下所所示:while(i<100){i+=1;if(i%2==0){continue;}total+=i;}continue語句練習:設(shè)計一個猜猜數(shù)游戲,,由計算機機隨機出一一個1到100以內(nèi)的整數(shù)數(shù),讓你猜猜。如果你你猜

溫馨提示

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

評論

0/150

提交評論