C - 選擇語句(if 說明)
你好,有抱負的程式設計師們!今天,我們將要深入研究編程中最基本的概念之一:選擇語句(if 說明)。作為你們友善的鄰居計算機科學老師,我很興奮能夠帶領你們走過這個旅程。讓我們想像我們正在開始一個選擇自己的冒險故事,每個決定都會導致不同的道路。這正是編程中的 if 說明所做的事情!
C - if 說明
if 說明就像道路上的分岔。它讓你的程式能夠根據某些條件來做決策。把它想成一個問題:"如果這個條件為真,那麼執行這個動作。" 它是編程中決策的基本構建塊,掌握它將會在你的編程旅程中打開一個充滿可能性的世界。
if 說明的語法
讓我們來看看 C 語言中 if 說明的基本語法:
if (condition) {
// 如果條件為真的話要執行的代碼
}
這就是這麼簡單!條件被括號包起來,如果條件為真要執行的代碼被花括號包起來。
if 說明是如何工作的?
當你的程式遇到 if 說明時,它首先評估括號內的條件。如果這個條件為真(在 C 語言中是非零),則執行花括號內的代碼。如果條件為假(在 C 語言中是零),則跳過花括號內的代碼,並且程式繼續執行 if 區塊後面的下一個語句。
if 說明的流程圖
為了視覺化這個過程,讓我們來看一個簡單的流程圖:
[開始]
|
v
[評估條件]
|
/ \
是 / \ 不是
/ \
v v
[執行代碼] [跳過代碼]
| |
| |
\ /
\ /
v v
[繼續]
這個流程圖展示了程式是如何根據條件來決定執行 if 說明中的代碼還是跳過它。
C 語言中 if 說明的例子
讓我們來看一個簡單的例子:
#include <stdio.h>
int main() {
int age = 18;
if (age >= 18) {
printf("你符合投票資格!");
}
return 0;
}
在這個例子中,我們正在檢查一個人的年齡是否符合投票資格。如果年齡大於或等於 18 歲,則會打印出消息 "你符合投票資格!"。
當你運行這個程序時,你會看到這個消息,因為條件 age >= 18
為真(18 確實大於或等於 18)。
if 說明與邏輯運算
我們可以使用邏輯運算符來使條件更為複雜。C 語言中的主要邏輯運算符包括:
運算符 | 含義 |
---|---|
&& | AND |
|| | OR |
! | NOT |
讓我們看看使用這些運算符的例子:
#include <stdio.h>
int main() {
int age = 25;
char hasID = 'Y';
if (age >= 18 && hasID == 'Y') {
printf("你可以進入俱樂部!");
}
return 0;
}
在這個例子中,只有當一個人是 18 歲或以上並且持有身份證時,他們才能進入俱樂部。兩個條件都必须為真,才能打印出消息。
多個 if 說明
有時候,我們需要獨立檢查多個條件。我們可以使用多個 if 說明來做到這一點:
#include <stdio.h>
int main() {
int score = 85;
if (score >= 90) {
printf("成績:A\n");
}
if (score >= 80 && score < 90) {
printf("成績:B\n");
}
if (score >= 70 && score < 80) {
printf("成績:C\n");
}
return 0;
}
在這個例子中,我們根據分數來分配成績。每個 if 說明都檢查一個不同的分數範圍。
使用 if 說明檢查多個條件
有時候,我們想檢查多個條件,但只有一個應該被執行。在這種情況下,我們使用 if-else if-else 構造:
#include <stdio.h>
int main() {
int number = 0;
if (number > 0) {
printf("這個數字是正數。\n");
} else if (number < 0) {
printf("這個數字是負數。\n");
} else {
printf("這個數字是零。\n");
}
return 0;
}
在這個例子中,我們正在檢查一個數字是正數、負數還是零。只有一個條件可能為真,所以只有一個代碼區塊會被執行。
那就是全部了,各位!我們已經穿越了 if 說明的領地,從基本的條件到複雜的邏輯運算。記住,編程就是關於練習。所以,不要害怕嘗試這些概念。嘗試改變數值,以不同的方式組合條件,看看會發生什麼。
當我們結束時,我會想起偉大的計算機科學家 Alan Kay 的名言:"你最糟糕的事情之一就是學會你的第一種編程語言。" 但別擔心!有了 if 說明在你的工具箱裡,你已經在精通 C 語言和更遠的旅程上迈出了重要的一步。祝編程愉快,願你的條件總是在你希望它們為真的時候為真!
Credits: Image by storyset