今まで、処理の分岐はif文で行ってきましたが、
なんか見栄えがよくないなー
って方のために、switch文をやってみましょう。
まー、ほとんどif文と同じなんですが、
将来やるであろう(ホントか?)ウィンドウズのプログラムでは、
こちらのswitch文をよく使うので、覚えておいて損はないかもしれません。
では早速書き方ですが、次のようになります。
switch( i ){
case 1:
あーして;
break;
case 2:
こーして;
break;
case 3:
そーして;
break;
default:
どーして;
}
となります。
一目見ただけで大体どんな動きをするか想像がつくと思います。
あとで解説しますが、「break」が抜けると
ひどいことになります。
では、switchを使った簡単なプログラムを作ってみましょう。

まー、説明するまでもないですね。で、結果が。

最後はちょっと意地悪してアルファベットを
入力しましたが、1,2,3以外とゆー処理をされました。
まるで、if文でいうところの、「else」に相当するふるまいをしています。
「case」の後に記述されるのは数字だけではなく、以下のように文字も指定できます。

結果はわかるでしょう。
switch文を使うとたまに忘れてしまう事があります。
それは「break」です。
上の例でやった程度であれば、「あ、breakが抜けてる」とすぐ気づくんですが、
「case」の中にもまた「switch」を使ったり、「if」を使ったりして、
複雑になった場合なかなか気づきません。
そもそも「break」の意味は{ }を1つ抜けるです。
つまり、switch{ } から抜けるために使います。よってこれがないと、
switch{ }から抜けません。さてどーなるか予想がつきますか?
次のプログラムを見て、結果を予想してください。

C言語のメニューに戻る