2026-05-10 C# 實戰練習固控制流語句的知識

2026-05-10 C# 實戰練習固控制流語句的知識

我:
實戰練習
讓我們來做一些練習,幫助你鞏固控制流語句的知識:

練習 1:使用 if-else 語句

定義一個變數 score,值為 75。
使用 if-else 判斷 score 是否大於等於 60,
如果是,輸出「及格」,否則輸出「不及格」。

int score = 75;
if (score >=60)
{
Console.WriteLine($”分數:{score} 及格”);
}
else
{
Console.WriteLine($”不及格”);
}

練習 2:使用 switch 語句

定義一個變數 dayOfWeek,值為 “Friday”。
使用 switch 判斷星期幾,如果是 “Monday”,輸出「星期一」,如果是 “Friday”,輸出「星期五」,其他情況輸出「未知的星期」。

string dayOfWeek = “Friday”;
switch (dayOfWeek)
{
case “Monday”:
Console.WriteLine(“星期一”);
break;
case “Friday”:
Console.WriteLine(“星期五”);
break;
default:
Console.WriteLine(“未知的星期”);
break;
}

練習 3:使用 for 迴圈

使用 for 迴圈從 1 到 10,輸出所有的數字。

    for(int i= 1; i<=10; i++)
    {
        Console.WriteLine($"i = {i}");
    }

練習 4:使用 while 迴圈

定義一個變數 counter,值為 1。
使用 while 迴圈,當 counter 小於等於 5 時輸出 counter,每次輸出後增加 1。

int counter = 1;
while (counter <=5)
{
Console.WriteLine($”counter: {counter}”);
counter++;
}

問題

    問題: if-else 語句和 switch 語句有什麼區別?什麼時候應該用 switch?
    回答:
     if-else 語句和 switch 的區別: if-else 適用在單一判斷, switch 可以多值判斷
    例如:

    //if-else
    bool loginOk = false;
    if (loginOk)
    {
       Console.WriteLine("登入成功!");
    }
    else
    {
        Console.WriteLine("登入失敗!");

    }
    //switch
    string messageColor = "green";

    switch(messageColor)
    {
        case "blue":
            Console.WriteLine("藍色...一般訊息");
            break;
        case "green":
            Console.WriteLine("綠色....通過!");
            break;
        case "red":
            Console.WriteLine("紅色....失敗!!!");
            break;
        case "orange":
            Console.WriteLine("橘色....警告!!!");
            break;
        default:
            Console.WriteLine("未知的訊息!!!!");
            break;
    }
    //綠色....通過!


    問題: while 和 do -while 迴圈的主要區別是什麼?
    回答:
    while是 當條件成立時, 開始跑迴圈
    do -while 無論條件是否成立, 都會跑一次迴圈
    例如:
//while
    int counter_1 = 1;
    while (counter_1 <= 3)
    {
        Console.WriteLine($"counter_1: {counter_1}");
        counter_1++;
    }
    //counter_1: 1
    //counter_1: 2
    //counter_1: 3


//do -while
    int counter_2 = 1;
    do
    {
        Console.WriteLine($"counter_2: {counter_2}");
        counter_2++;
    }while (counter_2 <= 3);
    //counter_2: 1
    //counter_2: 2
    //counter_2: 3

GPT:
你的回答和代碼都非常好!你成功完成了對控制流語句的練習,也正確回答了相關的問題,展示了對各種控制流語句的理解。以下是一些補充和改進,使你的答案更加清晰和準確。

改進和補充

  1. 語法與敘述調整

    • if-elseswitch 的回答中,可以更詳細地說明它們的適用場景,以便更好地理解什麼情況下應該選擇使用哪種語句。
    • whiledo-while 的範例中,可以補充它們的運行順序差異,以便強調兩者的不同。

修正後的答案

練習部分

你的代碼是完全正確的,這裡是完整的代碼示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// 練習 1:使用 if-else 語句
int score = 75;
if (score >= 60)
{
Console.WriteLine($"分數: {score} 及格");
}
else
{
Console.WriteLine("不及格");
}
// 輸出: 分數: 75 及格

