C 迴圈控制語句

2021-04-12 20:13:14 字數 3591 閱讀 4982

本節課將介紹如何使用c#控制語句中的迴圈語句,本課目的如下:

1.學會"while"迴圈的用法。

2.學會"do" 迴圈的用法。

3.學會"for" 迴圈的用法。

4.學會foreach迴圈的用法。

5.進一步了解"break"語句的用法。

6.如何使用"continue"語句。

在c#中,使用"goto"語句並不是乙個最佳的建立迴圈的方法。本節課將介紹建立迴圈的常用方法。

第乙個要介紹的語句是while迴圈語句

1.清單 4-1. while迴圈:while loop.cs

using system;

class whileloop ", myint);

myint++;

}console.writeline();}}

說明 1.清單 4-1演示了乙個簡單的while 迴圈。

以關鍵字"while"開始,後面是個布林表示式。所有的控制語句都使用了布林表示式。這就意味著表示式必須計算出true 或者false值。本例中,我們將檢查myint變數,看看它是否小於10。 因為myint已經初始化為0,第一次計算時,該布林表示式將返回true值。一旦布林表示式的值為true,將執行該布林表示式後面塊中的語句。

2.在while塊中,我們把數字和空格輸出到控制台中,之後,對 myint進行加1運算。一旦執行了while塊中的語句之後,再次計算布林表示式的值,這種情況將一直迴圈下去,直到該布林表示式的值為false為止。 一旦布林表示式的值為false, 程式將從while 塊之後的第一條語句開始執行。在本例中,我們把數字0到9輸出到控制台中,之後退出while塊,再輸出乙個新行到控制台。

同 "while"迴圈類似的是"do" 迴圈語句。

2.清單 4-2. do 迴圈: do loop.cs

using system;

class doloop is not a valid choice", mychoice);

}// pause to allow the user to see the results

console.write("press any key to continue...");

console.readline();

console.writeline();

} while (mychoice != "q" && mychoice != "q"); // keep going until the user wants to quit}}

說明 1.清單 4-2 演示了"do"迴圈的例子。 "do" 迴圈的格式是: do while (《布林表示式》);其中的語句可以是任何合法的c#語句,布林表示式同以前的規定一樣,其返回值要麼為true,要麼為false。

2.如果你打算輸出清單4-2 中的資訊或者選單,之後再讀取使用者的輸入,那麼就使用"do" 格式的迴圈而不要使用"while" 格式的迴圈語句。因為在本例中,布林表示式的值是在迴圈結束處進行計算的, "do" 迴圈可以保證:迴圈體中的語句至少執行一次。與此相對應的是:"while" 迴圈一開始時,計算布林表示式的值,"while" 迴圈不能保證迴圈體中的語句能夠至少執行一次。

3.讓我們來回顧一下清單 4-2中的內容。

在main()方法中,我們定義了變數 "mychoice"為字串型別。之後,輸出一些資訊到控制台,即輸出乙個可讓使用者進行選擇的選單。我們必須要得到使用者的輸入,即console.readline()方法所返回的值,該值存放在mychoice變數中。我們必須先得到使用者的輸入,之後再處理。要完成這件事,乙個有效的方法是就使用 "switch"語句。注意到:為了獲得同樣的功能,我們既匹配了小寫字母,也匹配了大寫字母。另外一點是:我們使用了 "default:" case,這是個良好的程式設計作風。

3.清單 4-3. for 迴圈: for loop.cs

using system;

class forloop ", i);

}console.writeline();}}

說明 1.清單 4-3 演示了"for" 迴圈的用法。

當你能夠精確地知道迴圈的次數時, for 迴圈語句就派上了用場。本程式同清單 4-1中"while" 迴圈程式的執行結果一樣。 "for" 迴圈中,括號中內容由三個由分號隔開的部分: "(《初始化表》; 《布林表示式》; 2.初始化表是個由逗號隔開的表示式,在"for" 迴圈的整個週期中,這些表示式僅僅計算一次。計算是在一開始進行的,並且在迴圈語句的執行之前進行。正如在清單 4-3所見,通常初始化表是先初始化乙個作為計數器的整型變數。

