C11のswitch文について。
#include <stdio.h>
void main() {
int aaa; //int型変数の宣言
printf("1か4か9を入力してください。");
scanf("%d", &aaa); //値の入力と変数aaaの初期化
switch (aaa) {
case 1:
printf("いち\n"); //aaaが1のときに実行
break; //プログラムの終了
case 4:
printf("よん\n"); //aaaが4のときに実行
break; //プログラムの終了
case 9:
printf("きゅう\n"); //aaaが9のときに実行
break; //プログラムの終了
default:
printf("なんで言われたとおりにしないの?\n"); //caseにない値のときに実行
break; //プログラムの終了
}
}
void main() {
int aaa; //int型変数の宣言
printf("1か4か9を入力してください。");
scanf("%d", &aaa); //値の入力と変数aaaの初期化
switch (aaa) {
case 1:
printf("いち\n"); //aaaが1のときに実行
break; //プログラムの終了
case 4:
printf("よん\n"); //aaaが4のときに実行
break; //プログラムの終了
case 9:
printf("きゅう\n"); //aaaが9のときに実行
break; //プログラムの終了
default:
printf("なんで言われたとおりにしないの?\n"); //caseにない値のときに実行
break; //プログラムの終了
}
}
switch文はif文のような分岐の処理を作るための構文です。
switch文の定形は以下のとおりです。
switch (仮引数) {
case 〇〇:
この条件を満たした際に実行したい処理;
break;
case 〇〇:
この条件を満たした際に実行したい処理;
break;
default:
上行のcaseを1つも満たさなかった際に実行したい処理;
break;
}
switch文の仮引数に指定する値は、int型でもfloat型でもchar型でもなんでもいいみたいです。
caseの〇〇の部分には整数を記述します。
caseに指定できる値は整数のみです。
仮引数の値がcaseに指定した値と==であったときに、そのcaseから始まるswitch文内のすべての処理が実行されます。
breakを使うことで、その場所でswitch文の処理を終了させることができます。
なのでもしbreakを記述していないと、その下の行のcaseやdefaultの処理まですべて実行されてしまいます。
defaultはif文でいうところのelseのような機能を持っています。
defaultに記述した処理は、同switch文内のすべてのcaseに引数が該当しなかった場合に実行されます。
以上です。