C++のswitch文のサンプルです。
目次
サンプル | switch文とは |
switch文のサンプル | |
breakがない場合 | |
switch文の中でif文を使用する |
switch文とは
switch(条件){ case 値 : 処理 break; ・・・ default: 処理 break; } |
- 条件の値とcaseの値が一致すれば、配下の処理が実行されます。
- breakでswitch文を抜けます。breakがないと下の判定(case/default)に行ってしまいます。
- defaultは、条件の値がどのcaseの値にも一致しない時に実行されます。省略可能ですが書いたほうが良いです。
switch文のサンプル
#include <iostream>
using namespace std;
int main() {
int num = 2;
switch (num) {
case 1:
cout << "one";
break;
case 2:
cout << "two"; // two 出力される
break;
default:
cout << "other";
break;
}
return 0;
}
5行目は、変数に値をセットしています。
7行目からswitch文が始まります。
11行目のcase 2は変数の値と一致するのでその配下の処理が実行されます。
12行目の処理が実行されます。
13行目のbreakでswitch文を抜けます。
breakがない場合
#include <iostream>
using namespace std;
int main() {
int num = 1;
switch (num) {
case 1:
cout << "one"; // one 出力される
case 2:
cout << "two"; // two 出力される
break;
default:
cout << "other";
break;
}
return 0;
}
10行目は、breakがありません。
8行目のcase 1の処理の後、11行目のcase 2の処理も実行されます。
フォールスルー(fall through/落ちる)と呼ばれます。
breakを書き忘れたのかわかりづらいので使用しないほうが良いです。
switch文の中でif文を使用する
#include <iostream>
using namespace std;
int main() {
int num = 3;
switch (num) {
case 3:
if (num % 2 == 0) {
cout << "偶数";
}
else {
cout << "奇数"; // 出力される;
}
break;
default:
cout << "other";
break;
}
return 0;
}
9行目はswitch文の中のcaseの後にif文を使用しています。
%は、割り算の余りを求めます。
関連の記事
C++ if文 条件分岐を行うサンプル
C++ for文 処理を繰り返すサンプル(break/continue)
C++ while文とdo while文のサンプル