3.一旦進行初始化後, "for" 迴圈就進入第二部分:布林表示式的計算。 這裡的布林表示式可以寫得很複雜,但是結果只能是true或者false。布林表示式通常用來驗證計數器變數的狀態。

4.一旦布林表示式的值為true時,就會執行"for" 迴圈大括號中的語句。通常情況下,這些語句從左大括號開始,不中斷地一直執行到右大括號。但在清單4-3中,有幾個例外,幾個"if"語句改變了程式的流程。

第乙個"if"語句檢查"i"是否等於10,這裡使用了"break"語句,可在此處跳出迴圈,轉入 "for"塊後面的第一條語句的執行。

第二條"if"語句使用了求餘運算子,看看"i"是否能夠被2整除,如果餘數等於0,就執行 "continue"語句。控制將跳過迴圈體中餘下的語句,轉入下一輪新的迴圈。你需要在塊中正確地組織好語句,一旦滿足有關條件,就執行相應的語句。

5.一旦程式流程遇到continue語句,或者遇到塊的結尾處的右括號, 就轉入"for" 迴圈括號中的第三項:post-loop 動作表,該錶由逗號隔開,在"for"塊中的語句都執行完畢之後,就執行該動作表中的動作。 清單 4-3中的 post-loop 動作表中的動作很典型:計數器加1。一旦動作表執行完畢,流程就轉到對布林表示式值進行判別。迴圈將繼續進行下去,直到布林表示式的值為true。當布林表示式的值為false,控制流程就轉到 "for"塊之後的第一條語句。

4.清單 4-4. the foreach 迴圈: foreachloop.cs

using system;

class foreachloop ;

foreach (string person in names) ", person);}}

} 說明

1."foreach" 迴圈列舉出集合中所有的元素。

清單 4-4所使用的陣列型別,就是這樣的乙個集合。(在"system.collections"也可以由其他的資料型別作集合。). 在main()方法中,我們所做的第一件事是:定義由四個字串組成的陣列names。

2."foreach"括號中的表示式是由關鍵字in隔開的兩個項組成。in右邊的項是集合名,in左邊的項是變數名,用來存放該集合中的每個元素。

該迴圈的執行過程如下:每一次迴圈時,從集合中取出乙個新的元素值,放到唯讀變數中去,括號中的整個表示式返回值為true, "foreach"塊中的語句就能夠執行。一旦集合中的元素都已經被訪問到,整個表示式的值為false,控制流程就轉入到 "foreach" 塊後面的第一條可執行語句。

3.在清單 4-4的例子中,我們使用了字串變數person用來存放names陣列的每個元素,並且使用console.writeline()方法輸出person 變數的值。

小結到現在為止,你已經了解了"while","do","for"和"foreach" 迴圈語句的用法。最後你也學習了如何設定有關條件,來改變迴圈體塊中的語句的流程。   

c 迴圈控制語句

迴圈控制語句更改執行的正常序列,當執行離開乙個範圍時,所有在該範圍中建立的自動物件都會被銷毀,c 提供了下列的控制語句 break語句 終止loop或switch語句,程式流將繼續執行緊接著loop或switch的下一條語句 當break語句出現在乙個迴圈內時,迴圈會立即終止,且程式流將繼續執行緊接...

C 迴圈控制語句

本節課將介紹如何使用c 控制語句中的迴圈語句,本課目的如下 1.學會 while 迴圈的用法。2.學會 do 迴圈的用法。3.學會 for 迴圈的用法。4.學會foreach迴圈的用法。5.進一步了解 break 語句的用法。6.如何使用 continue 語句。在c 中,使用 goto 語句並不是...

C 迴圈控制語句

本節課將介紹如何使用c 控制語句中的迴圈語句,本課目的如下 1.學會 while 迴圈的用法。2.學會 do 迴圈的用法。3.學會 for 迴圈的用法。4.學會foreach迴圈的用法。5.進一步了解 break 語句的用法。6.如何使用 continue 語句。在c 中,使用 goto 語句並不是...