2008年12月22日

判斷指令-switch case

switch case 其實 switch case 用文字表達比較抽象 先說明用法 一行一行來說明 宣告一個 整數變數 n 讓使用者輸入 n 讓 n 取商數 PS:整數 在做除法時 只會留下商數 EX:10/3=3 詳細以後再說明 代表我把 n 這個變數當作以下 case 的 判斷變數 現在我們已經進入 switch 裡面 第看到 如果變數 n 是 10 就會執行 冒號 : 下面的程式 之後看到 這行意思就是跳出靠自己最近的 switch PS: break 也可用在迴圈中 往後會談 那如果不符合條件哩 ? 在往下看 case 阿 如果變數 n 是 9 就會執行 冒號 : 下面的程式 一樣!!如果成立執行 一樣 ! 輸出完之後結束 switch 要是又不符合? 請繼續往下看 case 如果變數 n 是 8 就會執行 冒號 : 下面的程式 一樣!!如果成立執行 到了這裡有沒有跟 if(){...}else if(){...}else if(){...}.... 很像! 現在看到最後如果都不成立 ! 和 if else 的 else 一樣可以不打 還有一件事 case 不能打範圍 EX: n < 60 現在有個問題 那麼...為何 case 10 ~case 6 最後都要 break ? default 卻例外 其實他也可以加啦!! 只是既然他都是最後才執行 加不加 break 都沒差阿! 現在我們把程式程式中的 switch 改成 PS:請注意有註解的那幾行 這時候我程式在執行的時候 我輸入 50 代表不及格吧! 會出現什麼? FE 這就是答案 為什麼?因為 50 / 5 =5 對吧! 那她就會執行 可是我不是說過 break 是跳出的意思嗎? 你現在有看到 break 嗎? 沒有阿!! 所以他會往下執行 他這時候不會去看 case 6 到底是不是他應該執行的判斷 他不會理會他 只會往下執行 直到碰到 break 為止 switch case 現在用文字看會比較抽象 請開啟你的 DEV C++ 動手做一次 並且把 到處亂 丟 看看 把所有的 break 加上註解執行看看 你一定要知道的事情
  1. swatch()誇號內一定要加上可以產生number或char的運算式或是變數
  2. 他會從成立的 case 開始往下執行
  3. case 一定要在 swatch(){...} 大誇號內
  4. case 後面一定要加 判斷的字元
  5. 判斷的字元 後面 一定要加 冒號 :
  6. case 不能輸入範圍 EX: n <>
  7. break 可以不加
  8. 和 if else 不一樣的地方在於 else = default

沒有留言: