C#選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)_第1頁(yè)
C#選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)_第2頁(yè)
C#選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)_第3頁(yè)
C#選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)_第4頁(yè)
C#選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩36頁(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)介

第3章

選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)

13.1一個(gè)簡(jiǎn)單的選擇結(jié)構(gòu)程序3.2if語(yǔ)句——二分支選擇語(yǔ)句3.3switch語(yǔ)句——多分支選擇語(yǔ)句3.4一個(gè)簡(jiǎn)單的循環(huán)結(jié)構(gòu)程序3.5while語(yǔ)句和do…while語(yǔ)句3.6for語(yǔ)句和foreach語(yǔ)句3.7跳轉(zhuǎn)語(yǔ)句

本章內(nèi)容2【例3.1】構(gòu)造一個(gè)C#控制臺(tái)應(yīng)用程序,使之實(shí)現(xiàn)下列分段函數(shù)的功能:3.1一個(gè)簡(jiǎn)單的選擇結(jié)構(gòu)程序——分段函數(shù)的實(shí)現(xiàn)V2R6T13創(chuàng)建一個(gè)控制臺(tái)應(yīng)用程序PiecewiseFunction:3.1一個(gè)簡(jiǎn)單的選擇結(jié)構(gòu)程序——分段函數(shù)的實(shí)現(xiàn)3.1.1創(chuàng)建C#控制臺(tái)應(yīng)用程序運(yùn)行該程序,從鍵盤上輸入一個(gè)數(shù)值數(shù)據(jù),如-3.14:

V2R6T143.1一個(gè)簡(jiǎn)單的選擇結(jié)構(gòu)程序——分段函數(shù)的實(shí)現(xiàn)3.1.2選擇結(jié)構(gòu)解析如果x>0,則f=1如果x=0,則f=0如果x<0,則f=-1選擇結(jié)構(gòu)V2R6T153.1一個(gè)簡(jiǎn)單的選擇結(jié)構(gòu)程序——分段函數(shù)的實(shí)現(xiàn)3.1.2選擇結(jié)構(gòu)解析(續(xù))選擇結(jié)構(gòu)主要有:?jiǎn)稳肟陔p分支單入口三分支(如上面的if語(yǔ)句實(shí)現(xiàn)的選擇結(jié)構(gòu))單入口多分支(三個(gè)或三個(gè)以上的分支)對(duì)于這些選擇結(jié)構(gòu),除了可以利用if語(yǔ)句來(lái)實(shí)現(xiàn)以

外,還可以用switch語(yǔ)句來(lái)完成。V2R6T163.2if語(yǔ)句——二分支選擇語(yǔ)句為表述方便,我們將if語(yǔ)句分為三種類型:if…語(yǔ)句if…else…語(yǔ)句if…elseif…else…語(yǔ)句V2R6T173.2if語(yǔ)句——二分支選擇語(yǔ)句3.2.1if…語(yǔ)句if…語(yǔ)句是最簡(jiǎn)單的一種if語(yǔ)句,其語(yǔ)法格式如下:if(布爾表達(dá)式)語(yǔ)句塊說(shuō)明:該語(yǔ)句的作用是:如果括號(hào)中布爾表達(dá)式的值為true,則

執(zhí)行后面的語(yǔ)句塊(語(yǔ)句塊是指放在大括號(hào)“{”和“}”之間

的語(yǔ)句序列),否則什么都不做。如果語(yǔ)句塊僅由一條語(yǔ)句組成,那么大括號(hào)“{”和“}”可以

省略?!癷f(布爾表達(dá)式)”和“語(yǔ)句塊”可以放在一行上,也可以分在

兩行上?!癷f”后面括號(hào)中的表達(dá)式的返回值必須為布爾類型,即返回

true或false,這一點(diǎn)與C/C++不同;此外,關(guān)鍵字“if”后面

