單元3循環(huán)結(jié)構(gòu)_第1頁
單元3循環(huán)結(jié)構(gòu)_第2頁
單元3循環(huán)結(jié)構(gòu)_第3頁
單元3循環(huán)結(jié)構(gòu)_第4頁
單元3循環(huán)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章 循環(huán)結(jié)構(gòu)回顧回顧v條件表達式的結(jié)果是什么類型的值?vswitch語句只能判斷哪幾種類型的值?v代碼找錯:switch(str)case “A”:Console.WriteLine(); default: Console.WriteLine(); break;switch(str) case “A”:Console.WriteLine(); break; default:Console.WriteLine(); break;本章內(nèi)容本章內(nèi)容vwhile語句vdo.while語句vfor語句本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo)v熟練使用while語句v熟練使用dowhile語句v熟練使用for語句循環(huán)

2、循環(huán)v為什么要用到循環(huán)?上面的代碼輸出乘法口訣表,是否我們在每次遇到這樣的上面的代碼輸出乘法口訣表,是否我們在每次遇到這樣的情況就把類似的代碼重新編寫一遍,反復(fù)執(zhí)行情況就把類似的代碼重新編寫一遍,反復(fù)執(zhí)行100次就要次就要重復(fù)編寫重復(fù)編寫100次呢?相信這樣的開發(fā)對編程人員就是一種次呢?相信這樣的開發(fā)對編程人員就是一種折磨。那么怎樣解決這個問題呢,這就要靠循環(huán)來完成。折磨。那么怎樣解決這個問題呢,這就要靠循環(huán)來完成。Console.WriteLine(1*1=1);Console.WriteLine(2*1=2 2*2=4);Console.WriteLine(3*1=3 3*2=6 3*3=

3、9);Console.WriteLine(4*1=4 4*2=8 4*3=12 4*4=16);while循環(huán)循環(huán)大部分人都使用過大部分人都使用過QQ,在,在QQ上登錄時,如果沒有輸入正確上登錄時,如果沒有輸入正確的帳號和密碼,就會一直給用戶提示直到帳號和密碼都正確的帳號和密碼,就會一直給用戶提示直到帳號和密碼都正確為止為止 這個例子里面先接收用戶的帳號和密碼,然后判斷是否正確,如果正確,登錄成功;如果不正確,就要重復(fù)接收用戶的帳號和密碼并再次判斷,直到正確為止。while循環(huán)循環(huán)Console.Write(我的我的QQ);Console.Write(登錄帳號登錄帳號:);string nam

4、e = Console.ReadLine(); /接收登錄帳號接收登錄帳號Console.Write(登錄密碼登錄密碼:);string password = Console.ReadLine(); /接收登錄密碼接收登錄密碼/循環(huán)判斷登錄帳號和密碼是否都正確,有一個不正確就繼續(xù)輸入循環(huán)判斷登錄帳號和密碼是否都正確,有一個不正確就繼續(xù)輸入while (name != admin | password != 123) Console.WriteLine(登錄帳號或密碼不正確,請重新輸入!登錄帳號或密碼不正確,請重新輸入!); Console.Write(登錄帳號登錄帳號:); name = Co

5、nsole.ReadLine(); /再次接收登錄帳號再次接收登錄帳號 Console.Write(登錄密碼登錄密碼:); password = Console.ReadLine(); /再次接收登錄密碼再次接收登錄密碼Console.WriteLine(歡迎登錄我的歡迎登錄我的QQ。);while循環(huán),重復(fù)執(zhí)行判斷登循環(huán),重復(fù)執(zhí)行判斷登錄帳號和密碼的正確,然后在錄帳號和密碼的正確,然后在不正確的情況下重新輸入不正確的情況下重新輸入while循環(huán)循環(huán)while(條件表達式條件表達式) 代碼塊代碼塊;反復(fù)執(zhí)行的代碼反復(fù)執(zhí)行的代碼判斷是否執(zhí)行循判斷是否執(zhí)行循環(huán)的條件環(huán)的條件 如果條件表達式的結(jié)果為

