文章

第4天:條件判斷與控制流程

課程簡介

今天,我們將學習如何使用 C# 的條件判斷控制流程結構來控制程式的執行路徑。
掌握這些控制結構將讓我們能夠根據不同條件執行不同的程式碼區塊,並且能夠迴圈重複執行指令。
這些都是開發靈活程式所需的基本技巧。


學習目標

  • 瞭解 if-else 條件判斷結構
  • 使用 switch 條件選擇結構
  • 掌握迴圈控制語句 forwhiledo-while

課程內容

1. 條件判斷結構

if-else

  • 使用 if 判斷某條件是否為 true,並決定是否執行對應的程式碼區塊。
  • 語法:
    1
    2
    3
    4
    5
    6
    7
    8
    
    if (條件)
    {
        // 條件為 true 時執行的程式碼
    }
    else
    {
        // 條件為 false 時執行的程式碼
    }
    

範例

1
2
3
4
5
6
7
8
9
10
int age = 20;

if (age >= 18)
{
    Console.WriteLine("您是成年人。");
}
else
{
    Console.WriteLine("您是未成年人。");
}

if-else if-else

  • 可在 ifelse 之間加入多個 else if,用於判斷不同條件。
  • 語法:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    if (條件1)
    {
        // 當條件1為 true 時執行
    }
    else if (條件2)
    {
        // 當條件2為 true 時執行
    }
    else
    {
        // 以上條件皆不成立時執行
    }
    

範例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int score = 85;

if (score >= 90)
{
    Console.WriteLine("優秀");
}
else if (score >= 80)
{
    Console.WriteLine("良好");
}
else if (score >= 60)
{
    Console.WriteLine("及格");
}
else
{
    Console.WriteLine("不及格");
}

2. switch 條件選擇結構

  • switch 是另一種條件選擇結構,可以根據不同情況執行對應的代碼,適合用於多條件情境。
  • 語法:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    switch (變數)
    {
        case 1:
            // 當變數等於值1時執行
            break;
        case 2:
            // 當變數等於值2時執行
            break;
        default:
            // 以上條件皆不成立時執行
            break;
    }
    

範例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
string day = "Monday";

switch (day)
{
    case "Monday":
        Console.WriteLine("今天是星期一");
        break;
    case "Tuesday":
        Console.WriteLine("今天是星期二");
        break;
    default:
        Console.WriteLine("今天不是星期一或星期二");
        break;
}

3. 迴圈控制結構

for 迴圈

  • for 迴圈用於確定重複次數的情況。
  • 語法:
    1
    2
    3
    4
    
    for (初始化; 條件; 更新)
    {
        // 條件為 true 時重複執行的程式碼
    }
    

範例

1
2
3
4
for (int i = 0; i < 5; i++)
{
    Console.WriteLine("i 的值是 " + i);
}

while 迴圈

  • while 迴圈會在每次迴圈開始前檢查條件。
  • 語法:
    1
    2
    3
    4
    
    while (條件)
    {
        // 條件為 true 時重複執行的程式碼
    }
    

範例

1
2
3
4
5
6
7
int i = 0;

while (i < 5)
{
    Console.WriteLine("i 的值是 " + i);
    i++;
}

do-while 迴圈

  • do-while 迴圈至少會執行一次,然後檢查條件。
  • 語法:
    1
    2
    3
    4
    
    do
    {
        // 執行的程式碼
    } while (條件);
    

範例

1
2
3
4
5
6
7
int i = 0;

do
{
    Console.WriteLine("i 的值是 " + i);
    i++;
} while (i < 5);

實作練習

  1. 建立新專案並編寫程式碼
    • 開啟專案的 Program.cs 檔案,並加入以下程式碼:
      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
      44
      45
      46
      
      using System;
      
      class Program
      {
          static void Main(string[] args)
          {
              Console.WriteLine("請輸入一個數字:");
              int number = int.Parse(Console.ReadLine());
      
              // 使用 if-else 判斷
              if (number % 2 == 0)
              {
                  Console.WriteLine("這是一個偶數。");
              }
              else
              {
                  Console.WriteLine("這是一個奇數。");
              }
      
              // 使用 switch 判斷
              Console.WriteLine("請輸入星期幾(1-7):");
              int day = int.Parse(Console.ReadLine());
      
              switch (day)
              {
                  case 1:
                      Console.WriteLine("星期一");
                      break;
                  case 2:
                      Console.WriteLine("星期二");
                      break;
                  case 3:
                      Console.WriteLine("星期三");
                      break;
                  default:
                      Console.WriteLine("請輸入有效的數字(1-7)");
                      break;
              }
      
              // 使用 for 迴圈
              for (int i = 1; i <= 3; i++)
              {
                  Console.WriteLine("這是第 " + i + " 次迴圈");
              }
          }
      }
      
  2. 執行程式
    • 使用終端執行以下命令:
      1
      
      dotnet run
      
    • 根據提示輸入數字,觀察輸出結果。

教學重點

  • 使用 if-elseswitch 判斷結構根據條件執行特定程式碼。
  • 掌握 forwhiledo-while 迴圈的使用方法。
  • 了解如何使用控制結構來改變程式的執行流程。

在接下來的課程中,我們將進一步探討 C# 中的陣列與集合,並學習如何操作多筆資料!

本文章以 CC BY 4.0 授權