一把梭系列 ~ C語言範例 (0008) [條件判斷: if/switch]
一把梭系列 ~ C語言範例 (0008) [條件判斷: if/switch]
資料來源:
https://openhome.cc/Gossip/CGossip/ifStatement.html
https://openhome.cc/Gossip/CGossip/switchStatement.html
★前言:

★主題:
為了要讓程式可應付遇到的各種狀況,C 提供了 if和switch 條件判斷陳述,其語法模板如下:
01.單行if 條件判斷陳述語法模板
if (條件式)
陳述句一;
其他陳述句;
02.單行if-else 條件判斷陳述語法模板
if (條件式)
陳述句一;
else
陳述句二;
其他陳述句;
03.單行if-else if 條件判斷陳述語法模板
if (條件式)
陳述句一;
else if(條件式)
陳述句二;
else
陳述句三;
其他陳述句;
04.多行if-else 條件判斷陳述語法模板
if (條件式一)
{
陳述句一;
其他陳述句;
}
else
{
陳述句二;
}
05.多行if-else if 條件判斷陳述語法模板
if (條件式一)
{
陳述句一;
其他陳述句;
}
else if(條件式二)
{
陳述句二;
}
else
{
陳述句三;
}
06.switch 條件判斷陳述語法模板
switch (變數名稱或運算式)
{
case 符合數字或字元:
陳述句一;
其他陳述句;
break;
case 符合數字或字元:
陳述句二;
break;
default:
陳述三;
}
★code:
#include <stdio.h>
#include <stdlib.h>
/*
學習使用Code::Blocks 中斷模式 藉此觀察 程式運作狀況
01.啟用中斷模式前製作業 -確認 專案目錄/路徑 中 除了英數字和底線外沒有其他符號,中文也不行
02.在專案點選滑鼠右鍵並點選『Build options』-> 勾選『Enable all compiler warnings .....(-Wall)』
03.設置對應中斷點
04.點選Debug/Continue(兩次)-第一次為編譯可以中斷模式,第二次進入中斷模式
*/
int main()
{
//*
//if單行系列
int input = 0;
int remain = 0;
printf("輸入整數:");
scanf("%d", &input);
remain = input % 2;//設置中斷點(滑鼠右鍵)
if(remain == 1)//設置中斷點(滑鼠右鍵)
printf("%d 為奇數\n", input);//設置中斷點(滑鼠右鍵)
else//設置中斷點(滑鼠右鍵)
printf("%d 為偶數\n", input);//設置中斷點(滑鼠右鍵)
//*/
//*
//if多行系列
int score = 0;
printf("輸入分數:");
scanf("%d", &score);
if(score >= 90) {
puts("得 A");
puts("繼續保持");
} else if(score >= 80 && score < 90) {
puts("得 B");
puts("可以再努一下");
} else if(score >= 70 && score < 80) {
puts("得 C");
puts("千萬不可以再鬆懈");
} else if(score >= 60 && score < 70) {
puts("得 D");
puts("已經在懸崖邊了");
} else {
puts("得 E(不及格)");
}
//*/
/*
int score = 0;
printf("輸入分數:");
scanf("%d", &score);
switch(score/10)
{
case 10:
//puts("得 A+");
//break;
case 9:
puts("得 A");
puts("繼續保持");
break;
case 8:
puts("得 B");
puts("可以再努一下");
break;
case 7:
puts("得 C");
puts("千萬不可以再鬆懈");
break;
case 6:
puts("得 D");
puts("已經在懸崖邊了");
break;
default:
puts("得 E(不及格)");
}
//*/
return 0;
}
★結果:

★延伸說明/重點回顧:
01.if系列判斷陳述語法,單行與多行的差別就在於是否有『{}』的區別,也就是說如果沒有『{}』則為單行判斷,則if-else的控制效力就僅限if-else語法的下一行;反之如果有『{}』符號,則控制效力就是『{}』符號中間的所有語法。
02.switch-case判斷陳述語法,各case項目的執行效力就是從case語法開始到遇到break;結束
PS.書本上都會建議:if系列判斷陳述語法儘量都寫成多行模式,因為這樣可以方便日後維護+閱讀
2 thoughts on “一把梭系列 ~ C語言範例 (0008) [條件判斷: if/switch]”
C/C++ 雜湊表(Hash table,也叫哈希表) 可以把字串變成整數 如此一來即可變成 switch條件判斷的選項了
YOUTUBE URL:https://youtu.be/TWnpOyxf980