6、true,執(zhí)行while循環(huán)里的代碼塊;如果為false,循環(huán)結(jié)束While循環(huán)循環(huán)dowhile循環(huán)循環(huán)豬八戒被牛魔王的手下抓住,先被毆打一頓,然后被逼問唐豬八戒被牛魔王的手下抓住,先被毆打一頓,然后被逼問唐僧的下落,豬八戒只要回答僧的下落,豬八戒只要回答”不知道不知道”就要被毆打,直到回就要被毆打,直到回答答”知道知道”才停止。怎樣用循環(huán)來完成?才停止。怎樣用循環(huán)來完成? 豬八戒被毆打和詢問是反復(fù)執(zhí)行的功能,條件是豬八戒是否知道唐僧下落。但是這里要求不管豬八戒怎樣回答都要先被打一次dowhile循環(huán)循環(huán)string answer; /定義變量準(zhǔn)備保存回答內(nèi)容定義變量準(zhǔn)備保存回答內(nèi)容do /

7、輸出提示和詢問輸出提示和詢問 Console.WriteLine(豬八戒被毆打中。豬八戒被毆打中。); Console.Write(是否知道唐僧的下落?是否知道唐僧的下落?(Y/N); answer=Console.ReadLine(); /接收回答內(nèi)容接收回答內(nèi)容 while(answer!=Y&answer!=y); /判斷是否應(yīng)該繼續(xù)循環(huán)判斷是否應(yīng)該繼續(xù)循環(huán)Console.WriteLine(豬八戒終于挺不住毆打,吐露了師傅的下豬八戒終于挺不住毆打,吐露了師傅的下落落!);dowhile循環(huán)里的代碼必須循環(huán)里的代碼必須先執(zhí)行先執(zhí)行1次,再進行判斷次,再進行判斷dowhile循環(huán)循環(huán)do

8、代碼塊代碼塊; while(條件表達式條件表達式);反復(fù)執(zhí)行的代碼反復(fù)執(zhí)行的代碼判斷是否繼續(xù)執(zhí)判斷是否繼續(xù)執(zhí)行循環(huán)的條件行循環(huán)的條件 先執(zhí)行1次代碼塊,然后判斷條件表達式結(jié)果,如果條件表達式的結(jié)果為true,繼續(xù)執(zhí)行while循環(huán)里的代碼塊;如果為false,循環(huán)結(jié)束dowhile循環(huán)循環(huán)while和和dowhile區(qū)別區(qū)別循環(huán)循環(huán)循環(huán)控制循環(huán)控制循環(huán)次數(shù)循環(huán)次數(shù)0多次 先判斷,后執(zhí)行循環(huán)代碼while1多次先執(zhí)行1次循環(huán)代碼,后判定dowhileYear小結(jié)小結(jié)v while和dowhile的條件表達式的值是什么類型?v 以下代碼正確與否?如果正確,下面代碼循環(huán)幾次,變量sum的值是多少?i

9、nt sum=0,i=1;while(i5) sum=sum+i; i+; 循環(huán)循環(huán)4次次sum=10boolfor循環(huán)循環(huán)西游記西游記中唐僧師徒要經(jīng)歷九九八十一難才能取得真經(jīng),中唐僧師徒要經(jīng)歷九九八十一難才能取得真經(jīng),少一難佛祖也要給他們加上,我們用循環(huán)來實現(xiàn)這八十一難少一難佛祖也要給他們加上,我們用循環(huán)來實現(xiàn)這八十一難。 循環(huán)要從第一難開始,每經(jīng)歷(循環(huán))一難就要輸出一次提示,一直循環(huán)到第81難結(jié)束,取得真經(jīng)。 for循環(huán)循環(huán)/初始化循環(huán)的起點,初始化循環(huán)的起點,num代表第幾難代表第幾難/循環(huán)輸出第幾難,如果到了循環(huán)輸出第幾難,如果到了81難,就結(jié)束循環(huán)難,就結(jié)束循環(huán)for (int n

10、um = 1; num = 81; num+) Console.WriteLine(這是第這是第0難難, num); /輸出第幾難輸出第幾難Console.WriteLine(經(jīng)歷完九九八十一難,唐僧師徒終于取到了經(jīng)歷完九九八十一難,唐僧師徒終于取到了真經(jīng)。真經(jīng)。);for循環(huán)有起點,有循環(huán)有起點,有明確的循環(huán)次數(shù)明確的循環(huán)次數(shù)for循環(huán)循環(huán)for(表達式表達式1;表達式表達式2;表達式表達式3) 代碼塊代碼塊; 條件表達式,判斷條件表達式,判斷循環(huán)是否繼續(xù)執(zhí)行循環(huán)是否繼續(xù)執(zhí)行 首先執(zhí)行表達式1,再執(zhí)行表達式2,判斷是否符合循環(huán)條件,判斷結(jié)果如果為false,結(jié)束循環(huán);如果為true,執(zhí)行代碼

11、塊,然后執(zhí)行表達式3,再然后執(zhí)行表達式2繼續(xù)判斷,重復(fù)上面的操作直到判斷結(jié)果為false結(jié)束。賦值語句,控制循環(huán)賦值語句,控制循環(huán)變量的運算變量的運算循環(huán)執(zhí)行的代循環(huán)執(zhí)行的代碼碼for循環(huán)循環(huán)賦值語句,表示賦值語句,表示循環(huán)的起點循環(huán)的起點break 先接收用戶的帳號和密碼,然后判斷是否正確,如果正確,登錄成功;如果不正確,就要重復(fù)判斷是否是第三次循環(huán),如果是,警告并結(jié)束循環(huán),否則接收用戶的帳號和密碼并再次判斷帳號和密碼是否正確,直到正確為止。我們修改一下本章的第一個示例,我們修改一下本章的第一個示例,QQ登錄,如果連續(xù)輸入登錄,如果連續(xù)輸入錯誤錯誤3次,次,QQ就會在警告后自動退出程序,這種

12、在循環(huán)的過就會在警告后自動退出程序,這種在循環(huán)的過程中根據(jù)其他條件中止循環(huán)的情況用什么來完成呢?程中根據(jù)其他條件中止循環(huán)的情況用什么來完成呢?breakint count = 0; /定義變量保存登錄次數(shù),初始化為定義變量保存登錄次數(shù),初始化為0while (name != admin | password != 123) count+; /每循環(huán)每循環(huán)1次,登錄次數(shù)加次,登錄次數(shù)加1 if (count = 3) /如果登錄次數(shù)為如果登錄次數(shù)為3次,中止循環(huán)次,中止循環(huán) break; 強制退出循環(huán)強制退出循環(huán)continue 每星期7天,循環(huán)7次,每次循環(huán)輸出游戲運行,如果1代表星期一的話,

13、循環(huán)到3的時候在循環(huán)中輸出通知而不輸出游戲運行。某網(wǎng)絡(luò)游戲運營商每星期的星期三進行服務(wù)器的維護,在星某網(wǎng)絡(luò)游戲運營商每星期的星期三進行服務(wù)器的維護,在星期三要發(fā)布通知并暫時停止運行游戲,其余時間正常運行。期三要發(fā)布通知并暫時停止運行游戲,其余時間正常運行。這個例子特殊的地方是,每天循環(huán)運行游戲,但是到星期三這個例子特殊的地方是,每天循環(huán)運行游戲,但是到星期三(條件條件),循環(huán)執(zhí)行的是通知而停止游戲,星期三之后循環(huán)繼,循環(huán)執(zhí)行的是通知而停止游戲,星期三之后循環(huán)繼續(xù)運行游戲,并沒有停止續(xù)運行游戲,并沒有停止.continuefor (int i = 1; i = 7; i+) /循環(huán)循環(huán)7次,代表

14、次,代表7天,天,1代表星期一代表星期一 if (i = 3) /判斷是否星期三判斷是否星期三 /通知服務(wù)器維護,停止運行游戲通知服務(wù)器維護,停止運行游戲 Console.WriteLine(星期星期3,服務(wù)器維護,暫時不能登錄!,服務(wù)器維護,暫時不能登錄!); continue; Console.WriteLine(星期星期0,游戲正常進行,游戲正常進行,i);結(jié)束本次循環(huán),繼續(xù)執(zhí)行結(jié)束本次循環(huán),繼續(xù)執(zhí)行for循環(huán)的表達式循環(huán)的表達式3(i+)break和和continue的區(qū)別的區(qū)別關(guān)鍵字關(guān)鍵字不同點不同點break中止循環(huán),直接影響到循環(huán)次數(shù) breakcontinue停止本次循環(huán),繼續(xù)循環(huán),不影響循環(huán)次數(shù) continue小結(jié)小結(jié)vfor循環(huán)的三個表達式的作用。v下面的代碼輸出什么?int sum=1;for(int i=0;i5;i+) sum=sum*i;Console.WriteLine(“sum=0”,sum);sum=0常見錯誤常見錯誤-死循環(huán)死循環(huán)int i=1;while(i10) Console.WriteLine(這是第0次循環(huán)!,i);條件表達式永條件表達式永遠(yuǎn)為遠(yuǎn)為true常見錯誤常見錯誤-死循環(huán)死循環(huán)int

溫馨提示

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

最新文檔

評論

0/150

提交評論