沒(méi)有“then”。V2R6T183.2if語(yǔ)句——二分支選擇語(yǔ)句3.2.1if…語(yǔ)句(續(xù))if…語(yǔ)句的流程圖如下圖所示。V2R6T193.2if語(yǔ)句——二分支選擇語(yǔ)句3.2.1if…語(yǔ)句(續(xù))【例3.2】從鍵盤上輸入兩個(gè)整數(shù),然后輸出較大的整數(shù)。經(jīng)過(guò)該語(yǔ)句后x總是保存了它們當(dāng)中的最大者V2R6T1103.2if語(yǔ)句——二分支選擇語(yǔ)句3.2.2if…else…語(yǔ)句if…else…語(yǔ)句是一種二分支選擇語(yǔ)句,其語(yǔ)法格式如下:if(布爾表達(dá)式)語(yǔ)句塊1else語(yǔ)句塊2說(shuō)明:該語(yǔ)句的作用是:如果括號(hào)中布爾表達(dá)式的值為true,則執(zhí)行后面的語(yǔ)句塊1,否則執(zhí)行語(yǔ)句2。也就是說(shuō),不管布爾表達(dá)式的值為true還是為false,語(yǔ)句塊1和語(yǔ)句塊2必有其中之一被執(zhí)行。V2R6T1113.2if語(yǔ)句——二分支選擇語(yǔ)句3.2.2if…else…語(yǔ)句(續(xù))【例3.3】編寫(xiě)一個(gè)窗體應(yīng)用程序,使之能夠?qū)o定的實(shí)數(shù)進(jìn)行四舍五入。創(chuàng)建C#窗體應(yīng)用程序Rounding,界面如下圖:V2R6T1123.2if語(yǔ)句——二分支選擇語(yǔ)句3.2.2if…else…語(yǔ)句(續(xù))雙擊“四舍五入”按鈕,在生成的button1_Click函數(shù)中添加下列代碼:在if語(yǔ)句中利用了int的強(qiáng)制數(shù)據(jù)轉(zhuǎn)換功能:對(duì)浮點(diǎn)數(shù)向下取整,如3.14和3.54在進(jìn)行int強(qiáng)制轉(zhuǎn)換后都得到3。于是根據(jù)x-(int)x的差值來(lái)決定是“舍”還是“入”。在“舍”和“入”之間的選擇正是利用了if…else…語(yǔ)句來(lái)實(shí)現(xiàn)。V2R6T1133.2if語(yǔ)句——二分支選擇語(yǔ)句3.2.3if…elseif…else…語(yǔ)句if…elseif…else…語(yǔ)句的語(yǔ)法格式如下:if(布爾表達(dá)式1)語(yǔ)句塊1elseif(布爾表達(dá)式2)語(yǔ)句塊2…elseif(布爾表達(dá)式n)語(yǔ)句塊nelse語(yǔ)句塊n+1說(shuō)明:該語(yǔ)句的作用是:先計(jì)算布爾表達(dá)式1,如果其值為true,則執(zhí)行語(yǔ)句塊1;否則計(jì)算布爾表達(dá)式2,如果布爾表達(dá)式2的值為true,則執(zhí)行語(yǔ)句塊2;…;否則計(jì)算布爾表達(dá)式n,如果布爾表達(dá)式n的值為true,則執(zhí)行語(yǔ)句塊n;否則(所有布爾表達(dá)式的值均為false)執(zhí)行語(yǔ)句塊n+1。一旦有語(yǔ)句塊被執(zhí)行,執(zhí)行后程序都跳出整個(gè)if語(yǔ)句,而不再去計(jì)算其他表達(dá)式,更不會(huì)再執(zhí)行其他語(yǔ)句塊。默認(rèn)情況下,else總是與前面最近的if相匹配。最后面的“else”和“語(yǔ)句塊n+1”可以省略,要根據(jù)實(shí)際需要取舍。V2R6T1143.2if語(yǔ)句——二分支選擇語(yǔ)句3.2.3if…elseif…else…語(yǔ)句(續(xù))【例3.4】編寫(xiě)一個(gè)控制臺(tái)應(yīng)用程序,使之能夠?qū)W(xué)生成績(jī)從百分制轉(zhuǎn)化為等級(jí)制。創(chuàng)建控制臺(tái)應(yīng)用程序Grade:staticvoidMain(string[]args){Console.Write("請(qǐng)輸入分?jǐn)?shù):");doublescore=Convert.ToDouble(Console.ReadLine());stringgrade;if(score>100||score<0){Console.Write("輸入的分?jǐn)?shù)不合法,請(qǐng)核查!");Console.ReadLine();return;}

