位置:首頁 > 高級語言 > C語言教學 > C語言switch語句

C語言switch語句

switch語句可以讓一個變量對值列表相等進行測試。每個值被稱為 case ,該變量被接通檢查每個開關盒(switch case)。

語法

在C編程語言中的switch語句是語法如下:

switch(expression){
    case constant-expression  :
       statement(s);
       break; /* optional */
    case constant-expression  :
       statement(s);
       break; /* optional */
  
    /* you can have any number of case statements */
    default : /* Optional */
       statement(s);
}

以下規則適用於switch語句:

  • 在switch語句中使用表達式(expression )必須是整型或枚舉類型,或者作為類,其中所述類有一個單一的轉換功能以一個整體或枚舉類型

  • 在switch語句中可以有任意數量的case語句。每一個case後跟的值進行比較,並跟著一個冒號

  • 恒定表達(constant-expression) 的case語句,必須是相同的數據類型,在switch變量,它必須是一個常量或文字

  • 當被swith變量上等於case語句中的值,case下麵將執行,直到break語句為止

  • 當到達一個break語句,switch終止,並且控製流跳轉到下switch語句的下一行

  • 不是每一個case需要包含一個breal。如果未出現break,控製流都將落空到後續case,直到 break 為止

  • switch語句可以有一個可選默認case,它必須出現在switch結束。在默認情況下break語句不是必要的

流程圖:

switch statement in C

例子:

#include <stdio.h>
 
int main ()
{
   /* local variable definition */
   char grade = 'B';

   switch(grade)
   {
   case 'A' :
      printf("Excellent!
" );
      break;
   case 'B' :
   case 'C' :
      printf("Well done
" );
      break;
   case 'D' :
      printf("You passed
" );
      break;
   case 'F' :
      printf("Better try again
" );
      break;
   default :
      printf("Invalid grade
" );
   }
   printf("Your grade is  %c
", grade );
 
   return 0;
}

讓我們編譯和運行上麵的程序,這將產生以下結果:

Well done
Your grade is B