C#程式設計基礎第七課:C#中的基本迴圈語句:while迴圈、do-while迴圈、for迴圈、foreach迴圈的使用
知識點:while迴圈、do-while迴圈、forxufo迴圈、ach迴圈的使用。
1、while迴圈
特點:先判斷條件,條件為真,執行迴圈語句。條件為假,直接結束迴圈語句。
語法:
while(條件表示式)
{
迴圈語句;//如果條件為真,執行迴圈語句,如果條件為假,直接結束整個while語句
}
while迴圈執行流程:
while語句功能
- 計算表示式的值,當值為真(非0)時,執行迴圈體語句。
- 一旦條件為假,就停止執行迴圈體。
- 如果條件在開始時就為假,那麼不執行迴圈體語句直接退出。
while迴圈程式碼練習:迴圈輸出5遍“好好學習,天天向上”
static void Main(string[] args)
{
//第一步宣告一個迴圈變數i,並賦初始值為1
int i = 1;
//第二步,使用迴圈,設定迴圈的條件,迴圈多少次?
while (i <=5)
//第三步,設定迴圈語句,每一次重複的內容是什麼
{
Console.WriteLine("這是第{0}遍:好好學習,天天向上",i);
i++;//記得給迴圈變數進行變化,否則可能進入死迴圈
}
Console.ReadLine();
}
迴圈的三要素:
- 迴圈變數的初始化;
- 迴圈的條件;
- 迴圈變數的疊加;
思考兩個問題:
①迴圈變數要發生改變,不然迴圈就失去意義。要麼一次不迴圈,要麼陷入死迴圈。舉例演示:將i=6或註釋掉i++
②迴圈變數發生改變,i++ 和++i的區別
++在前面,就先執行+1,再輸出變數。
++在後面,先輸出變數,再執行+1。
int num1 = 6, num2 = 6; //宣告兩個變數,並賦初始值
Console.WriteLine(num1++); //輸出6,num1先輸出6,然後再增加1,變成7
Console.WriteLine(num1); //輸出7,此時num1已經變成7
Console.WriteLine(++num2); //輸出7,num2先增加1,變成7,然後再輸出
Console.WriteLine(num2); //輸出7
while迴圈課後練習:①計算1+2+……+100的和 ②計算100以內偶數的和
2、do-while迴圈
特點:先執行一次迴圈語句,然後再判斷條件,如果條件為真,那麼繼續執行迴圈語句。如果條件為假,那麼直接結束迴圈語句。
語法:
do
{
迴圈語句;
}
while (條件表示式);
do-while執行流程:
do-While語句功能
至少會執行一次迴圈語句
do-while迴圈程式碼練習:程式設定一個固定數值,提示使用者輸入整數,並判斷大小,直到輸入正確為止。
static void Main(string[] args)
{
/*
* 輸入數字,判斷數字與指定數字的關係,給出提示
* 輸入錯誤,則迴圈提示輸入
* 輸入正確,則結束迴圈
*/
int a = 123;//宣告一個整型變數a,用以存放指定數值
int b; //宣告一個整型變數b,用以存放使用者將輸入的數值
do
{
Console.WriteLine("請輸入一個整數:");
b = int.Parse(Console.ReadLine());
if (b > a)
{
Console.WriteLine("您輸入的數字太大了");
}
else if (b < a)
{
Console.WriteLine("您輸入的數字太小了");
}
Console.WriteLine();
}
while (!(a == b));//當使用者輸入正確時,條件表示式結果為假,退出do-while迴圈
Console.WriteLine("輸入正確");
Console.ReadLine();
}
do-while迴圈程式碼練習:程式指定賬號和密碼,提示使用者輸入賬號密碼,如果輸入錯誤則提示錯誤,讓使用者繼續輸入。直到輸入正確為止。
3、for迴圈
和while迴圈一樣,先判斷後執行,這兩種迴圈可以互相代替。
for迴圈語法:
for(表示式1;表示式2;表示式3)
{
迴圈語句;
}
for迴圈執行流程:
for語句功能
1、表示式1,通常為迴圈變數賦初值;
2、表示式2,即判斷迴圈條件是否為真,若值為真則執行迴圈體一次, 否則跳出迴圈;
3、表示式3,這裡通常寫更新迴圈變數的賦值表示式,然後轉回第2步重複執行;
for迴圈程式碼練習:一隻青蛙一張嘴,兩隻眼睛四條腿,輸出10只青蛙
static void Main(string[] args)
{
//迴圈輸出10只青蛙
for(int i = 1; i <= 10; i++)
{
Console.WriteLine("{0}只青蛙,{0}張嘴,{1}隻眼睛,{2}條腿",i,2*i,4*i);
}
Console.ReadLine();
}
程式碼結果演示:
for迴圈的變體(表示式1、表示式2、表示式3都可以根據需要進行省略,但是三個表示式之間的分號不允許省略),此內容知道即可,建議寫程式碼時要按正規方式寫。
for迴圈程式碼練習:輸出1-5與10的乘積
4、foreach迴圈
foreach迴圈是C#中特有的迴圈,它一般用於對陣列、集合中的每個元素進遍歷。
foreach語法:
foreach(資料型別 變數名 in 陣列或集合名)
{
迴圈語句;
}
foreach迴圈程式碼練習:遍歷輸出字串中的每一個字
static void Main(string[] args)
{
//將使用者輸入的話遍歷輸出
Console.WriteLine("請輸入一句話:");
string yj = Console.ReadLine();
foreach(char a in yj)
{
Console.WriteLine(a);
}
Console.ReadLine();
}
程式碼結果演示:
5、while迴圈、do-while迴圈、for迴圈、foreach迴圈的區別
- while迴圈和for迴圈,都是先判斷條件,如果條件為真則執行迴圈。如果條件一開始就為假,則一次迴圈都不執行。
- do-while迴圈,則是先執行一次迴圈語句,再判斷條件。如果條件一開始就位假,那麼至少會執行一次迴圈語句。
- 三種迴圈,都有可能出現死迴圈,一般情況下,應當避免死迴圈的出現。
- foreach迴圈,根據陣列或集合中的每個元素來迴圈程式碼塊。
- for迴圈和foreach迴圈當中定義的初始化變數,只有自己才能用;while和do-while迴圈,初始化變數本來就在外面,所以外面也照樣可以使用。
使用建議:
- 絕大多數情況下,while迴圈、do-while迴圈和for迴圈可以來回轉換。
- 但是凡是次數確定、範圍確定的情況,儘量使用for迴圈。
- 如果不在乎次數,只在乎條件是否成立,那麼多用while迴圈。
課後迴圈練習:
1、猜數字遊戲:程式指定一個數字,提示使用者輸入數字,並給出提示,如果錯誤,迴圈提示輸入數字,直到輸入正確為止。
2、智慧機器人:迴圈接收使用者輸入的問題,並給出對應答案,直到程式庫裡缺少正確答案為止。(提示:使用contains()方法,只要使用者輸入字元中包含指定關鍵詞,即觸發答案)
提示:以上兩題用到了迴圈和判斷。先想清楚迴圈條件、迴圈語句。
相關文章
- C語言——迴圈結構(for迴圈,while迴圈,do-while迴圈)C語言While
- JavaScript的map迴圈、forEach迴圈、filter迴圈、reduce迴圈、reduceRight迴圈JavaScriptFilter
- while迴圈以及do while迴圈While
- Java入門學習-學習if & else,for迴圈,foreach迴圈,while迴圈的用法。JavaWhile
- C語言程式設計學習中while迴圈和do……while迴圈C語言程式設計While
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-FOR迴圈-FOR迴圈中的索引SQL索引
- Matlab的if語句switch語句for迴圈while迴圈語句練習MatlabWhile
- Object-C,迴圈語句for,while,do-whileObjectWhile
- 04流程控制 for迴圈,while迴圈While
- while迴圈While
- Python基礎-While迴圈語句PythonWhile
- python04: while迴圈語句 break continue for in 迴圈PythonWhile
- C# 迴圈C#
- C#迴圈C#
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-WHILE迴圈SQLWhile
- c#入門-while迴圈C#While
- C#練習,應用for,while,do-while迴圈C#While
- 【基礎題】【for迴圈】二重迴圈
- python 基礎習題6--for迴圈和while迴圈PythonWhile
- PHP For & While 迴圈PHPWhile
- JavaScript中的while迴圈JavaScriptWhile
- JavaScript 流程控制語句詳解:if語句、switch語句、while迴圈、for迴圈等JavaScriptWhile
- 無限for迴圈(死迴圈)
- MyBatis xml foreach迴圈語句MyBatisXML
- Java基礎 迴圈語句 for while do.....while語句JavaWhile
- 14,javase程式碼實戰-迴圈控制——foreach迴圈的使用(五)Java
- TypeScript 迴圈語句TypeScript
- JavaScript for 迴圈語句JavaScript
- MySQL迴圈語句MySql
- Oracle迴圈語句Oracle
- 探討兩種迴圈表示方法的區別,while迴圈與for迴圈的小總結While
- C#教程第四課:迴圈控制語句C#
- 【Python基礎】for迴圈語句Python
- while + else 使用,while死迴圈與while的巢狀,for迴圈基本使用,range關鍵字,for的迴圈補充(break、continue、else) ,for迴圈的巢狀,基本資料型別及內建方法While巢狀資料型別
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-FOR迴圈SQL
- 迴圈中的非同步&&迴圈中的閉包非同步
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-基本迴圈(EXIT語句)SQL
- mybatis foreach迴圈MyBatis