V2R6T1153.2if語(yǔ)句——二分支選擇語(yǔ)句3.2.3if…elseif…else…語(yǔ)句(續(xù))【例3.4】編寫(xiě)一個(gè)控制臺(tái)應(yīng)用程序,使之能夠?qū)W(xué)生成績(jī)從百分制轉(zhuǎn)化為等級(jí)制。if(score>=90)grade="優(yōu)秀";elseif(score>=80)grade="良好";elseif(score>=70)grade="中等";elseif(score>=60)grade="及格";elsegrade="不及格";Console.Write("成績(jī)等級(jí)為:{0}!",grade);Console.ReadLine();}利用了if…elseif…else…語(yǔ)句來(lái)實(shí)現(xiàn)成績(jī)從百分制到等級(jí)制的轉(zhuǎn)化V2R6T1163.3switch語(yǔ)句

——多分支選擇語(yǔ)句switch語(yǔ)句的語(yǔ)法格式如下:switch(表達(dá)式){case常量表達(dá)式1:語(yǔ)句塊1;break;case常量表達(dá)式2:語(yǔ)句塊2;break;…case常量表達(dá)式n:語(yǔ)句塊n;break;default:語(yǔ)句塊n+1;break;}說(shuō)明:switch語(yǔ)句的工作原理是:先計(jì)算“switch”后面的表達(dá)式的值,然后從上到下依次判斷該值是否等于“case”后面的常量表達(dá)式的值,如果等于某個(gè)常量表達(dá)式的值,如等于常量表達(dá)式i的值,則執(zhí)行對(duì)應(yīng)的語(yǔ)句塊i;執(zhí)行語(yǔ)句塊i后,如果碰到break語(yǔ)句,則跳出switch語(yǔ)句。表達(dá)式的類型必須是整型、字符型(char)、字符串型(string)或者枚舉型以及能夠隱士轉(zhuǎn)換為上述類型的任何一種數(shù)據(jù)類型。表達(dá)式不能為浮點(diǎn)型;表達(dá)式的類型必須與常量表達(dá)式的類型相匹配。switch語(yǔ)句中的default部分可以省略。switch語(yǔ)句中,最后的break語(yǔ)句是不能省略的。V2R6T1173.3switch語(yǔ)句

——多分支選擇語(yǔ)句【例3.5】對(duì)于例3.4中關(guān)于將學(xué)生成績(jī)從百分制轉(zhuǎn)化為等級(jí)制的問(wèn)題,也可以使用switch語(yǔ)句來(lái)解決。創(chuàng)建控制臺(tái)應(yīng)用程序Grade2:

staticvoidMain(string[]args){Console.Write("請(qǐng)輸入分?jǐn)?shù):");doublescore=Convert.ToDouble(Console.ReadLine());stringgrade;if(score>100||score<0){Console.Write("輸入的分?jǐn)?shù)不合法,請(qǐng)核查!");Console.ReadLine();return;}

V2R6T1183.3switch語(yǔ)句

——多分支選擇語(yǔ)句switch((int)(score/10)){case10:case9:grade="優(yōu)秀";break;case8:grade="良好";break;case7:grade="中等";break;case6:grade="及格";break;default:grade="不及格";break;}Console.Write("成績(jī)等級(jí)為:{0}!",grade);Console.ReadLine();}switch語(yǔ)句

V2R6T1193.4一個(gè)簡(jiǎn)單的循環(huán)結(jié)構(gòu)程序

——等差數(shù)列求和3.4.1創(chuàng)建C#控制臺(tái)應(yīng)用程序【例3.6】構(gòu)造一個(gè)C#控制臺(tái)應(yīng)用程序,使之能夠計(jì)算下列等差數(shù)列的前n項(xiàng)之和,n從鍵盤輸入:1,3,5,7,9,…創(chuàng)建控制臺(tái)應(yīng)用程序ArithProg:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceArithProg{classProgram{

V2R6T1203.4一個(gè)簡(jiǎn)單的循環(huán)結(jié)構(gòu)程序

——等差數(shù)列求和3.4.1創(chuàng)建C#控制臺(tái)應(yīng)用程序staticvoidMain(string[]args){Console.Write("n=");intn=int.Parse(Console.ReadLine());inti=1; //循環(huán)控制變量intsum=0; //累加器while(i<=n){sum=sum+(2*i-1);i++;}Console.Write("1+3+5+...+{0}={1}",2*n-1,sum);Console.ReadLine();}}}V2R6T1213.4一個(gè)簡(jiǎn)單的循環(huán)結(jié)構(gòu)程序

