カスタマイズが楽しいswitch 文
アレサ 「次は・・\(^^)/
switch 文のお時間で~す」
ソーラー「きたきた~~~
switch 文だよ。
このswitch 文は まるでスイッチを押すように
自分の好きな命令文を選んで実行させることができるんだよ(^^)
どのようにswitch 文が記述されるか?
早速
次のプログラムをみてみよう。
switch 文は
この次のプログラムをプロトモデル(元型)として
いろいろ変形して記述することができるんだ。
#include <stdio.h>
int main(void){
int a=1;
switch (a){
case 1:
printf("おはようございます\n");
break;
case 2:
printf("こんにちは\n");
break;
case 3:
printf("こんばんは\n");
break;
default:
printf("24時間営業です\n");
break;
}
return 0;
}
プログラムの実行結果
おはようございます
ソーラー「
たのしいねえ ねえ?」
なんか興奮しているソーラー。
マックス 「switch 文か・・・なんか整った感じのプログラムだな。」
ソーラー
「このswitch 文のプログラムはいじりがいがあるんだ。
ミニ4駆と同じで
自分流にカスタマイズできるからね。
まあ、まずはみるところは
恒例の
このswitch 文のプログラムでもやはり一番最後は
return 0;
}
となってるね。
お次は
case 1:
case 2:
case 3:
default:
において;(セミコロン)でなく:(コロン)
となっているところがポイントかな。
ここがまちがえやすい・・・?
どうかな?
そんなことはない(^^)・・・?
break;については すぐに意味をみていくよ。
この
switch 文のプログラムは
int a;
で作製された変数aに
1
2
3
いずれかの数値を格納すると
switch (a)の変数aにも
1
2
3
いずれかの数値が格納されることになります
なぜなら
int a;
で作製された変数aが
switch (a)のaで用いられているからです
その
switch (a)の変数aに代入された数値
1
2
3
に対応して
case 1:
case 2:
case 3:
の
後に続く
いずれかの命令文が実行される
というしくみになっているんだ(^^)/
とっても便利~~~
だから
このswitch 文をつかえば
いくつか命令文を用意しておいて
まるでスイッチを押すように
実行したい命令文だけを実行することができるんだよ。
この今のswitch 文プログラムを例にすると
case 1:と番号をつけられた命令文を実行したければ
変数aに
a=1;
を実行して1を代入するか
もしくは直接
switch(1)と
switch(a)の()の中の
変数aに1を格納するだけでピンポイントに
case 1:
の命令文を実行することができるんだよおおおおおぉぉぉぉぉ~~んんん
では
case 2:
と番号をつけられた命令文を実行したいときは・・・
次のプログラムのように
int aによって生成される変数aに
2を代入すると
switch(a)
は
switch(2)
となり→」
#include <stdio.h>
int main(void){
int a=2;
switch (a){
case 1:
printf("おはようございます\n");
break;
case 2:
printf("こんにちは\n");
break;
case 3:
printf("こんばんは\n");
break;
default:
printf("24時間営業です\n");
break;
}
return 0;
}
ソーラー「→
case 2:
のあとにつづく命令文が実行され
プログラムの実行結果は
こんにちは
が表示されます。」
マックス 「こんのぉ~
default:
ってなにかいの~~」
ソーラー 「この
default:
というのは
このプログラムを例に取ると
int aによって生成される変数aに
代入された数値が
case 1:
case 2:
case 3:
に対応する
1,2,3のいずれの数値でもない場合
default:の次に記述された命令文を実行する
というシステムになっているんだ。
だから
int a=5;とした次のプログラム→」
#include <stdio.h>
int main(void){
int a=5;
switch (a){
case 1:
printf("おはようございます\n");
break;
case 2:
printf("こんにちは\n");
break;
case 3:
printf("こんばんは\n");
break;
default:
printf("24時間営業です\n");
break;
}
return 0;
}
ソーラー「→
では
switch (5)
となるので
case 1:
case 2:
case 3:
に対応する命令文は実行されないので
default:につづく命令文
printf("24時間営業です\n");
が実行され
プログラムの実行結果は
24時間営業です
が表示されることになります。」
マックス 「なるほどぉ~ if else文の elseみたいだなぁ
ソーラーよ。」
ソーラー
「そ~うぅなんでぇえ~~~すぅぅ
さあ、それではっ
お次は このプログラムの中のbreak文
break;
についてみていこう。
break;
の仕組みがよくわかる方法があるんだ
今のプログラムはこんなだったね
👇
#include <stdio.h>
int main(void){
int a=1;
switch (a){
case 1:
printf("おはようございます\n");
break;
case 2:
printf("こんにちは\n");
break;
case 3:
printf("こんばんは\n");
break;
default:
printf("24時間営業です\n");
break;
}
return 0;
}
プログラムの実行結果
おはようございます
ソーラー「👆
ところで このプログラムを
次のプログラムのように→」
#include <stdio.h>
int main(void){
int a=1;
switch (a){
case 1:
printf("おはようございます\n");
case 2:
printf("こんにちは\n");
case 3:
printf("こんばんは\n");
default:
printf("24時間営業です\n");
}
return 0;
}
ソーラー「→
break;
を全部とりのぞいたら
プログラムの実行結果はどうなるかな?」
マックス 「なはは switch文は
なかなか カスタマイズし甲斐があるじゃないか」
ソーラー
「int a=1;をうちこむと
switch (1)
となり
最初の
case 1:
printf("おはようございます\n");
が実行されるよね。」
マックス 「まあ、普通かな?」
ソーラー
「ところが
break;
がないと
次の命令文
case 2:
printf("こんにちは\n");
さらにその次の命令文
case 3:
printf("こんばんは\n");
さらにその次の命令文
default:
printf("24時間営業です\n");
まで
一気に全部実行されちゃうんだよ。
プログラムの実行結果は
おはようございます
こんにちは
こんばんは
24時間営業です
となります。
int a=2;と
プログラムを記述すれば→」
#include <stdio.h>
int main(void){
int a=2;//👈ここに注目
switch (a){
case 1:
printf("おはようございます\n");
case 2:
printf("こんにちは\n");
case 3:
printf("こんばんは\n");
default:
printf("24時間営業です\n");
}
return 0;
}
ソーラー「→
最初の命令文
case 1:
printf("おはようございます\n");
は実行されず
それ以下の命令文
case 2:
printf("こんにちは\n");
case 3:
printf("こんばんは\n");
default:
printf("24時間営業です\n");
が実行され
プログラムの実行結果は
こんにちは
こんばんは
24時間営業です
になるんだよ。」
マックス 「break文か
break;
で実行したい命令文だけを
実行させる仕組みとなっているのか・・・」
おまけの解説😊
switch (a){
case 1:
printf("おはようございます\n");
break;
case 2:
printf("こんにちは\n");
break;
case 3:
printf("こんばんは\n");
break;
default:
printf("24時間営業です\n");
break;
}
の中の
break;
が実行されると
switch (a){}
の命令文の実行から抜けることになります
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます