C - 決策製作:初學者指南

你好,未來的程式設計師們!歡迎來到C語言編程的精彩世界。我很興奮能成為你們在這次旅程中的引路人,我們將會深入探究編程中最基礎的概念之一:決策製作。作為一個教導C語言超過十年的老師,我可以向你們保證,掌握這些概念將會在你的編程冒險中產生遊戲規則的變化。那麼,讓我們一起來探索吧!

C - Decision Making

C語言中的If語句

想像一下你在一個冰淇淋店,需要決定是否購買一個冰淇淋。在編程中,我們使用'if'語句來做這樣的決策。這就像提出一個問題,並根據答案來執行某些操作。

以下是在C語言中它看起來的樣子:

if (condition) {
// 如果條件為真的話要執行的代碼
}

讓我們看一個真實的例子:

#include <stdio.h>

int main() {
int scoops = 2;

if (scoops > 1) {
printf("哇,這真是很多冰淇淋!\n");
}

return 0;
}

在這個例子中,如果冰淇淋球數量超過1個,它將會打印出這個消息。試著改變'scoops'的值,看看會發生什麼!

C語言中的If...else語句

現在,如果我們想在條件為假時做些事情該怎麼辦?這就是'if...else'語句派上用場的地方。這就像有一個計劃B。

if (condition) {
// 如果條件為真的話要執行的代碼
} else {
// 如果條件為假的話要執行的代碼
}

讓我們擴展我們的冰淇淋例子:

#include <stdio.h>

int main() {
int money = 5;
int ice_cream_cost = 6;

if (money >= ice_cream_cost) {
printf("太棒了!你可以買冰淇淋了!\n");
} else {
printf("對不起,今天沒有足夠的錢買冰淇淋。\n");
}

return 0;
}

在這裡,我們正在檢查我們是否有足夠的錢買冰淇淋。如果我們有的話,太好了!如果沒有的話,那麼,下次吧。

C語言中的嵌套If語句

有時候,生活(和編程)不僅僅是關於一個決策。我們經常需要在決策中做決策。這就是嵌套的'if'語句出現的地方。

if (outer_condition) {
if (inner_condition) {
// 如果兩個條件都為真的話要執行的代碼
}
}

讓我們看一個更複雜的冰淇淋情景:

#include <stdio.h>

int main() {
int temperature = 30;
int has_money = 1; // 1 表示真,0 表示假

if (temperature > 25) {
if (has_money) {
printf("天氣熱而且你有錢。是時候來點冰淇淋了!\n");
} else {
printf("天氣熱,但是沒有錢買冰淇淋。也許來個冷水淋浴吧?\n");
}
} else {
printf("天氣不是那麼熱。把你的錢留到雨天再用吧。\n");
}

return 0;
}

這個程序在考慮氣温和你是否有钱之後,再建議是否要買冰淇淋。

C語言中的Switch語句

'Switch'語句就像是多口味冰淇淋蛋筒的決策。當你有許多選項時,這非常適合。

switch(expression) {
case constant1:
// 如果表達式等於constant1要執行的代碼
break;
case constant2:
// 如果表達式等於constant2要執行的代碼
break;
...
default:
// 如果表達式與任何常量都不匹配要執行的代碼
}

讓我們用它來選擇冰淇淋口味:

#include <stdio.h>

int main() {
int flavor = 2;

switch(flavor) {
case 1:
printf("你選擇了香草口味。經典!\n");
break;
case 2:
printf("就是巧克力口味。美味!\n");
break;
case 3:
printf("草莓口味,滿滿的果香!\n");
break;
default:
printf("我們沒有那個口味。也許香草口味如何?\n");
}

return 0;
}

這個程序根據選擇的口味編號選擇一條消息。

C語言中的?:運算符

三元運算符(?:)就像是簡短形式的'if...else'語句。它對於快速、簡單的決策非常適合。

condition ? expression_if_true : expression_if_false;

以下是一種簡潔的方法來決定點心:

#include <stdio.h>

int main() {
int is_hungry = 1; // 1 表示真,0 表示假

printf(is_hungry ? "我們去吃冰淇淋吧!\n" : "也許之後再說。\n");

return 0;
}

這個一行代碼檢查你是否餓了,並建議是否要吃冰淇淋。

C語言中的Break語句

'Break'語句就像是在中間的對話中說"我在這裡做完了"。它在提前退出循環或switch語句時使用。

#include <stdio.h>

int main() {
int i;
for(i = 1; i <= 10; i++) {
if(i == 5) {
printf("找到5了!我們在這裡停下。\n");
break;
}
printf("%d ", i);
}
return 0;
}

這個程序數到10,但在達到5時停止。

C語言中的Continue語句

'Continue'語句就像是在一場對話中說"跳過這個,繼續下個"。它在循環中跳過當前迭代並移動到下一個迭代。

#include <stdio.h>

int main() {
int i;
for(i = 1; i <= 5; i++) {
if(i == 3) {
printf("哦哦,讓我們跳過3。\n");
continue;
}
printf("冰淇淋球數量 %d\n", i);
}
return 0;
}

這個程序計數冰淇淋球數量,但跳過了數字3。

C語言中的Goto語句

'Goto'語句就像是你在代碼中的遠程傳送設備。它跳轉到一個標籤語句。然而,請謹慎使用它,因為它可能會使代碼變得難以跟蹤。

#include <stdio.h>

int main() {
int scoops = 0;

scoop_more:
scoops++;
printf("加了一個球。總計:%d\n", scoops);

if(scoops < 3) {
goto scoop_more;
}

printf("冰淇淋聖代完成了!\n");
return 0;
}

這個程序向你的聖代中加入冰淇淋球,直到你有三個。

以下是總結我們所涵蓋的所有決策製作方法的表格:

方法 目的 語法
if 簡單條件檢查 if (condition) { ... }
if...else 兩路決策 if (condition) { ... } else { ... }
嵌套if 多個條件 if (condition1) { if (condition2) { ... } }
switch 多個選項 switch(expression) { case constant: ... }
?: 快速、簡單決策 condition ? true_expression : false_expression
break 提前退出循環或switch break;
continue 跳過當前迭代 continue;
goto 跳轉到標籤語句 goto label;

記住,熟能生巧!嘗試使用這些概念來編寫你自己的程序。在你還沒有意識到之前,你將會像專家一樣在C語言中製作決策。開心編程!

Credits: Image by storyset