——等差數(shù)列求和3.4.2循環(huán)結(jié)構(gòu)解析staticvoidMain(string[]args){Console.Write("n=");intn=int.Parse(Console.ReadLine());inti=1; intsum=0; //累加器while(i<=n){sum=sum+(2*i-1);i++;}Console.Write("1+3+5+...+{0}={1}",2*n-1,sum);Console.ReadLine();}}}while語(yǔ)句循環(huán)條件表達(dá)式

循環(huán)控制變量V2R6T1223.5while語(yǔ)句和do…while語(yǔ)句3.5.1while語(yǔ)句while語(yǔ)句屬于當(dāng)型循環(huán)語(yǔ)句,其語(yǔ)法格式如下:while(條件表達(dá)式)循環(huán)體{語(yǔ)句序列;}說(shuō)明:條件表達(dá)式的返回值必須布爾類型。該語(yǔ)句的功能是:先計(jì)算條件表達(dá)式的值,值為true時(shí),會(huì)執(zhí)行

循環(huán)體中的語(yǔ)句;然后再計(jì)算表達(dá)式的值,如果仍然為true,則

繼續(xù)執(zhí)行循環(huán)體中的語(yǔ)句;不斷重復(fù)這個(gè)過(guò)程,直到條件表達(dá)式

的值為false時(shí)才退出while語(yǔ)句,執(zhí)行while語(yǔ)句后面的語(yǔ)句。如果循環(huán)體由多條語(yǔ)句組成,則必須用大括號(hào)“{”和“}”將這些語(yǔ)

句括起來(lái);如果僅由一條語(yǔ)句組成,則大括號(hào)可以省略。V2R6T1233.5while語(yǔ)句和do…while語(yǔ)句3.5.1while語(yǔ)句(續(xù))【例3.7】用while語(yǔ)句對(duì)下列無(wú)窮級(jí)數(shù)求和:分析:(1)該級(jí)數(shù)可以寫(xiě)成:,顯然各項(xiàng)的分母構(gòu)成

了一個(gè)等差數(shù)列,因此可以用循環(huán)語(yǔ)句來(lái)控制;(2)設(shè)定循環(huán)終止條件:計(jì)算機(jī)程序不可能真正求一個(gè)無(wú)窮級(jí)

數(shù)的和,而只能求其前面有限項(xiàng)的和。這樣,循環(huán)的終止

條件可以設(shè)為求前面n項(xiàng)的和,或當(dāng)某一項(xiàng)的值小于給定

的閥值。這里,我們?nèi)『笳摺2R6T1243.5while語(yǔ)句和do…while語(yǔ)句3.5.1while語(yǔ)句(續(xù))staticvoidMain(string[]args){doublet=2;inti=1;doublesum=0;while(t>0.000001){t=1.0/i;sum=sum+t;i++;}Console.Write("1+1/2+1/3+...+1/{0}={1}",i-1,sum);Console.ReadLine();}while語(yǔ)句循環(huán)控制變量(各項(xiàng)分母)累加器累加器V2R6T1253.5while語(yǔ)句和do…while語(yǔ)句3.5.2do…while語(yǔ)句do…while語(yǔ)句屬于直到型循環(huán)語(yǔ)句,其語(yǔ)法格式如下:do循環(huán)體{語(yǔ)句序列;}while(條件表達(dá)式)說(shuō)明:功能:先無(wú)條件地執(zhí)行一次循環(huán)體,再計(jì)算條件表達(dá)式的值,

如果其值為true,則繼續(xù)執(zhí)行循環(huán)體;然后再次計(jì)算條件表達(dá)式

的值,如果該值還是為true,則繼續(xù)執(zhí)行循環(huán)體,直到條件表達(dá)

式的值為false時(shí)才終止循環(huán),執(zhí)行do…while語(yǔ)句后面的語(yǔ)句。當(dāng)條件表達(dá)式的值一開(kāi)始就為false時(shí),do…while語(yǔ)句會(huì)執(zhí)行一

