Linux講座にようこそ。このページは「C言語プログラミング入門 - 第4章.条件を判定して処理を振り分ける条件分岐」です。
条件の真偽により3つ以上の処理に振り分けることはif文でもできますが、可読性がよくないため、プログラムが分かりにくいものになりがちです。そこで、switch文が使える場合はswitch文を使った方が良いでしょう。
「switch (式)」の式の値と「case 定数:」の定数の値が等しい行以降の文を実行します。どの定数とも等しくない場合は「default:」以降の文を実行します。「default:」以降は省略可能です。
「(式)」と「定数」の式の値は整数型でなければなりません。char型は整数型ですので、半角1文字は取り扱うことが出来ます。
switch (式) { ← {と}で括ってブロックにします case 定数1: 文1-1; 文1-2; … 文1-n; case 定数2: 文2-1; 文2-2; … 文2-n; … case 定数n: 文n-1; 文n-2; … 文n-n; default: 文1; 文2; … 文n; }
switch文から強制的に抜け出すにはbreak文を使用します。例えば、上記形式の「文1-n;」を実行後、switch文から抜け出すには「文1-n;」の次にbreak;
を指定します。(breakを指定しないと、文2-1;以降の処理も行ってしまいます)
メニュー番号の入力により、該当する四則演算を行い結果を出力します。また、メニュー番号が不当な場合はメッセージを出力します。
$ ./ex04_3.prg ← 上記例題を実行します 四則演算を行います 1. 加算 2. 減算 3. 乗算 4. 除算 どの計算を行いますか。番号を入力してください ==> 1 2つの値を入力してください ==> 12.34 56.78 12.340000 + 56.780000 = 69.120000 $ $ ./ex04_3.prg 四則演算を行います 1. 加算 2. 減算 3. 乗算 4. 除算 どの計算を行いますか。番号を入力してください ==> 5 2つの値を入力してください ==> 10 20 番号が不当です $