C#課件_第4章 循環(huán)結(jié)構(gòu)_第1頁(yè)
C#課件_第4章 循環(huán)結(jié)構(gòu)_第2頁(yè)
C#課件_第4章 循環(huán)結(jié)構(gòu)_第3頁(yè)
C#課件_第4章 循環(huán)結(jié)構(gòu)_第4頁(yè)
C#課件_第4章 循環(huán)結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 順序、分支、循環(huán)是結(jié)構(gòu)化程序設(shè)計(jì)的順序、分支、循環(huán)是結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu),本章主要任務(wù)是學(xué)習(xí)如三種基本結(jié)構(gòu),本章主要任務(wù)是學(xué)習(xí)如何使用循環(huán)結(jié)構(gòu)解決問(wèn)題。何使用循環(huán)結(jié)構(gòu)解決問(wèn)題。主要內(nèi)容主要內(nèi)容nfor循環(huán)循環(huán)ndo循環(huán)循環(huán)nwhile循環(huán)循環(huán)n循環(huán)的中斷循環(huán)的中斷任務(wù)任務(wù)1n任務(wù)功能:任務(wù)功能: 計(jì)算計(jì)算1100之間的奇數(shù)和及偶數(shù)和之間的奇數(shù)和及偶數(shù)和 n學(xué)習(xí)目的:學(xué)習(xí)目的: 利用利用for循環(huán)解決簡(jiǎn)單問(wèn)題;循環(huán)解決簡(jiǎn)單問(wèn)題;程序代碼 privateprivate voidvoid button1_Click( button1_Click(objectobject s

2、ender, sender, EventArgsEventArgs e) e) intint evensum=0, oddsum evensum=0, oddsum=0;=0; forfor ( (intint i = 1; i = 100; i+) i = 1; i = 100; i+) ifif (i % 2 = 0) (i % 2 = 0) evensum evensum += i; += i; elseelse oddsum oddsum += i; += i; textBox1.Text = textBox1.Text = ConvertConvert.ToString(oddsum

3、.ToString(oddsum);); textBox2.Text = textBox2.Text = ConvertConvert.ToString(evensum.ToString(evensum);); 相關(guān)知識(shí)nfor循環(huán)循環(huán) for (初始化初始化; 布爾表達(dá)式布爾表達(dá)式; 步長(zhǎng)步長(zhǎng)) 循環(huán)體循環(huán)體 參數(shù)說(shuō)明參數(shù)說(shuō)明n初始化:用于定義和初始化循環(huán)變量的表達(dá)式,用于初始化:用于定義和初始化循環(huán)變量的表達(dá)式,用于循環(huán)開(kāi)始時(shí)執(zhí)行,且只執(zhí)行一次。例如循環(huán)開(kāi)始時(shí)執(zhí)行,且只執(zhí)行一次。例如int i=1,這個(gè),這個(gè)表達(dá)式說(shuō)明整型變量表達(dá)式說(shuō)明整型變量i是局限于循環(huán)本身的變量,在循是局限于循環(huán)本身

4、的變量,在循環(huán)結(jié)束后,該變量即終止存在。環(huán)結(jié)束后,該變量即終止存在。n布爾表達(dá)式:這是一個(gè)結(jié)果為布爾值的表達(dá)式,用于布爾表達(dá)式:這是一個(gè)結(jié)果為布爾值的表達(dá)式,用于決定何時(shí)繼續(xù)循環(huán),何時(shí)終止循環(huán)。例如決定何時(shí)繼續(xù)循環(huán),何時(shí)終止循環(huán)。例如i 0.00001); (t 0.00001); textBox1.Text = textBox1.Text = ConvertConvert.ToString(i.ToString(i);); textBox2.Text = textBox2.Text = ConvertConvert.ToString(se.ToString(se);); 相關(guān)知識(shí)1ndo循環(huán)

5、循環(huán) do 循環(huán)體循環(huán)體 while (布爾表達(dá)式布爾表達(dá)式);ndo語(yǔ)句的執(zhí)行過(guò)程:首先執(zhí)行循環(huán)體語(yǔ)句的執(zhí)行過(guò)程:首先執(zhí)行循環(huán)體中的語(yǔ)句,然后計(jì)算布爾表達(dá)式的值,中的語(yǔ)句,然后計(jì)算布爾表達(dá)式的值,若該值為真,則再次執(zhí)行循環(huán)體中的若該值為真,則再次執(zhí)行循環(huán)體中的語(yǔ)句;否則,退出該循環(huán),執(zhí)行語(yǔ)句;否則,退出該循環(huán),執(zhí)行while語(yǔ)句后面的第一條語(yǔ)句。語(yǔ)句后面的第一條語(yǔ)句。任務(wù)任務(wù)3n任務(wù)功能:任務(wù)功能: 求兩數(shù)最大公約數(shù)和最小公倍數(shù)求兩數(shù)最大公約數(shù)和最小公倍數(shù)n學(xué)習(xí)目的:學(xué)習(xí)目的: 學(xué)習(xí)學(xué)習(xí)while循環(huán)循環(huán) 求兩自然數(shù)求兩自然數(shù)m m,n n的最大公約數(shù)和最小公倍數(shù)。的最大公約數(shù)和最小公倍數(shù)。

