プログラミング指導 第五章_制御文 其ノ四_switch文 -...
TRANSCRIPT
![Page 1: プログラミング指導 第五章_制御文 其ノ四_switch文 - マルチメディア研究同好会](https://reader035.vdocuments.pub/reader035/viewer/2022073118/55abc52b1a28ab195e8b46f3/html5/thumbnails/1.jpg)
switch文 スイッチ
![Page 2: プログラミング指導 第五章_制御文 其ノ四_switch文 - マルチメディア研究同好会](https://reader035.vdocuments.pub/reader035/viewer/2022073118/55abc52b1a28ab195e8b46f3/html5/thumbnails/2.jpg)
すいっちぶん?
switch文とは条件分岐に使う制御文です。
条件分岐と言えばif文がありますが、switch文は多方向に条件分岐させたいときによく使われます。
else ifを使って多方向に条件分岐することもできるので、状況に応じて使い分けましょう。
![Page 3: プログラミング指導 第五章_制御文 其ノ四_switch文 - マルチメディア研究同好会](https://reader035.vdocuments.pub/reader035/viewer/2022073118/55abc52b1a28ab195e8b46f3/html5/thumbnails/3.jpg)
使い方
switch( 式 ){
case 定数式1:
処理1;
break;
case 定数式2:
処理2;
break;
case 定数式n:
処理n:
break;
}
まずswitchに式を入れます。
式の値が case の横の定数式1の値と等しければ中に入
り、処理1が実行されます。
同様に、式の値が case の横の定数式2の値と等しければ中に入り、処理2が実行されます。
というように、式と定数式1,定数式2,・・・,定数式nと比較していって、等しいものがあればそのcaseの中の処理が実行されます。 caseはいくつでも入れることができます。
![Page 4: プログラミング指導 第五章_制御文 其ノ四_switch文 - マルチメディア研究同好会](https://reader035.vdocuments.pub/reader035/viewer/2022073118/55abc52b1a28ab195e8b46f3/html5/thumbnails/4.jpg)
・各処理を実行した後 「break」 と書くことでswitchの{}から抜けることができます。この 「break」 がないとそのまま次のcaseの処理も実行してしまうので「break」を忘れないようにしてください。
・「式」には結果を整数とするもののみ入れることができます。
・「定数式」は整数、文字定数、定数の式のみを入れることができます。 条件式を入れることもできません。
正しい定数式の例
case 1: (整数)
case ‘A’: (文字定数)
ダメな例
case 0.1: (浮動小数点数はダメ)
case ( a == 0 ): (条件式もダメ、a > 0 などもダメ)
case “Mr.EAD”: (文字列もダメ)
![Page 5: プログラミング指導 第五章_制御文 其ノ四_switch文 - マルチメディア研究同好会](https://reader035.vdocuments.pub/reader035/viewer/2022073118/55abc52b1a28ab195e8b46f3/html5/thumbnails/5.jpg)
どのcaseにも当てはまらなかった時に、何か処理を行いたいときには、case 定数式: の代わりに default: と書けばその下の処理が実行されます。
例) int a = 100; switch( a ){ case 0: printf( “0” ); break; case 1: printf( “1” ); break; default: printf( “0と1以外のなにか” ); //a が 0でも1でもないのでこれが実行される break; }
![Page 6: プログラミング指導 第五章_制御文 其ノ四_switch文 - マルチメディア研究同好会](https://reader035.vdocuments.pub/reader035/viewer/2022073118/55abc52b1a28ab195e8b46f3/html5/thumbnails/6.jpg)
やってみてよ #include <stdio.h>
int main(){
int a;
scanf _s( “%d”, &a );
switch( a ){
case 0:
printf( “a = 0¥n” );
break;
case 2:
printf( “a = 2¥n” );
break;
default:
printf( “a = ? ¥n” );
break;
}
}
分岐が多くなると、else ifを使うよりもswitchを使った方がわかりやすくなったりします。
![Page 7: プログラミング指導 第五章_制御文 其ノ四_switch文 - マルチメディア研究同好会](https://reader035.vdocuments.pub/reader035/viewer/2022073118/55abc52b1a28ab195e8b46f3/html5/thumbnails/7.jpg)
それでは!第五章の課題に取り組んでください!!