switch ステートメントでは、case の後のラベルは定数式のみにすることができます。特定の switch ステートメントでは、各 case 定数は一意の値を持つ必要があり、繰り返すことはできません。ただし、switch ステートメントには複数の case ラベルを含めることができます。
# switch ステートメントは、さまざまな条件に基づいてさまざまなアクションを実行するために使用されます。
文法形式:
switch (变量表达式) { case 常量1: 语句;break; case 常量2: 语句;break; case 常量3: 语句;break; ... case 常量n: 语句;break; default: 语句;break; }
switch ステートメントは条件付き選択ステートメントです。実行後にプログラム エントリと同じ case 値を見つけます。すべての case が満たされない場合は、次に、デフォルトのエントリを探します。デフォルトのエントリが見つからない場合は、switch ステートメント全体を終了します。
case の後の定数は定数式を指します。特定の switch ステートメント内では、各 case 定数は一意の値を持つ必要があり、繰り返すことはできません。ただし、switch ステートメントには複数の case ラベルを含めることができます。
デフォルトのラベルはオプションであり、switch ステートメント本体のどこにでも配置できます。デフォルトのラベルがなく、switch ステートメントの制御式の評価に一致する case 定数がない場合、switch ステートメント本体のステートメントはいずれも実行されません。この場合、プログラム フローは switch ステートメント本体に続くステートメントの実行に切り替わります。
switch ステートメントの本体は、通常、case ラベルで始まるステートメントのブロックです。最初の case ラベルの前にステートメントがある場合、これらのステートメントは実行されません。
C 言語ラベルは、プログラム フローがジャンプする先を識別するためにのみ使用されます。タグ自体はプログラムに影響を与えません。したがって、スイッチから最初の修飾された case ラベルにジャンプした後、プログラムは他のラベルの影響を受けることなく、引き続き実行されます。
この修飾された case ラベルの後に、他の case ラベルのステートメントを無視する必要がある場合は、プログラム フローがステートメント本体の後のスイッチに直接ジャンプするように、実行された最後のステートメントの後に Break ステートメントを追加する必要があります。
switch ステートメント内で変数を宣言する必要がある場合は、次のように、これらの変数をネストされた内部ステートメント ブロックで宣言する必要があります。
switch ( x ) { case C1: { int temp = 10; // 声明temp,仅为该case使用 /* ... */ } break; case C2: /* ... */ }
switch 式では、整数が適用されます。 case 定数は、switch 式の評価の結果と一致する型に変換されます。
else if ステートメントを使用して、switch/case ステートメントの効果を実現することもできます。ただし、整数式の値に基づいてプログラム フローを判断する場合は、コードの読みやすさを向上させる switch/case ステートメントを使用する必要があります。
推奨: 「c 言語チュートリアル 」
以上がswitch ステートメントでは、case の後のラベルは何になりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。