次循環(huán)體,而while語(yǔ)句則不會(huì)執(zhí)行循環(huán)體。這是它們的區(qū)別。V2R6T1263.5while語(yǔ)句和do…while語(yǔ)句3.5.2do…while語(yǔ)句(續(xù))【例3.8】用do…while語(yǔ)句計(jì)算1~100之間所有整數(shù)的和。staticvoidMain(string[]args){intn=100;inti=1; intsum=0; do{sum=sum+i;i++;}while(i<=n);Console.Write("1+2+3+...+{0}={1}",n,sum);Console.ReadLine();}do…while語(yǔ)句V2R6T1273.6for語(yǔ)句和foreach語(yǔ)句3.6.1for語(yǔ)句for語(yǔ)句也使用頻率非常高一種循環(huán)語(yǔ)句;多用于:在循環(huán)次數(shù)已經(jīng)知道,或用于訪問(wèn)數(shù)組的情況;實(shí)際上,for語(yǔ)句的使用方法十分靈活,其功能也十分強(qiáng)大??梢哉f(shuō),凡是使用while語(yǔ)句的地方都可以使用for語(yǔ)句替代。V2R6T1283.6for語(yǔ)句和foreach語(yǔ)句3.6.1for語(yǔ)句(續(xù))for語(yǔ)句的語(yǔ)法格式如下:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體{語(yǔ)句序列;}說(shuō)明:表達(dá)式1和表達(dá)式3可以是任意一種表達(dá)式,表達(dá)式2必須是布爾類型表

達(dá)式,或能夠隱式轉(zhuǎn)換為布爾類型的值。功能:先計(jì)算表達(dá)式1,然后計(jì)算表達(dá)式2,如果表達(dá)式2的值為false,

則退出該for循環(huán),執(zhí)行for語(yǔ)句后面的語(yǔ)句;如果表達(dá)式2的值為true,

則執(zhí)行循環(huán)體中的語(yǔ)句,接著計(jì)算表達(dá)式3,然后又計(jì)算表達(dá)式2,如果

表達(dá)式2的值仍然為true,則重復(fù)上面執(zhí)行循環(huán)體、計(jì)算表達(dá)式3的過(guò)

程,直到表達(dá)式2的值為false時(shí)才退出for循環(huán)。表達(dá)式1和表達(dá)式3可以省略,也可以根據(jù)需要將它們分別放在for語(yǔ)句之

前和for循環(huán)體內(nèi);表達(dá)式2一般不可省略,否則會(huì)導(dǎo)致死循環(huán),除非循

