ホームページ > バックエンド開発 > C#.Net チュートリアル > C言語でのスイッチの使い方は何ですか?

C言語でのスイッチの使い方は何ですか?

coldplay.xixi
リリース: 2020-07-27 13:08:04
オリジナル
41418 人が閲覧しました

C 言語での switch の使用法は次のとおりです: 1. switch の後の括弧内の [式]、ANSI 標準では任意の型を許可します; 2. 式の値が後の定数式と一致する場合a case 値が等しい場合は、この case に続くステートメントが実行され、それ以外の場合は、default に続くステートメントが実行されます。

C言語でのスイッチの使い方は何ですか?

C 言語での switch の使用法は次のとおりです。

関数: switch ステートメントは複数分岐の選択です。ステートメントを使用します。複数分岐選択構造を実装します。if ステートメントには選択できる分岐が 2 つだけありますが、複数分岐選択は実際の問題でよく使用されます。たとえば、生徒の成績分類 (90 は「A」など) 80-89 は「B」などに分割され、70-90 は「C」などに分割されます。) もちろん、これらはネストされた if 文で処理できますが、分岐が多い場合はif 文を何層にも重ねてプログラムする 冗長性が長く可読性が低下する C 言語には、複数分岐選択を直接扱うための switch 文が用意されており、これは PASCAL 言語の CASE 文に相当します。

形式: switch (式)

{
case 常量表达式 1:语句 1
case 常量表达式 2:语句 2
.
.
.
case 常量表达式 n:语句 n
default:语句 n+1
}
ログイン後にコピー

たとえば、テストのスコア レベルに応じて 100 点のスコア セグメントを出力したい場合は、switch ステートメントを使用できます:

switch(grade)
{
case 'A':printf("85-100\n");
case 'B':printf("70-84\n");
case 'C':printf("60-69\n");
case &#39;D&#39;:printf("<60\n");
default:printf("error\n");
}
ログイン後にコピー

説明:

(1) スイッチの後の括弧内の「式」、ANSI 標準では、任意の型にすることが許可されています。

(2) 式の値がが case に続く定数式の値と等しい場合、case に続くステートメントが実行されます。すべての case で定数が一致する場合、式の値が式と一致しない場合、default の後のステートメントが実行されます。

(3) それぞれの場合の定数式の値は互いに異なっていなければなりません、そうでない場合は競合が発生します現象 (式の同じ値に対して複数の実行プランが存在します)。

(4) それぞれの場合におけるデフォルトの出現順序は、実行結果には影響しません。たとえば、「default: ...」が最初に表示され、次に「case 'D': ...」、次に「case 'A': ...」が表示されます。

(5) 実行後case に続く文が終了すると、次の case に制御が移って実行が継続されます。「case 定数式」は文のラベルとしてのみ機能し、そこでの条件判定は行われません。switch 文を実行するときは、

85-100
70-84
60-69
<60
error
ログイン後にコピー

したがって、case 分岐を実行した後、プロセスを switch 構造から抜け出す、つまり switch ステートメントの実行を終了する必要があります。

break ステートメントを使用して、この目的を達成するには、上記のスイッチ構造を次のように書き換えます:

switch(grade)
{
case &#39;A&#39;:printf("85-100\n"); break;
case &#39;B&#39;:printf("70-84\n"); break;
case &#39;C&#39;:printf("60-69\n"); break;
case &#39;D&#39;:printf("<60\n"); break;
default:printf("error\n");
}
ログイン後にコピー

最後の分岐 (デフォルト) には、break ステートメントを追加する必要はありません。グレードの値が 'B' の場合は、「70-84」のみです。

ケースの後ろに複数の実行文がありますが、中括弧で囲む必要はなく、このケースに続くすべての実行文が自動的に順番に実行されます。

(6) 複数のケースで実行ステートメントのセットを共有できます。例:

case &#39;A&#39;:
case &#39;B&#39;:
case &#39;C&#39;: printf(">60\n");break;
.
.
ログイン後にコピー

grade の値が ' の場合、同じステートメントのセットが実行されます。 A'、'B'、または 'C'。

関連学習の推奨事項:
C ビデオ チュートリアル

以上がC言語でのスイッチの使い方は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート