版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第4章 程序流程和異常處置(2)順序構(gòu)造選擇構(gòu)造:if語句、switch語句循環(huán)構(gòu)造:for語句、while語句、do.while語句和foreach語句跳轉(zhuǎn)語句:goto、break、continue、return、throwC#異常處置機(jī)制創(chuàng)建和引發(fā)異?,F(xiàn)實生活中的循環(huán)銀行的ATM需求不停地為不同的客戶效力我們每天的生活和學(xué)習(xí)需求反復(fù)生活中充溢了循環(huán)食堂宿舍教室ATM業(yè)務(wù)ATM業(yè)務(wù)ATM業(yè)務(wù)ATM業(yè)務(wù)ATM業(yè)務(wù)食堂食堂宿舍食堂宿舍食堂教室宿舍食堂 在編寫程序過程中,往往出現(xiàn)一樣類型操作需求反復(fù)出現(xiàn),照實現(xiàn)1+2+100,那么需求做99次加法,這類問題運(yùn)用循環(huán)語句處理。即循環(huán)語句用于實現(xiàn)語句
2、塊的反復(fù)執(zhí)行。C#中提供了四種不同的循環(huán)機(jī)制:for循環(huán)while循環(huán)dowhile循環(huán)foreach循環(huán)foreach循環(huán)常用在遍歷數(shù)組時用到。for循環(huán)語句 for循環(huán)經(jīng)常用于知循環(huán)次數(shù)的情況,運(yùn)用該循環(huán)時,測試能否滿足某個條件,假設(shè)滿足條件,那么進(jìn)入下一次循環(huán),否那么,退出該循環(huán)。格式:for(表達(dá)式1;布爾表達(dá)式2;表達(dá)式3) 單語句或 循環(huán)語句序列 三元運(yùn)算表達(dá)式4.3.1 for循環(huán)功能:truefalse語句布爾表達(dá)式21 計算表達(dá)式1;2 計算布爾表達(dá)式2,假設(shè)結(jié)果為true, 那么執(zhí)行語句,再計算表達(dá)式3,然后反復(fù)本過程; 假設(shè)表達(dá)式2為false,那么退出循環(huán)表達(dá)式1表達(dá)式
3、31 計算表達(dá)式1;2 計算布爾表達(dá)式2,假設(shè)結(jié)果為true, 那么執(zhí)行語句,再計算表達(dá)式3,然后反復(fù)本過程;1 計算表達(dá)式1; 假設(shè)表達(dá)式2為false,那么退出循環(huán)2 計算布爾表達(dá)式2,假設(shè)結(jié)果為true, 那么執(zhí)行語句,再計算表達(dá)式3,然后反復(fù)本過程;1 計算表達(dá)式1; 假設(shè)表達(dá)式2為false,那么退出循環(huán)2 計算布爾表達(dá)式2,假設(shè)結(jié)果為true, 那么執(zhí)行語句,再計算表達(dá)式3,然后反復(fù)本過程;1 計算表達(dá)式1; 假設(shè)表達(dá)式2為false,那么退出循環(huán)2 計算布爾表達(dá)式2,假設(shè)結(jié)果為true, 那么執(zhí)行語句,再計算表達(dá)式3,然后反復(fù)本過程;1 計算表達(dá)式1;表達(dá)式1for(表達(dá)式1;布
4、爾表達(dá)式2;表達(dá)式3) 語句表達(dá)式1 for循環(huán)語句的運(yùn)用【例子】計算1+2+3+100。運(yùn)用for語句實現(xiàn)。分析1:定義sum,延續(xù)寫sum=sum+n;分析2:該問題屬于反復(fù)執(zhí)行加法的問題,并且參與運(yùn)算的兩個操作數(shù)不斷的按規(guī)律添加。該類問題可以經(jīng)過循環(huán)進(jìn)展處理。例:求 1+2+3+.+100的值sum = sum + i;sum = 0;sum = sum + 1;sum = sum + 2;sum = sum + 3;.sum = sum + 100;Console.WriteLine(sum);寫完這100條語句,就算出來了他想累死我啊!sum = sum + i;sum = 0;su
5、m = sum + 1;sum = sum + 2;sum = sum + 3;.sum = sum + 100;Console.WriteLine(sum);sum = sum + i;sum = 0;sum = sum + 1;sum = sum + 2;sum = sum + 3;.sum = sum + 100;Console.WriteLine(sum);sum = sum + i;sum = 0;sum = sum + 1;sum = sum + 2;sum = sum + 3;.sum = sum + 100;Console.WriteLine(sum);寫完這100條語句,就算
6、出來了他想累死我?。±奂悠鲗懲赀@100條語句,就算出來了例:求 1+2+3+.+100的值sum = 0; i = 1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;.sum = sum + i; i = i+1;Console.WriteLine(sum);i:1i:2i:3i:100i:101sum = 0; i = 1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;.sum = sum + i; i = i
7、+1;Console.WriteLine(sum);i:1sum = 0; i = 1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;.sum = sum + i; i = i+1;Console.WriteLine(sum);sum = 0; i = 1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;.sum = sum + i; i = i+1;Console.WriteLine(sum);sum = 0;s
8、um = sum + 1;sum = sum + 2;sum = sum + 3;.sum = sum + 100;Console.WriteLine(sum);sum = 0; i = 1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;.sum = sum + i; i = i+1;Console.WriteLine(sum);i:1i:2i:3i:100i:101sum = 0; i = 1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;sum = su
9、m + i; i = i+1;.sum = sum + i; i = i+1;Console.WriteLine(sum);sum = 0; i = 1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;.sum = sum + i; i = i+1;Console.WriteLine(sum);sum = 0; i = 1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;.sum = sum + i; i = i+1
10、;Console.WriteLine(sum);循環(huán)條件:i=100這兩條語句需求循環(huán)執(zhí)行計算1+2+100的for循環(huán)流程int sum = 0, i;for( i=1 ; i=100 ; i+) sum = sum + i;Console.WriteLine(sum);運(yùn)轉(zhuǎn)流程分析int sum = 0, i;for( i=1 ; i=100 ; i+) sum = sum + i;Console.WriteLine(sum);int sum = 0, i;for( i=1 ; i=100 ; i+) sum = sum + i;Console.WriteLine(sum);int sum
11、 = 0, i;for( i=1 ; i=100 ; i+) sum = sum + i;Console.WriteLine(sum);int sum = 0, i;for( i=1 ; i=100 ; i+) sum = sum + i;Console.WriteLine(sum);int sum = 0, i;for( i=1 ; i=100 ; i+) sum = sum + i;Console.WriteLine(sum);int sum = 0, i;for( i=1 ; i=100 ; i+) sum = sum + i;Console.WriteLine(sum);int sum
12、 = 0, i;for( i=1 ; i=100 ; i+) sum = sum + i;Console.WriteLine(sum); 在窗體設(shè)計圖上,雙擊按鈕button1編寫【計算】按鈕的Click單擊事件代碼為:private void button1_Click(object sender, System.EventArgs e) int sum, k; sum=0; for(k=1;k=100;k=k+1) sum=sum+k; label1.Text=從1加到100值為+sum.ToString(); 程序的運(yùn)轉(zhuǎn)結(jié)果如下圖的左圖,單擊“計算按鈕,將在標(biāo)簽上顯示運(yùn)轉(zhuǎn)結(jié)果。 程序運(yùn)轉(zhuǎn)
13、結(jié)果【例子】計算n!,假設(shè)n=10。分析:該例實現(xiàn)階乘的運(yùn)算,可以運(yùn)用改動乘數(shù)的值進(jìn)展實現(xiàn),運(yùn)用循環(huán)可以方便的實現(xiàn)該類問題。程序的運(yùn)轉(zhuǎn)結(jié)果如下圖。計算n!n!=n*(n-1)*2*1private void button1_Click(object sender, System.EventArgs e) int sum,k; sum=1; for(k=1;k=10;k+) sum=sum*k; textBox1.Text=sum.ToString();編寫【計算】按鈕的Click單擊事件代碼為:練習(xí): 運(yùn)用for語句,編程輸出110的每個整數(shù)的平方static void Main(string
14、 args) int s; for (int i = 1; i = 10; i+) s = i * i; Console.Write(0t, s); for語句的常見用法(1)int i; for(i=0; i100 ; i+)Console.WriteLine(i);01234.9899運(yùn)轉(zhuǎn)結(jié)果:賦初值01234.9899循環(huán)體被運(yùn)轉(zhuǎn)100次,循環(huán)變量依次為0 99改動循環(huán)變量i: 循環(huán)變量循環(huán)條件for語句的常見用法(2)int i; for(i=1; i=100; i+) Console.WriteLine(i);12345.99100運(yùn)轉(zhuǎn)結(jié)果:循環(huán)體也被運(yùn)轉(zhuǎn)100次,循環(huán)變量依次為1
15、100int i; for(i=1; i=100; i+) Console.WriteLine(i);12345.99100int i; for(i=1; i=100; i+) Console.WriteLine(i);12345.99100for語句的簡化:for( i=1 ; i=100 ; i+)Console.WriteLine(i);可以為空可以為空可以為空,以為是trueint i=0;構(gòu)成死循環(huán)分號不能省略哦!在for循環(huán)中定義變量for(int i=1; i=100; i+) sum = sum + i;在for中定義的變量只在該循環(huán)語句內(nèi)有效,在循環(huán)語句外不能訪問可以在這里定
16、義變量for(int i=1; i=100; i+) sum = sum + i;在for中定義的變量只在該循環(huán)語句內(nèi)有效,在循環(huán)語句外不能訪問for(int i=1; i=100; i+) sum = sum + i;可以用于不知道循環(huán)次數(shù)的情況;用于在循環(huán)時判別能否滿足某個條件。while循環(huán)語句的格式為:while (布爾表達(dá)式) 單語句或者語句塊 布爾條件表達(dá)式是每次循環(huán)開場前進(jìn)展判別的條件,當(dāng)條件表達(dá)式的值為真時,執(zhí)行循環(huán);否那么,退出循環(huán)。該語句構(gòu)造的流程圖如下圖。 4.3.2 while循環(huán)while 語句while( 布爾表達(dá)式) 語句格式:功能:1 假設(shè)布爾表達(dá)式為false
17、,直接跳出循環(huán);2 假設(shè)為true, 那么執(zhí)行語句,并繼續(xù)第1步布爾表達(dá)式?語句falsetruewhile循環(huán)語句的運(yùn)用【例子】設(shè)有一張厚為x mm,面積足夠大的紙,將它不斷地對折。試問對折多少次后,其厚度可達(dá)珠穆朗瑪峰的高度8844.43 m。設(shè)對折后紙的厚度為h mm,計數(shù)器為n。在沒有對折時,紙厚為x mm,每對折一次,其厚度是上一次的2倍,在未到達(dá)8844.43 m時,反復(fù)對折。在程序中,紙的厚度就是對折后紙的厚度,所以用一個變量h。建立運(yùn)用程序用戶界面與設(shè)置對象屬性,如下圖。用戶界面及程序運(yùn)轉(zhuǎn)結(jié)果private void button1_Click(object sender, S
18、ystem.EventArgs e) int n=0; float h; h=float.Parse(textBox1.Text); while (h8844430)/未到達(dá)8844.43 m時,反復(fù)對折 n = n + 1; /計數(shù)器為n 對折次數(shù) h = 2 * h ;/每對折一次,其厚度是上一次的2倍 textBox2.Text = n.ToString();求 1+2+3+.+100的值改成 while 循環(huán):sum = 0; i = 1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;sum = sum + i; i = i+1;.sum
19、= sum + i; i = i+1;cout sum endl;循環(huán)條件循環(huán)體語句5050運(yùn)轉(zhuǎn)結(jié)果:505050505050while 運(yùn)轉(zhuǎn)流程分析i=1;while(i=100) sum = sum + i; i+;1=100100=100101=100truetruefalse.1=100true100=1001=100false100=1001=100101=100100=1001=100在while循環(huán)的循環(huán)體中普通應(yīng)該有使循環(huán)條件不成立的語句,否那么會構(gòu)成“死循環(huán);i=1;while(i=100) sum = sum + i; i=i+1;這個語句讓循環(huán)條件可以不成立死循環(huán):不會自
20、動終止的循環(huán)i=1;while(i=100) sum = sum + i; i=i+1;死循環(huán):不會自動終止的循環(huán)i=1;while(i=100) sum = sum + i; i=i+1;i=1;while(i=100) sum = sum + i; / i=i+1;死循環(huán)去掉該語句,構(gòu)成死循環(huán)運(yùn)轉(zhuǎn)時,死循環(huán)占用大量CPU時間i=1;while(i=100) sum = sum + i; / i=i+1;死循環(huán)i=1;while(i=100) sum = sum + i; / i=i+1;死循環(huán)while(true) 可以構(gòu)成死循環(huán)while( true ) Console.WriteLin
21、e( Hello);HelloHelloHelloHelloHelloHelloHello條件恒為truewhile( true ) Console.WriteLine( Hello);HelloHelloHelloHelloHelloHelloHellowhile( true ) Console.WriteLine( Hello);計算1+2+100for循環(huán)和while 循環(huán)int sum = 0, i;for( i=1 ; i=100 ; i+) sum = sum + i;Console.WriteLine(sum);sum = 0; i=1;while(i=100) sum = su
22、m + i; i = i + 1;Console.WriteLine(sum);int sum = 0, i;for( i=1 ; i=100 ; i+) sum = sum + i;Console.WriteLine(sum);sum = 0; i=1;while(i=100) sum = sum + i; i = i + 1;Console.WriteLine(sum);for循環(huán)與while循環(huán),功能完全一樣for可以轉(zhuǎn)化為while, while也可以轉(zhuǎn)為forint sum = 0, i;for( i=1 ; i=100 ; i+) sum = sum + i;Console.Wri
23、teLine(sum);sum = 0; i=1;while(i0) sum += x % 10; x /= 10;Console.WriteLine(sum);算法思緒:x % 10 可以得到個位數(shù)字,x = x / 10可以得到去掉個位數(shù)字后剩下的數(shù)字。反復(fù)這個過程直到x變?yōu)?,可以依次得到一切數(shù)字學(xué)習(xí)編程言語的同時,也要學(xué)會用“計算機(jī)的思想方式,掌握計算機(jī)處理問題的方法:算法sum = 0;while(x 0) sum += x % 10; x /= 10;Console.WriteLine(sum);算法思緒:x % 10 可以得到個位數(shù)字,x = x / 10可以得到去掉個位數(shù)字后剩
24、下的數(shù)字。反復(fù)這個過程直到x變?yōu)?,可以依次得到一切數(shù)字sum = 0;while(x 0) sum += x % 10; x /= 10;Console.WriteLine(sum);算法思緒:x % 10 可以得到個位數(shù)字,x = x / 10可以得到去掉個位數(shù)字后剩下的數(shù)字。反復(fù)這個過程直到x變?yōu)?,可以依次得到一切數(shù)字dowhile循環(huán)非常類似于while循環(huán)。 差別在于while循環(huán)的測試條件在每一次循環(huán)開場時執(zhí)行,而dowhile循環(huán)的測試條件在每一次循環(huán)體終了時進(jìn)展判別。同樣的,dowhile可以處理一些循環(huán)問題,但運(yùn)用的頻率較少。dowhile語法的普通格式為: do 語句 w
25、hile (布爾表達(dá)式);4.3.3 dowhile循環(huán)do . while 語句do 語句while(布爾表達(dá)式);功能:truefalse語句表達(dá)式?1 執(zhí)行循環(huán)體語句;2 計算表達(dá)式,假設(shè)為true, 并繼續(xù)第1步; 假設(shè)為false,那么退出循環(huán)1 執(zhí)行循環(huán)體語句;2 計算表達(dá)式,假設(shè)為true, 并繼續(xù)第1步; 假設(shè)為false,那么退出循環(huán)1 執(zhí)行循環(huán)體語句;2 計算表達(dá)式,假設(shè)為true, 并繼續(xù)第1步;do 語句while(布爾表達(dá)式); 假設(shè)為false,那么退出循環(huán)1 執(zhí)行循環(huán)體語句;2 計算表達(dá)式,假設(shè)為true, 并繼續(xù)第1步;dowhile的運(yùn)用【例子】運(yùn)用dowhi
26、le語句實現(xiàn)1+2+3+100。int i=1, sum=0;do sum = sum + i; i = i + 1; while(i = 100);Console.WriteLine(sum);是do.while語句的一部分,不要遺忘5050運(yùn)轉(zhuǎn)結(jié)果:int i=1, sum=0;do sum = sum + i; i = i + 1; while(i = 100);Console.WriteLine(sum);5050int i=1, sum=0;do sum = sum + i; i = i + 1; while(i = 100);Console.WriteLine(sum);do-wh
27、ile 的循環(huán)體至少被執(zhí)行一次int i=20;while(i10) Console.WriteLine(i); i+;int i=20;do Console.WriteLine(i); i+; while(i10);運(yùn)轉(zhuǎn)結(jié)果:20運(yùn)轉(zhuǎn)結(jié)果:int i=20;while(i10) Console.WriteLine(i); i+;int i=20;do Console.WriteLine(i); i+; while(i10);int i=20;while(i10) Console.WriteLine(i); i+;20int i=20;do Console.WriteLine(i); i+;
28、while(i10);int i=20;while(i10) Console.WriteLine(i); i+;int i=20;while(i10) Console.WriteLine(i); i+;int i=20;do Console.WriteLine(i); i+; while(i10);int i=20;while(i10) Console.WriteLine(i); i+;4.3.4 foreach循環(huán)foreach語句用于循環(huán)訪問數(shù)組或集合以獲取所需信息。當(dāng)為數(shù)組或集合中的一切元素完成迭代后,控制傳送給foreach塊之后的下一個語句 foreach( 類型稱號 變量稱號 in
29、 數(shù)組或集合稱號) 循環(huán)體語句序列; 【例4.17】運(yùn)用foreach顯示整數(shù)數(shù)組的內(nèi)容 當(dāng)一個循環(huán)稱為“外循環(huán)的循環(huán)語句序列內(nèi)包含另一個循環(huán)稱為“內(nèi)循環(huán),稱為循環(huán)的嵌套,這種語句構(gòu)造稱為多重循環(huán)構(gòu)造。 內(nèi)循環(huán)中還以包含循環(huán),構(gòu)成多層循環(huán)循環(huán)嵌套的層數(shù)實際上無限制。 三種循環(huán)while循環(huán)、dowhile循環(huán)、for循環(huán)可以相互嵌套。在多重循環(huán)中,需求留意的是循環(huán)語句所在循環(huán)的層數(shù)。4.3.5 循環(huán)的嵌套循環(huán)的嵌套循環(huán)體內(nèi)的語句也可以是恣意循環(huán)語句int i; for(i=1; i=100; i+)j=0; while(j!=4) Console.WriteLine(j+);內(nèi)循環(huán)外循環(huán)【例子
30、】編程實現(xiàn)九九乘法表。分析:本例中實現(xiàn)每一個一位數(shù)i顯示從1乘到i,對于i的取值要從1取到9,所以可以運(yùn)用兩重循環(huán)實現(xiàn),程序設(shè)計如下圖。九九乘法表本例的界面設(shè)計如圖,運(yùn)用label1控件實現(xiàn)乘法表的顯示。本例運(yùn)用兩重循環(huán)實現(xiàn),其中外層循環(huán)實現(xiàn)乘法表中第二乘數(shù)i取值范圍為1到9,內(nèi)層循環(huán)在外層循環(huán)的根底上計算第一個乘數(shù)k的取值范圍為1到i,其乘積以及表達(dá)式在label控件中顯示。運(yùn)轉(zhuǎn)結(jié)果如下圖?!揪啪懦朔ū怼堪粹o的Click單擊事件代碼為:private void button1_Click(object sender, System.EventArgs e) label1.Text=; str
31、ing s=; int sum; for(int i=1;i10;i=i+1) s=; for(int k=1;k=i;k=k+1) sum=k*i; s=s+k.ToString()+i.ToString()+=+sum.ToString()+; label1.Text+=s+n; / 顯示并換行 例: 利用for循環(huán)的嵌套,求1!+2!+3!+10!的和N! = 1*2*3*N,稱為N的階乘例:4! = 1*2*3*4 = 24計算N的階乘的算法:mul = 1;for(i=1; i=N; i+) mul *= i;/ 循環(huán)終了后,mul 保管 N!N! = 1*2*3*N,稱為N的階乘例
32、:4! = 1*2*3*4 = 24計算N的階乘的算法:mul = 1;for(i=1; i=N; i+) mul *= i;/ 循環(huán)終了后,mul 保管 N!static void Main(string args) long s = 0; long m; for (int i = 1; i = 10;i+) m = 1; for (int j = 1; j = i; j+) m *= j; s = s + m; / 累加到變量 s Console.WriteLine(1!+2!+3!+.+10!=0, s); 防止內(nèi)外循環(huán)的變量沖突防止內(nèi)外循環(huán)的變量沖突計算i的階乘到變量m4.4 跳轉(zhuǎn)語句
33、運(yùn)用跳轉(zhuǎn)語句執(zhí)行分支,可以使程序執(zhí)行跳轉(zhuǎn)到程序中其它部分。C#中提供四種轉(zhuǎn)移語句: GotoBreakContinuereturn。 goto語句可以將程序控制直接轉(zhuǎn)移給標(biāo)簽制定的語句。但由于goto語句改動了程序的正常流程,使得程序特別容易出錯,所以盡量不要用。而且,用goto語句實現(xiàn)的循環(huán)完全可以用循環(huán)語句實現(xiàn),因此,goto語句很少運(yùn)用。4.4 .1 goto語句goto語句:無條件轉(zhuǎn)移語句goto 標(biāo)號.標(biāo)號:.功能:控制流程直接轉(zhuǎn)到指定標(biāo)號處標(biāo)號可以在goto之前或之后。但必需在同一個方法內(nèi)goto 標(biāo)號.標(biāo)號:.控制流程直接轉(zhuǎn)到指定標(biāo)號處標(biāo)號可以在goto之前或之后。但必需在同一個
34、方法內(nèi)goto 標(biāo)號.標(biāo)號:.控制流程直接轉(zhuǎn)到指定標(biāo)號處例:運(yùn)用if和goto 計算1+2+.+100using System;class Program static void Main(string args) int i = 1, sum = 0; Loop: sum += i; i+; if (i = 100) goto Loop; Console.WriteLine(1+2+3+.+100=0, sum); Loop是自定義的標(biāo)號(屬于標(biāo)識符)例:找到兩個數(shù),乘積為45,并且兩個數(shù)都小于10,輸出這兩個數(shù)static void Main(string args) int i=0, j
35、=0; for (i = 1; i 10; i+) for (j = 1; j 10; j+) if (i * j = 45) goto end; end: Console.WriteLine(0*1=2, i, j, i*j); 退出多重循環(huán),是C#保管goto語句的最大價值只能從循環(huán)內(nèi)層往外層跳轉(zhuǎn),不能從外層往內(nèi)層跳轉(zhuǎn)退出多重循環(huán),是C#保管goto語句的最大價值只能從循環(huán)內(nèi)層往外層跳轉(zhuǎn),不能從外層往內(nèi)層跳轉(zhuǎn)運(yùn)用goto的本卷須知:閱歷證明,運(yùn)用goto語句實現(xiàn)循環(huán),破環(huán)了程序的可讀性?,F(xiàn)代程序設(shè)計中,不提倡運(yùn)用goto來完成循環(huán)。保管goto語句,應(yīng)該僅僅用于跳出多重循環(huán)這個功能。用于s
36、witch語句和循環(huán)語句(while、do-while 、 for 、foreach)語句中,用于跳出所在的switch或者循環(huán)語句break;例:break 跳出 for語句int i;for(i=1; i=100; i+) Console.WriteLine(i); if(i = 5) break;Console.WriteLine(Finished);12345Finished輸出結(jié)果:4.4 .2 break語句用于switch語句和循環(huán)語句(while、do-while 、 for 、foreach)語句中,用于跳出所在的switch或者循環(huán)語句break;例:break 跳出 fo
37、r語句int i;for(i=1; i=100; i+) Console.WriteLine(i); if(i = 5) break;Console.WriteLine(Finished);用于switch語句和循環(huán)語句(while、do-while 、 for 、foreach)語句中,用于跳出所在的switch或者循環(huán)語句break;輸出結(jié)果:例:break 跳出 for語句int i;for(i=1; i=100; i+) Console.WriteLine(i); if(i = 5) break;Console.WriteLine(Finished);用于switch語句和循環(huán)語句(w
38、hile、do-while 、 for 、foreach)語句中,用于跳出所在的switch或者循環(huán)語句break;12345Finished例:break 跳出 for語句int i;for(i=1; i=100; i+) Console.WriteLine(i); if(i = 5) break;Console.WriteLine(Finished);用于switch語句和循環(huán)語句(while、do-while 、 for 、foreach)語句中,用于跳出所在的switch或者循環(huán)語句break;break語句: 強(qiáng)迫退出一層循環(huán)只可以退出一層!運(yùn)用goto 可以退出多層for(.; .
39、; .) for(; ;) . break; . Console.WriteLine(n);例:判別一個整數(shù)n能否為素數(shù)算法:輸入n從2到n-1實驗?zāi)芊癖籲整除。假設(shè)恣意一個可以整除,那么不是素數(shù)假設(shè)全部實驗都不能整除,那么為素數(shù)素數(shù):大于1的正整數(shù),假設(shè)除了1和它本身,沒有其它正因子算法:輸入n從2到n-1實驗?zāi)芊癖籲整除。假設(shè)恣意一個可以整除,那么不是素數(shù)假設(shè)全部實驗都不能整除,那么為素數(shù)算法偽代碼輸入n;isPrime = true;for(i=2; in; i+) if( n% i=0) / i被n整除 isPrime = false;/ 如今, isPrime 變量表示 n 能否素數(shù)
40、偽代碼是人交流算法時運(yùn)用的不完好的代碼,沒有固定的語法,但寫出關(guān)鍵的語句對一切的 i進(jìn)展檢測是多于的,由于只需有一個i被n整除,曾經(jīng)可以斷定不是素數(shù),不需求繼續(xù)實驗。在這里,可以運(yùn)用break語句跳出循環(huán)輸入n;isPrime = true;for(i=2; in; i+) if( n% i=0) / i被n整除 isPrime = false;/ 如今, isPrime 變量表示 n 能否素數(shù)輸入n;isPrime = true;for(i=2; in; i+) if( n% i=0) / i被n整除 isPrime = false;/ 如今, isPrime 變量表示 n 能否素數(shù)輸入n;
41、isPrime = true;for(i=2; in; i+) if( n% i=0) / i被n整除 isPrime = false;/ 如今, isPrime 變量表示 n 能否素數(shù)static void Main(string args) int n, k; bool IsPrime = true; /標(biāo)志 Console.WriteLine(請輸入要檢測的整數(shù)大于1:); n = int.Parse(Console.ReadLine(); for (k = 2; k n; k+) if (n % k = 0) IsPrime = false; / 可以一定不是素數(shù) break; /余下
42、的不用再實驗了 if (IsPrime) Console.WriteLine(0是素數(shù), n); else Console.WriteLine(0不是素數(shù), n); 注:在該例子中,沒有break程序也能正確運(yùn)轉(zhuǎn),但有多余計算continue語句用于循環(huán)語句中,類似于break語句,但僅從當(dāng)前的循環(huán)迭代中退出,然后執(zhí)行下一次迭代循環(huán)。用于循環(huán)語句中while, do-while, for, foreachcontinue 終了本次循環(huán),繼續(xù)下一次循環(huán)continue;4.4 .3 continue語句用于循環(huán)語句中while, do-while, for, foreachcontinue 終了
43、本次循環(huán),繼續(xù)下一次循環(huán)continue;static void Main(string args) for(int i=1;i=10;i=i+1) if(i5) continue; Console.WriteLine(i); 了解continue語句的運(yùn)用,求輸出大于或等于5的數(shù)運(yùn)轉(zhuǎn)結(jié)果:5678910static void Main(string args) for(int i=1;i=10;i=i+1) if(i5) continue; Console.WriteLine(i); 運(yùn)轉(zhuǎn)結(jié)果:5678910for(int n=10; n=20; n+) if(n%3 = 0)continu
44、e; Console.WriteLine(n);例:打印出10到20之間不能被3整除的數(shù)字例:輸出100以內(nèi)一切能被5整除的數(shù)static void Main(string args) for (int i = 1; i = 100; i+) if (i % 5 != 0) continue; Console.Write(0t, i); static void Main(string args) for (int i = 1; i = 100; i+) if (i % 5 = 0) Console.Write(0t, i); 運(yùn)用Continue:不用Continue:這兩個程序功能一樣static void Main(string args) for (int i = 1; i = 100; i+) i
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛(wèi)生間潔具拆除與改造工程施工技術(shù)方案
- 2025年昔陽縣招教考試備考題庫及答案解析(必刷)
- 2024年硯山縣幼兒園教師招教考試備考題庫帶答案解析(必刷)
- 某家具公司電腦報廢處理方案
- 某家具公司家具直播銷售方案(規(guī)則)
- 2024年金塔縣招教考試備考題庫及答案解析(必刷)
- 化工公司校企合作管控方案
- 2026年財務(wù)分析技能題庫實操
- 2026年環(huán)境科學(xué)與保護(hù)政策理解題庫
- 2025年貴陽人文科技學(xué)院馬克思主義基本原理概論期末考試模擬題含答案解析(奪冠)
- 個人IP打造運(yùn)營方案【新媒體運(yùn)營】【個人自媒體IP】
- 2024-2025學(xué)年七年級語文上學(xué)期期末專題復(fù)習(xí):基礎(chǔ)知識運(yùn)用(含答案)
- 高溫熔融金屬企業(yè)安全知識培訓(xùn)
- 航天禁(限)用工藝目錄(2021版)-發(fā)文稿(公開)
- CB-T-4459-2016船用七氟丙烷滅火裝置
- 鄰近鐵路營業(yè)線施工監(jiān)測技術(shù)規(guī)程編制說明
- 教育科學(xué)研究方法智慧樹知到期末考試答案章節(jié)答案2024年浙江師范大學(xué)
- 民辦高中辦學(xué)方案
- 樹脂鏡片制作課件
- Q-CR 864.4-2021 列控中心接口規(guī)范 第4部分:列控中心與地面電子單元接口(串行通信)
- 企業(yè)對賬函模板11
評論
0/150
提交評論