6、設(shè)計(jì)思想:設(shè)計(jì)思想: 假設(shè)假設(shè)mnmn (1 1)m m除以除以n n得到余數(shù)得到余數(shù)r r; (2 2)若)若r=0r=0,則,則n n為最大公約數(shù),算法結(jié)束;為最大公約數(shù),算法結(jié)束;否則執(zhí)行(否則執(zhí)行(3 3);); (3 3)nmnm,rnrn,再轉(zhuǎn)到(,再轉(zhuǎn)到(1 1)執(zhí)行。)執(zhí)行。程序代碼 privateprivate voidvoid button1_Click( button1_Click(objectobject sender, sender, EventArgsEventArgs e) e) intint m, n, r, t; m, n, r, t; m = m = Con

7、vertConvert.ToInt32(textBox1.Text); .ToInt32(textBox1.Text); /取兩個(gè)數(shù)取兩個(gè)數(shù) n = n = ConvertConvert.ToInt32(textBox2.Text);.ToInt32(textBox2.Text); ifif (m n) t = m; m = n; n = t; (m nmn whilewhile( n 0) ( n 0) /用輾轉(zhuǎn)相除法,直到用輾轉(zhuǎn)相除法,直到n=0 n=0 r = m % n; r = m % n; m = n; m = n; n = r; n = r; textBox3.Text = te

8、xtBox3.Text = ConvertConvert.ToString(m.ToString(m); ); /m/m就是最大公約數(shù)就是最大公約數(shù) t = m;t = m; m = m = ConvertConvert.ToInt32(textBox1.Text);.ToInt32(textBox1.Text); n = n = ConvertConvert.ToInt32(textBox2.Text);.ToInt32(textBox2.Text); textBox4.Text = textBox4.Text = ConvertConvert.ToString(m.ToString(m *

9、 * n) / t); n) / t); 相關(guān)知識(shí)1nwhile循環(huán)循環(huán) while (布爾表達(dá)式布爾表達(dá)式) 循環(huán)體循環(huán)體 nwhilewhile語(yǔ)句的執(zhí)行過(guò)程:首先計(jì)算布爾語(yǔ)句的執(zhí)行過(guò)程:首先計(jì)算布爾表達(dá)式的值,若該值為真,則執(zhí)行循表達(dá)式的值,若該值為真,則執(zhí)行循環(huán)體中的語(yǔ)句;否則,退出該循環(huán),環(huán)體中的語(yǔ)句;否則,退出該循環(huán),執(zhí)行執(zhí)行whilewhile語(yǔ)句后面的第一條語(yǔ)句。語(yǔ)句后面的第一條語(yǔ)句。相關(guān)知識(shí)2n死循環(huán)死循環(huán) while循環(huán)和循環(huán)和do循環(huán)的特殊形式,條件永遠(yuǎn)為真:循環(huán)的特殊形式,條件永遠(yuǎn)為真: while(truewhile(true) ) 循環(huán)體循環(huán)體 do do 循環(huán)體循

10、環(huán)體 while(truewhile(true););這樣的循環(huán)稱為死循環(huán),除非在循環(huán)體中設(shè)這樣的循環(huán)稱為死循環(huán),除非在循環(huán)體中設(shè)置跳出循環(huán)的條件。置跳出循環(huán)的條件。 任務(wù)任務(wù)4n任務(wù)功能:任務(wù)功能: s= n!,求!,求n,使得,使得s不超過(guò)不超過(guò)50000 。 n學(xué)習(xí)目的:學(xué)習(xí)目的: 學(xué)習(xí)循環(huán)的中斷;學(xué)習(xí)循環(huán)的中斷;程序代碼 privateprivate voidvoid button1_Click( button1_Click(objectobject sender, sender, EventArgsEventArgs e) e) intint i; i; doubledouble s

11、 = 1; s = 1; forfor (i = 1; i= 100; i+) (i = 1; i 50000) (s 50000) breakbreak; ; /如果如果s50000s50000,則終止循環(huán),則終止循環(huán) textBox1.Text = textBox1.Text = ConvertConvert.ToString(i-1);.ToString(i-1); textBox2.Text = textBox2.Text = ConvertConvert.ToString(s/i.ToString(s/i);); 相關(guān)知識(shí)1n循環(huán)的中斷循環(huán)的中斷 在某些情況下,循環(huán)可以不按照預(yù)先設(shè)計(jì)

