版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第4章循環(huán)流程控制語句本章導(dǎo)讀:本章的主要內(nèi)容是學(xué)習循環(huán)流程控制語句。然后通過項目“猜數(shù)字游戲”為導(dǎo)向,兩個任務(wù)(構(gòu)建游戲界面、游戲競猜)為驅(qū)動,學(xué)習有關(guān)C#語言的循環(huán)流程控制語句,包括while循環(huán)、do-while循環(huán)、for循環(huán)、foreach循環(huán)等,本項目的完成為后續(xù)項目完成奠定了基礎(chǔ)。第4章循環(huán)流程控制語句
——任務(wù)一構(gòu)建游戲界面
一、任務(wù)描述:游戲界面的需要使用基本輸出命令進行構(gòu)建。分析猜數(shù)字游戲的規(guī)則流程,得出需要定義的變量。在游戲中先隨機生成一個待猜數(shù)字,范圍是1~100,然后玩家輸入所猜數(shù)字,如果正確則提示“恭喜您!猜對了!”,如果猜錯了,則提示新的數(shù)字范圍,逐漸縮小數(shù)字范圍,最后幫助玩家猜到數(shù)字。游戲運行過程如左圖所示。本游戲適合多個玩家一起玩,不幸猜中的玩家給予處罰。二、任務(wù)分析:F(1)分析猜數(shù)字游戲的規(guī)則流程得知需要以下五個變量序號變量名稱變量作用1guess保存待猜數(shù)字2min,max保存提示當前數(shù)范圍3input玩家輸入的猜測數(shù)字4tmp由于控制臺輸入的是字符串,需要臨時字符串變量來接受玩家輸入的內(nèi)容。5r本任務(wù)需要產(chǎn)生的隨機待猜數(shù)字,范圍是1~100。C#提供了一個強大的隨機類Random,使用該類定義隨機對象r。三、任務(wù)實施:1、啟動VisualStudio2010,建立名為“Guess”的窗體應(yīng)用程序。2、打開Fom1.cs代碼文件,對各變量進行定義并賦初值:intguess;//待猜數(shù)
intmin;//范圍最小值
intmax;//范圍最大值
intinput;//保存玩家輸入值
Randomr=newRandom();//隨機對象,用于產(chǎn)生隨機數(shù)
//變量初始化
guess=r.Next(1,100);//產(chǎn)生1-100之間的隨機整數(shù)
min=1;//初始范圍最小值為1
max=100;//初始范圍最大值為100三、任務(wù)實施:3、游戲提示信息:Console.WriteLine("待猜數(shù)已經(jīng)生成,范圍是:1至100\n");1、產(chǎn)生1個隨機數(shù)的方法如下:Randomr=newRandom();//隨機對象,用于產(chǎn)生隨機數(shù)r.Next(1,100);//產(chǎn)生1-100之間的隨機整數(shù)四、任務(wù)小結(jié):第4章循環(huán)流程控制語句
——任務(wù)二游戲競猜
一、任務(wù)描述:游戲競猜過程如下,運行效果如右圖所示:
(1)先隨機生成一個待猜數(shù)字,范圍是1~100(2)然后玩家輸入所猜數(shù)字,如果正確則提示“恭喜您!猜對了!”,如果猜錯了,則提示新的數(shù)字范圍(3)逐漸縮小數(shù)字范圍,最后幫助玩家猜到數(shù)字。二、任務(wù)準備:1while語句2do…while語句3for語句4while語句5跳轉(zhuǎn)語句1、while語句while語句又叫直到型循環(huán)語句,通常用于循環(huán)次數(shù)不確定,但循環(huán)條件非常明確的循環(huán)控制語句中,while語句的基本結(jié)構(gòu)如下:二、任務(wù)準備:while(條件表達式){
循環(huán)體語句;}二、任務(wù)準備:2、do…while語句do-while語句與while語句類似,不同的是do-while在進行條件表達式判定之前,先執(zhí)行一次循環(huán)體語句。do{
循環(huán)體語句;}while(條件表達式);二、任務(wù)準備:3、for語句for語句通常用于循環(huán)次數(shù)比較確定的循環(huán)流程控制語句,它的基本格式如下:for(初始化表達式;條件表達式;循環(huán)表達式){
循環(huán)語句塊//執(zhí)行語句}二、任務(wù)準備:4、foreach語句foreach循環(huán)語句用于對數(shù)組和集合類型中的每個元素進行只讀訪問。foreach語句為數(shù)組或?qū)ο蠹现械母鱾€元素的只讀提供了一種機制。foreach語句用于循環(huán)訪問集合以獲取信息,但不用更改集合內(nèi)容。foreach(迭代類型
迭代變量名
in集合){ //foreach循環(huán)體}二、任務(wù)準備:例:使用foreach循環(huán)依次序輸出字符串“我是C#程序員”的每一個字。stringstr="我是C#程序員";foreach(charcinstr){Console.WriteLine(c);}Console.ReadLine();二、任務(wù)準備:break語句只能在switch分支語句和循環(huán)語句中使用,通常配合if語句一起使用,當條件滿足(或不滿足)時,強制退出循環(huán)。如果循環(huán)體中使用switch語句,而break出現(xiàn)在switch語句中,則它只用于結(jié)束switch,而不影響循環(huán)。break語句只能結(jié)束包含它的最內(nèi)層循環(huán),而不能跳了多重循環(huán)。(1)break語句break語句形式:break;、5、跳轉(zhuǎn)語句continue語句功能:它只能出現(xiàn)在循環(huán)體中,其功能是立即結(jié)束本次循環(huán),即遇到continue語句時,不執(zhí)行循環(huán)體中continue后的語句,立即轉(zhuǎn)去判斷循環(huán)條件是否成立,即中止當次循環(huán)進入下一次循環(huán)。二、任務(wù)準備:5、跳轉(zhuǎn)語句(2)continue語句continue語句形式:continue;continue與break語句的區(qū)別:continue只是結(jié)束本次循環(huán),而不是終止整個循環(huán)語句的執(zhí)行,break則是終止當前整個循環(huán)語句的執(zhí)行,轉(zhuǎn)到當前循環(huán)語句后的下一條語句去執(zhí)行。特別注意二、任務(wù)準備:注意:goto語句往往用來從多重循環(huán)中跳出。它在解決一些特定問題時很方便,但由于goto語句難于控制,盡量少用。goto語句在任務(wù)2.3簡易計算器中已經(jīng)使用過,這里不再舉例說明。5、跳轉(zhuǎn)語句(3)goto語句goto語句標號;三、任務(wù)分析:游戲的競猜可能要經(jīng)過多次才能結(jié)束。對于循環(huán)結(jié)構(gòu)的程序設(shè)計,一般首先考慮1次循環(huán)如何進行,在本項目中就應(yīng)該考慮1次競猜如何完成,然后再對競猜部分代碼加上循環(huán)語句使得程序循環(huán)。四、任務(wù)實施:1.打開任務(wù)4.1中未完成的“Guess”控制臺應(yīng)用程序。2.輸入玩家所猜數(shù)字,并判斷是否正確:
do{Console.WriteLine("你猜?");input=Convert.ToInt32(Console.ReadLine());if(input==guess){Console.WriteLine("恭喜你,猜對了!\n");Console.ReadLine();break;四、任務(wù)實施:}elseif(input<guess){min=input;Console.WriteLine("繼續(xù):"+min+"~"+max);}else{max=input;Console.WriteLine("繼續(xù):"+min+"~"+max);}}while(true);四、任務(wù)實施:3.當玩家所猜數(shù)字不正確時,給出縮小數(shù)字范圍,讓玩家繼續(xù)猜數(shù)字,修改程序段為:
Console.WriteLine("你猜?");input=Convert.ToInt32(Console.ReadLine());if(input==guess){Console.WriteLine("恭喜你,猜對了!\n");Console.ReadLine();break;}elseif(input<guess){min=input;//修正數(shù)字的最小值
Console.WriteLine("繼續(xù):"+min+"~"+max);}else{max=input;//修正數(shù)字的最大值
Console.WriteLine("繼續(xù):"+min+"~"+max);}四、任務(wù)實施:五、任務(wù)小結(jié):(1)一個程序的靈魂在于算法的體現(xiàn),在進行復(fù)雜流程程序編程時,最好的方式是事先畫出流程圖,流程圖的畫法可以參考相關(guān)書籍。(2)while(true)表示循環(huán)條件為真,只有當遇到break語句時,才會退出循環(huán)。五、任務(wù)小結(jié):(3)3個循環(huán)語句之間通常可以相互替換,在實際編程時,要根據(jù)需要選擇適合的循環(huán)語句。利用while語句修改程序段:
while(true){Console.WriteLine("你猜?");
input=Convert.ToInt32(Console.ReadLine());
if(input==guess)
{
Console.WriteLine("恭喜你,猜對了!\n");
Console.ReadLine();
break;}elseif(input<guess){min=input;//修正數(shù)字的最小值Console.WriteLine("繼續(xù):"+min+"~"+max);}else
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版新能源車輛制造入股合作協(xié)議書范本3篇
- 2025年度DJ音樂作品原創(chuàng)性鑒定及侵權(quán)賠償合同3篇
- 水處理工程師聘用合同模板
- 設(shè)計創(chuàng)意工作室租賃協(xié)議
- 廣場建設(shè)挖機租賃協(xié)議
- 休閑度假村泳池施工協(xié)議
- 2024年高品質(zhì)食品副食批發(fā)銷售協(xié)議版B版
- 2024年版酒店廚房外包協(xié)議3篇
- 項目外包合同范本
- 2025年度綠色建筑項目合同價格動態(tài)調(diào)整及風險管理范本3篇
- 建筑施工現(xiàn)場封條
- ANSYS有限元技術(shù)分析優(yōu)化
- 模具專業(yè)英語完整版電子課件
- 小學(xué)數(shù)學(xué)北師大四年級上冊四運算律運算定律復(fù)習課PPT
- 個人社保代繳協(xié)議合同模板
- 給水排水管道工程外觀質(zhì)量檢查記錄
- 2022年國家電力公司火力發(fā)電廠勞動定員標準
- 危險化學(xué)品水路運輸安全管理規(guī)定
- 教育中的心理效應(yīng)
- 考古繪圖(課堂PPT)
- PE管熱熔對接施工方案完整
評論
0/150
提交評論