The switch Statement
これは方法決定の多もう一つの形態である。 それはよく構成されたり、ところにだけある特定の場合使用することができる;
- 1つの変数だけその変数の価値に、すべての枝依存しなければならないテストされる。 変数は必要なタイプでなければならない。 (int、長く、短いまたは木炭)。
- 変数の各々の可能な価値は単一の枝を制御できる。 最終は、すべてをのデフォルトの枝任意にすべての明記していない箱を引っ掛けるのに使用されるかもしれないつかまえる。
次に与えられた例は事を明白にしたものだ。これは不明瞭な記述に整数を変える機能である。それはかなり小さいときだけ私達が量のか測定でかかわっているところに有用である。
estimate(number)
int number;
/* どれも、1、2の複数の多数として数を推定してはいけない */
{ switch(number) {
case 0 :
printf("None\n");
break;
case 1 :
printf("One\n");
break;
case 2 :
printf("Two\n");
break;
case 3 :
case 4 :
case 5 :
printf("Several\n");
break;
default :
printf("Many\n");
break;
}
}
各々の興味深い場合は対応する行為とリストされている。 壊れ目の声明はどのそれ以上の声明でもスイッチをことを残すことによって実行されることを防ぐ。 場合に3および場合4に続く壊れ目がないので、数の複数の価値のための同じ行為の許可で続く。
およびスイッチ構造物がプログラマーがいくつかの可能なアクションから選択をすることを可能にすれば両方。 私達を例を見ることを許可しなさい:
#include <stdio.h>
int main()
{
int num;
for (num = 3 ; num < 13 ; num = num + 1)
{
switch (num)
{
case 3 :
printf("The value is three\n");
break;
case 4 :
printf("The value is four\n");
break;
case 5 :
case 6 :
case 7 :
case 8 :
printf("The value is between 5 and 8\n");
break;
case 11 :
printf("The value is eleven\n");
break;
default :
printf("It is one of the undefined values\n");
break;
} /* スイッチの端 */
} /* ループのためのの端 */
return 0;
}
プログラムの出力はある
価値は3である
価値は4である
価値は5と8の間にある
価値は5と8の間にある
価値は5と8の間にある
価値は5と8の間にある
未定義の価値の1時である
未定義の価値の1時である
価値は11である
未定義の価値の1時である |
|