
多方向分岐の制御にはelse-if文の他に、switch文も用意されておるぞい。
条件に当てはまれば全て実行してしまう「switch文」
ちと注意しなくちゃならん事があるが。
それにcaseには定数を1つしか書けないがの。
多重分岐switch文プログラムの書き方
switch ( /*式*/ ) { case 定数1: 文1; case 定数2: 文2; default: 文3; }
チェックポイント

博士、「default」って何?

defaultは、どの条件にも該当しない場合に実行されるんじゃ。

ふんふん。
switchサンプル文
#include <stdio.h> main() { int a; for (a=1;a<=4;a++) { printf("\na=%d\n",a); switch (a) { case1: printf(" case1"); case2: case3: printf(" case2"); default: printf(" case3"); } } }
実行結果
a=1
case1 case2 case3
a=2
case2 case3
a=3
case2 case3
a=4
case3
ポイント

caseの定数に一致すると以降の実行文を全て実行してしまうんじゃ。
この場合じゃとa=1の時じゃの。

博士、全て実行しないようにするにはどうすればいいのですか~?

該当する処理の最後に『break』文を書いて脱出させるんじゃ。
break文を入れてswitch文を組んでみよう
上のプログラムに「break」を入れてみるかのう。
break文を入れたswitchサンプル文
#include <stdio.h> main() { int a; for (a=1;a<=4;a++) { printf("\na=%d\n",a); switch (a) { case1: printf(" case1"); break; case2: case3: printf(" case2"); break; default: printf(" case3"); break; } } }
実行結果
a=1
case1
a=2
case2
a=3
case2
a=4
case3
ポイント

どうかの、理解できたかの?

ん・・・多分。
実行結果と卓上シュミレート結果があってたからいいんじゃない?

それでは、お次に行くとしよう。
ループ脱出作戦、breakとcontinueじゃ!

Good idea!!
break(珈琲ブレイク)してからcontinue(勉強)て言いたいわけでしょ?

残念じゃったの。おお外れじゃ!
ほれ、次じゃ、次じゃぞ。