環(huán)體中有break語(yǔ)句。V2R6T1293.6for語(yǔ)句和foreach語(yǔ)句3.6.1for語(yǔ)句(續(xù))【例3.9】從鍵盤輸入由若干字符構(gòu)成的一個(gè)字符串,用for語(yǔ)句統(tǒng)計(jì)字符串中大寫(xiě)英文字母、小寫(xiě)英文字母、數(shù)字字符和其他字符的個(gè)數(shù)。分析:大寫(xiě)英文字母和小寫(xiě)英文字母的ASCII碼值分別分布在65~90和97~122,數(shù)字字符的分布在48~57。于是,結(jié)合if,我們就可以用for語(yǔ)句統(tǒng)計(jì)各類字符的個(gè)數(shù)。V2R6T1303.6for語(yǔ)句和foreach語(yǔ)句3.6.1for語(yǔ)句(續(xù))staticvoidMain(string[]args){intlowerNum=0; //小寫(xiě)字母?jìng)€(gè)數(shù)intupperNum=0; //大寫(xiě)字母?jìng)€(gè)數(shù)intnumeralNum=0; //數(shù)字個(gè)數(shù)intotherNum=0; //其他字符個(gè)數(shù)stringline=Console.ReadLine();char[]chars=line.ToCharArray();intlineLen=chars.Length; //獲取字符數(shù)組chars的長(zhǎng)度f(wàn)or(inti=0;i<lineLen;i++){intascii=(int)chars[i]; //獲取字符的ASCII碼值if(ascii>=65&&ascii<=90)upperNum++; //統(tǒng)計(jì)大寫(xiě)字母elseif(ascii>=97&&ascii<=122)lowerNum++; //統(tǒng)計(jì)大寫(xiě)字母elseif(ascii>=48&&ascii<=57)numeralNum++; //統(tǒng)計(jì)數(shù)字字符elseotherNum++; //統(tǒng)計(jì)其他字符}Console.WriteLine("大寫(xiě)字母?jìng)€(gè)數(shù):{0}",upperNum);Console.WriteLine("小寫(xiě)字母?jìng)€(gè)數(shù):{0}",lowerNum);Console.WriteLine("數(shù)字字符個(gè)數(shù):{0}",numeralNum);Console.WriteLine("其他字符個(gè)數(shù):{0}",otherNum);Console.ReadLine();}do…while語(yǔ)句循環(huán)控制變量循環(huán)條件表達(dá)式V2R6T1313.6for語(yǔ)句和foreach語(yǔ)句3.6.2foreach語(yǔ)句foreach語(yǔ)句多用于:對(duì)于集合類型中的元素,有時(shí)候不在乎元素的下標(biāo),或者根本就沒(méi)有下標(biāo)時(shí),foreach語(yǔ)句來(lái)處理這些元素就顯得更為自然。foreach語(yǔ)句的語(yǔ)法格式如下:foreach(數(shù)據(jù)類型變量in集合表達(dá)式){語(yǔ)句序列;}說(shuō)明:作用:取出集合表達(dá)式中的每一個(gè)元素并保存到變量中,

每保存一次變量后執(zhí)行一次循環(huán)體,集合表達(dá)式中有多少

個(gè)元素就有多少次變量保存和循環(huán)體執(zhí)行操作。不能更改變量的值,只能引用。集合表達(dá)式的類型必須為集合類型V2R6T1323.6for語(yǔ)句和foreach語(yǔ)句3.6.2foreach語(yǔ)句(續(xù))【例3.10】將學(xué)生的記錄信息(包括學(xué)號(hào)和姓名)保存到Hashtable類的實(shí)例中,然后用foreach語(yǔ)句篩選學(xué)號(hào)為奇數(shù)的學(xué)生。分析:Hashtable是命名空間System.Collections中的一個(gè)容器,它類似于數(shù)組(屬于一種集合類型),但比數(shù)組功能強(qiáng)大得多。它支持任何類型的key/value鍵值對(duì),可以對(duì)其進(jìn)行元素添加和刪除、數(shù)據(jù)清空等操作。V2R6T1333.6for語(yǔ)句和foreach語(yǔ)句3.6.2foreach語(yǔ)句(續(xù))usingSystem.Collections;

//必須引入System.Collections命名空間,才能使用Hashtable類staticvoidMain(string[]args){Hashtableht=newHashtable();//創(chuàng)建一個(gè)Hashtable實(shí)例ht.Add(201001,"張趙剛");//在哈希表實(shí)例中添加學(xué)生記錄ht.Add(201002,"李斯");ht.Add(201003,"王智高");ht.Add(201004,"蒙恬");ht.Add(201005,"趙高");Console.WriteLine("學(xué)號(hào)為奇數(shù)的學(xué)生:");Console.WriteLine("------------------------");Console.WriteLine("學(xué)號(hào)姓名");foreach(intstuidinht.Keys){if((stuid+1)%2==0)Console.WriteLine(stuid+""+ht[stuid]);}Console.ReadLine();}foreach語(yǔ)句V2R6T1343.7跳轉(zhuǎn)語(yǔ)句3.7.1break語(yǔ)句和continue語(yǔ)句break語(yǔ)句是跳出循環(huán)體,終止循環(huán)語(yǔ)句continue語(yǔ)句結(jié)束本次循環(huán)而提前進(jìn)入下一輪循環(huán),整個(gè)循環(huán)語(yǔ)句仍在執(zhí)行break語(yǔ)句和continue語(yǔ)句一般都是帶條件的V2R6T1353.7跳轉(zhuǎn)語(yǔ)句3.7.1break語(yǔ)句和continue語(yǔ)句【例3.11】break語(yǔ)句的應(yīng)用舉例:判斷一個(gè)正整數(shù)是否為素?cái)?shù)。分析:在數(shù)學(xué)上我們已經(jīng)知道,如果正整數(shù)n不被區(qū)間(1,n)中的任何整數(shù)整除,則n是素?cái)?shù)。因此,用循環(huán)結(jié)構(gòu)依次檢查(1,n)中的整數(shù),一旦出現(xiàn)其中的整數(shù)整除n,則跳出循環(huán)結(jié)構(gòu),表明n不是素?cái)?shù);如果所有這樣的整數(shù)都不整除n,則表明n是素?cái)?shù)。V2R6T1363.7跳轉(zhuǎn)語(yǔ)句3.7.1break語(yǔ)句和continue語(yǔ)句staticvoidMain(string[]args){strings;Console.Write("n=");intn=int.Parse(Console.ReadLine());inti;

if(i==1)s="整數(shù)"+n.ToString()+"是素?cái)?shù)!";elses="整數(shù)"+n.ToString()+"不是素?cái)?shù)!";Console.Write(s);Console.ReadLine();}for(i=(int)System.Math.Sqrt(n);i>1;i--)if(n%i==0)break;

break語(yǔ)句for(i=n-1;i>1;i--)

if(n%i==0)break;數(shù)學(xué)上可以證明,如果[2,√n]中的整

溫馨提示

  • 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)論