一把梭系列 ~ 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