プログラミング指導 第五章_制御文 其ノ四_switch文 -...

7
switchスイッチ

Upload: multimedia-research-club-tmcit

Post on 19-Jul-2015

89 views

Category:

Software


2 download

TRANSCRIPT

Page 1: プログラミング指導 第五章_制御文 其ノ四_switch文 - マルチメディア研究同好会

switch文 スイッチ

Page 2: プログラミング指導 第五章_制御文 其ノ四_switch文 - マルチメディア研究同好会

すいっちぶん?

switch文とは条件分岐に使う制御文です。

条件分岐と言えばif文がありますが、switch文は多方向に条件分岐させたいときによく使われます。

else ifを使って多方向に条件分岐することもできるので、状況に応じて使い分けましょう。

Page 3: プログラミング指導 第五章_制御文 其ノ四_switch文 - マルチメディア研究同好会

使い方

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文 - マルチメディア研究同好会

・各処理を実行した後 「break」 と書くことでswitchの{}から抜けることができます。この 「break」 がないとそのまま次のcaseの処理も実行してしまうので「break」を忘れないようにしてください。

・「式」には結果を整数とするもののみ入れることができます。

・「定数式」は整数、文字定数、定数の式のみを入れることができます。 条件式を入れることもできません。

正しい定数式の例

case 1: (整数)

case ‘A’: (文字定数)

ダメな例

case 0.1: (浮動小数点数はダメ)

case ( a == 0 ): (条件式もダメ、a > 0 などもダメ)

case “Mr.EAD”: (文字列もダメ)

Page 5: プログラミング指導 第五章_制御文 其ノ四_switch文 - マルチメディア研究同好会

どの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文 - マルチメディア研究同好会

やってみてよ #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文 - マルチメディア研究同好会

それでは!第五章の課題に取り組んでください!!