Latest web development tutorials

Cのswitchステートメント

Cの分析 Cの分析

テストケースは、switch文は、複数の値に等しい変数を可能にします。 各値はケースと呼ばれ、変数をチェックするために、各スイッチケースを試験します。

文法

C言語のswitchステートメントの構文:

switch(expression){
    case constant-expression  :
       statement(s);
       break; /* 可选的 */
    case constant-expression  :
       statement(s);
       break; /* 可选的 */
  
    /* 您可以有任意数量的 case 语句 */
    default : /* 可选的 */
       statement(s);
}

switch文は、次の規則に従う必要があります

  • switch文の式は、整数型または列挙型、または整数または列挙型に変換するための単一の変換機能を持つクラスクラス型でなければなりません。
  • スイッチでは、case文の数に制限はありません。 各ケースは、コロンと比較する値が続いています。
  • 定数式の場合は、同じデータ型を持つ変数を切り替え、それは定数またはリテラルでなければならない必要があります。
  • テストされている変数は、case文に続いて、一定時間の場合、に等しい場合、それはbreakステートメントに遭遇するまで、実行されます。
  • break文が検出されると、スイッチは、制御フローは、switch文の後に次の行にジャンプし終了します。
  • 必ずしもすべての場合には休憩を含める必要があります。 case文は、ブレークが含まれいない場合我々はそれがブレークアップに遭遇するまで、後続の例の流れを制御していきます。
  • switch文は、オプションのデフォルトケースを持つことができそれがスイッチの末尾に表示されます。デフォルトの場合は、上記の場合の全てにおいて使用することができるタスクを実行するときに真ではありません。 デフォルトのcase文の区切りは必要ありません。

フローチャート

Cのswitchステートメント

#include <stdio.h>
 
int main ()
{
   /* 局部变量定义 */
   char grade = 'B';

   switch(grade)
   {
   case 'A' :
      printf("很棒!\n" );
      break;
   case 'B' :
   case 'C' :
      printf("做得好\n" );
      break;
   case 'D' :
      printf("您通过了\n" );
      break;
   case 'F' :
      printf("最好再试一下\n" );
      break;
   default :
      printf("无效的成绩\n" );
   }
   printf("您的成绩是 %c\n", grade );
 
   return 0;
}

上記のコードはコンパイルされ、実行されると、次の結果を生成します。

做得好
您的成绩是 B

Cの分析 Cの分析