C の switch…case (C の Switch ステートメント) と例
C の Switch ステートメントとは
C の switch ステートメント 変数の値をテストし、それを複数のケースと比較します。ケースの一致が見つかると、その特定のケースに関連付けられたステートメントのブロックが実行されます。
スイッチのブロック内の各ケースには、識別子と呼ばれる異なる名前/番号があります。ユーザーによって提供された値は、一致が見つかるまで switch ブロック内のすべてのケースと比較されます。
ケースの一致が見つからない場合、デフォルトのステートメントが実行され、制御は switch ブロックから出ます。
このチュートリアルでは、次のことを学びます-
- C 言語の Switch ステートメントとは
- 大文字と小文字の構文の切り替え
- Switch ステートメントのフローチャート
- C での大文字と小文字の切り替えの例
- C のネストされたスイッチ
- Switch ケースが必要な理由は何ですか?
- switch ステートメントのルール
大文字と小文字の構文の切り替え
「C」プログラムで switch-case を実装する方法の一般的な構文は次のとおりです。
switch( expression ) { case value-1: Block-1; Break; case value-2: Block-2; Break; case value-n: Block-n; Break; default: Block-1; Break; } Statement-x;
- 式は整数式または文字式です。
- Value-1、2、n は、各ケースを個別に識別するために使用されるケース ラベルです。プログラムの実行中に問題が発生する可能性があるため、大文字と小文字のラベルを同じにしないでください。 「1」と同じラベルを持つ 2 つのケースがあるとします。次に、プログラムの実行中に、プログラムに 2 番目のケースを実行させたい場合でも、最初に表示されたケースが実行されます。これにより、プログラムに問題が生じ、目的の出力が得られません。
- 大文字と小文字のラベルは常にコロン ( :) で終わります。これらの各ケースはブロックに関連付けられています。
- ブロックとは、特定のケースのためにグループ化された複数のステートメントに他なりません。
- スイッチが実行されるたびに、テスト式の値が、スイッチ内で定義したすべてのケースと比較されます。テスト式に値 4 が含まれているとします。この値は、プログラム内でラベル 4 が見つかるまでのすべてのケースと比較されます。ケースが見つかるとすぐに、その特定のケースに関連付けられたステートメントのブロックが実行され、制御がスイッチの外に出ます。
- 各ケースの break キーワードは、特定のケースの終わりを示します。ケースごとにブレークを設定しないと、特定のケースが実行されても、C のスイッチは最後に到達するまですべてのケースを実行し続けます。これは起こらないはずです。したがって、それぞれの場合に常に break キーワードを入れる必要があります。 Break が実行されるとケースが終了し、コントロールはスイッチから外れます。
- デフォルトのケースはオプションです。 test-expression の値がスイッチ内のどのケースとも一致しない場合は常に、デフォルトが実行されます。それ以外の場合は、スイッチに default を記述する必要はありません。
- スイッチが実行されると、制御はステートメント x に移動し、プログラムの実行が続行されます。
Switch ステートメントのフローチャート
次の図は、switch ケースでケースがどのように選択されるかを示しています:
C言語