C言語のおさらい 条件分岐 switch文の使い方
switch 文の書式
条件により、選択する処理が複数になる「多分岐型」をC言語で表すときは、「switch 文」を使う。
書き方はこのような感じ
書き方はこのような感じ
switch (式) {
case 値1:
値1が成立していたときに実行する文;
break;
case 値2:
値2が成立していたときに実行する文;
break;
case 値3:
値3が成立していたときに実行する文;
break;
default:
すべてのcaseが成立しないときに実行する文;
break;
}
- switch (式) の()内には、通常整数型か文字型の変数名を指定する。
- 変数の値とcase 値が一致した時に「:」以下の文を実行する。
- 「:」以下の文が複数ある場合でも{}をつけなくてよい。
- caseごとに処理の終わりに「break;」を書く。
- defaultで実行する文がない場合、defaultは省略できる。
switch 文を書いてみる
switch 文の特徴として、「変数の値とcase 値が一致した時に「:」以下の文を実行する。」があります。
なのでこのようなプログラムを実行すると、画像の結果になります。
#include <stdio.h>
int main(void) {
//変数の宣言
int x;
//初期化
x = 0;
//入力
printf("0から3の数値を入力してね→");
scanf("%d", &x);
//処理
switch (x) {
case 0:
printf("あいうえお\n");
case 1:
printf("かきくけこ\n");
case 2:
printf("さしすせそ\n");
case 3:
printf("たちつてと\n");
default:
printf("なにぬねの\n");
}
return 0;
}
実行結果のように、case 0:以降の処理がすべて実行されていることがわかります。
なので、目的の処理だけを実行するには「break 文」を書く必要があります。
- break 文・・・簡単に説明すると「文のブロックから出る」という命令文。「break;」と書かれた後、次の「}」までの処理はすべて行われません。
処理を複数に分けたいときは、case の区切りに「break;」を書いていかなくてはならない。
break 文を書いて区切ったプログラム
#include <stdio.h>
int main(void) {
//変数の宣言
int x;
//初期化
x = 0;
//入力
printf("0から3の数値を入力してね→");
scanf("%d", &x);
//処理
switch (x) {
case 0:
printf("あいうえお\n");
break;
case 1:
printf("かきくけこ\n");
break;
case 2:
printf("さしすせそ\n");
break;
case 3:
printf("たちつてと\n");
break;
default:
printf("なにぬねの\n");
break;
}
return 0;
}
コメント
コメントを投稿