// 練習 2:使用 switch 語句
string dayOfWeek = "Friday";
switch (dayOfWeek)
{
case "Monday":
Console.WriteLine("星期一");
break;
case "Friday":
Console.WriteLine("星期五");
break;
default:
Console.WriteLine("未知的星期");
break;
}
// 輸出: 星期五

// 練習 3:使用 for 迴圈
for (int i = 1; i <= 10; i++)
{
Console.WriteLine($"i = {i}");
}
// 輸出: i = 1, i = 2, ... , i = 10

// 練習 4:使用 while 迴圈
int counter = 1;
while (counter <= 5)
{
Console.WriteLine($"counter: {counter}");
counter++;
}
// 輸出: counter: 1, counter: 2, ..., counter: 5

問題回答

問題 1:if-else 語句和 switch 語句有什麼區別?什麼時候應該用 switch

回答:

  • if-else 語句 適用於根據不同的條件進行判斷,通常適合於處理單一或複雜的邏輯表達式。例如,如果條件是布林值(truefalse),或者條件是由多個比較和邏輯組合而成,if-else 更為合適。

    範例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    bool loginOk = false;
    if (loginOk)
    {
    Console.WriteLine("登入成功!");
    }
    else
    {
    Console.WriteLine("登入失敗!");
    }
  • switch 語句 適用於多值選擇的情況,通常是當需要對一個變數進行多個可能值的判斷時使用,例如枚舉類型或一組特定的字串常量。這種語句在處理多個可能的選擇時比 if-else 更直觀和清晰。

    範例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    string messageColor = "green";

    switch (messageColor)
    {
    case "blue":
    Console.WriteLine("藍色...一般訊息");
    break;
    case "green":
    Console.WriteLine("綠色....通過!");
    break;
    case "red":
    Console.WriteLine("紅色....失敗!!!");
    break;
    case "orange":
    Console.WriteLine("橘色....警告!!!");
    break;
    default:
    Console.WriteLine("未知的訊息!!!!");
    break;
    }
    • 輸出:綠色….通過!

總結:

  • 當條件較複雜或涉及多個布林運算時,使用 if-else
  • 當需要針對一個值的多種可能性進行選擇時,使用 switch 更合適。

問題 2:whiledo-while 迴圈的主要區別是什麼?

回答:

  • while 迴圈:在執行迴圈內的代碼之前會先檢查條件是否為 true。只有當條件為 true 時,才會進行迴圈。如果條件一開始就是 false,那麼迴圈一次也不會執行。

    範例:

    1
    2
    3
    4
    5
    6
    int counter_1 = 1;
    while (counter_1 <= 3)
    {
    Console.WriteLine($"counter_1: {counter_1}");
    counter_1++;
    }
    • 輸出:

      1
      2
      3
      counter_1: 1
      counter_1: 2
      counter_1: 3
  • do-while 迴圈:首先執行迴圈內的代碼,然後再檢查條件是否為 true。無論條件最初是否成立,do-while 迴圈至少會執行一次。

    範例:

    1
    2
    3
    4
    5
    6
    int counter_2 = 1;
    do
    {
    Console.WriteLine($"counter_2: {counter_2}");
    counter_2++;
    } while (counter_2 <= 3);
    • 輸出:

      1
      2
      3
      counter_2: 1
      counter_2: 2
      counter_2: 3

總結:

  • while 迴圈在條件成立時進行,可能一次都不執行。
  • do-while 迴圈至少執行一次,然後根據條件繼續決定是否繼續。

小結

  • 你成功完成了對 if-elseswitchforwhiledo-while 的練習,非常棒!
  • if-elseswitch 都是條件判斷語句,但 switch 更適合用於多個值選擇的情況。
  • whiledo-while 都是迴圈語句,但 do-while 至少執行一次,while 則可能一次也不執行。

接下來,如果你準備好了,我們可以進入第五階段,學習 方法和函數的定義與使用,這是讓你的代碼更為模組化和可重用的重要部分。如果有任何不清楚的地方,隨時告訴我!