12、的那在某些情況下,循環(huán)可以不按照預(yù)先設(shè)計(jì)的那樣執(zhí)行,需要提前強(qiáng)制退出循環(huán)。樣執(zhí)行,需要提前強(qiáng)制退出循環(huán)。C#提供了提供了三種中斷控制流程的關(guān)鍵字:三種中斷控制流程的關(guān)鍵字:break、continue和和goto。 1、break語(yǔ)句語(yǔ)句 break語(yǔ)句直接跳出循環(huán)。在任務(wù)語(yǔ)句直接跳出循環(huán)。在任務(wù)2中,在循環(huán)中,在循環(huán)內(nèi)部檢查終止條件,只要內(nèi)部檢查終止條件,只要s50000,即可中途,即可中途退出循環(huán)。退出循環(huán)。 2、continue語(yǔ)句語(yǔ)句 continue語(yǔ)句僅中斷本次循環(huán),并直接進(jìn)入下語(yǔ)句僅中斷本次循環(huán),并直接進(jìn)入下次循環(huán)。次循環(huán)。 2、continue語(yǔ)句語(yǔ)句 continue語(yǔ)句僅中

13、斷本次循環(huán),并直接進(jìn)入下語(yǔ)句僅中斷本次循環(huán),并直接進(jìn)入下次循環(huán)。次循環(huán)。 3、goto語(yǔ)句語(yǔ)句 可以跳出循環(huán),轉(zhuǎn)到已標(biāo)記好的位置??梢蕴鲅h(huán),轉(zhuǎn)到已標(biāo)記好的位置。 任務(wù)任務(wù)5n任務(wù)功能:任務(wù)功能: 設(shè)計(jì)一個(gè)程序,求有趣的三位數(shù),這個(gè)三位數(shù)的設(shè)計(jì)一個(gè)程序,求有趣的三位數(shù),這個(gè)三位數(shù)的各位數(shù)字立方和等于該數(shù)字本身,它也叫水仙花各位數(shù)字立方和等于該數(shù)字本身,它也叫水仙花數(shù)。例如,數(shù)。例如,153=13+53+33,153是水仙花數(shù)。是水仙花數(shù)。 n學(xué)習(xí)目的:學(xué)習(xí)目的: 學(xué)習(xí)循環(huán)的嵌套學(xué)習(xí)循環(huán)的嵌套 程序代碼 privateprivate voidvoid button1_Click( button

14、1_Click(objectobject sender, sender, EventArgsEventArgs e) e) textBox1.Text = textBox1.Text = 水仙花數(shù)是:水仙花數(shù)是: ; ; /i/i存放百位,存放百位,j j存放十位,存放十位,k k存放個(gè)位存放個(gè)位 intint i, j, k, m, n; i, j, k, m, n; forfor (i = 1; i = 9; i+) (i = 1; i = 9; i+) forfor (j = 0; j = 9; j+) (j = 0; j = 9; j+) forfor (k = 0; k = 9; k

15、+) (k = 0; k = 9; k+) m = i m = i * * 100 + j 100 + j * * 10 + k; 10 + k; n = ( n = (intint)()(MathMath.Pow(i.Pow(i, 3) + , 3) + MathMath.Pow(j.Pow(j, 3) + , 3) + MathMath.Pow(k.Pow(k, 3);, 3); ifif (m = n) (m = n) textBox1.Text = textBox1.Text textBox1.Text = textBox1.Text + + EnvironmentEnvironmen

16、t.NewLine.NewLine + + Convert Convert.ToString(m.ToString(m);); 相關(guān)知識(shí)1n循環(huán)嵌套循環(huán)嵌套 在一個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán),在一個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán),這樣的結(jié)構(gòu)稱為多重循環(huán)或循環(huán)的嵌套。這樣的結(jié)構(gòu)稱為多重循環(huán)或循環(huán)的嵌套。 例如,任務(wù)例如,任務(wù)4中的中的for循環(huán)嵌套形式:循環(huán)嵌套形式: for (i = 1; i = 9; i+) for (j = 0; j = 9; j+) for (k = 0; k n2) (n1 n2) intint t = n1; n1 = n2; n2 = t; t = n1; n

17、1 = n2; n2 = t; textBox3.Text = textBox3.Text = 兩數(shù)之間的素?cái)?shù)兩數(shù)之間的素?cái)?shù) ; ; forfor ( (intint m = n1; m = n2; m+) m = n1; m = n2; m+) ifif (m = 1) (m = 1) continuecontinue; ; /1/1不是素?cái)?shù)不是素?cái)?shù) boolbool f = f = truetrue; ; forfor ( (intint i = 2; i =m-1; i+) i = 2; i =m-1; i+) ifif (m % i = 0) f = (m % i = 0) f = falsefalse; ; breakbreak; ; ifif (f) textBox

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論