- ゲームプログラム入門 C言語:変数の値によって処理を選択できる制御文「switch」のご紹介
- C言語:変数の値によって処理を選択できる制御文「switch」のご紹介
- 「ゲームプログラミング > C言語入門/基礎」関連ページのご紹介
- シューティングゲーム・関連ページのご紹介
- PC・家庭用・ACゲームサイトマップのご紹介
- 任天堂から発売された据置ゲーム機(FC/SFC/N64/GC/Wii/WiiU/Switch)のご紹介│まとめ
- 【プレイステーション】ソニーから発売された据置ゲーム機(PS/PS2/PS3/PS4/PS5)のご紹介│まとめ
- 【SEGA】セガゲーム機(MD・SS・DC・GG)アーケードゲームのご紹介│まとめ│
- NECから発売された据置ゲーム機(PCエンジン/PC-FX)のご紹介│まとめ
- SNKから発売された据置ゲーム機(ネオジオ/ネオジオCD)のご紹介│Top
- 家庭用ゲーム(据置│携帯│周辺機器)関連ページのご紹介
- PC・家庭用・ACゲーム・周辺機器・関連ページのご紹介
- 【ゲームランキング】世界・国内で最も売れたゲームランキングのご紹介
- 名作ゲームのご紹介│まとめ│家庭用ゲーム・PC・アーケードなど
- 【機種別ゲームTOP】PC・家庭用・アーケードゲーム・周辺機器のご紹介
- ジャンル別ゲームタイトルのご紹介│まとめ│
- 【ゲームTOP】ゲーム関連ページのご紹介
- 【書籍・雑誌TOP】書籍・雑誌サイトマップ関連ページのご紹介
- 【ホビーTOP】ホビーサイトマップ関連ページのご紹介
ゲームプログラム入門 C言語:変数の値によって処理を選択できる制御文「switch」のご紹介

ご訪問ありがとうございます。
今回は、ゲームプログラム入門 C言語:変数の値によって処理を選択できる制御文「switch」をご紹介します。
「ゲームプログラミング > C言語入門/基礎」関連サイトマップのご紹介

「ゲームプログラミング > C言語入門/基礎」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
C言語:変数の値によって処理を選択できる制御文「switch」のご紹介

変数の値によって処理を選択したい場合にはswitch文を使います。if-else文でも同じことができるのですが、こちらのほうが書きやすい場合もあります。

例えば、3択問題で、キーボードから「1,2,3」の1文字を入力として受け取って処理を分岐させたい場合、などがこれにあたります。
▼「値によって処理を選択したいswitch文」のご紹介
switch(変数) {
case 値1:
文1; /*値1のときに実行する文 */
break;
case値2:
文2; /*値2のときに実行する文 */
break;
default:
文3; /*値1でも値2でもないときに実行する文 */
}
解説

1行目のカッコの中にはキーになる変数を書きます。

変数の値が値1の時、3行目から4行目を実行し、5行目のbreak文で14行目に進みます。
switch(変数) {
case 値1:
文1; /*値1のときに実行する文 */
break;

変数の値が値1でなく、値2のときに、7行目から8行目を実行し、9行目で14行目に進みます。
case値2:
文2; /*値2のときに実行する文 */
break;

変数の値がどの値でもないときは、10行目のdefault:より下の11行目と2行目を実行し、14行目に進みます。
default:
文3; /*値1でも値2でもないときに実行する文 */

それでは、実際にC言語で「switch文」を使ってみましょう。
▼「switch文」のご紹介
/* MyC6.C */
#include
int main(void) {
//aの値は1です。
int a;
a = 1;
switch (a) {
case 0:
printf("a == 0\n");
break;
//aの値は1ですので、ここでキャッチされます
//【注意】「case」と「1」の間には、「半角スペース」を入れて下さい、入れていないと結果が「a != 0 and a != 1」になってしまいます。
case 1:
printf("a == 1\n");
break;
default:
printf("a != 0 and a != 1\n");
}
return 0;
}
作成手順と実行結果

- テキストエディタでソースコードを入力します。
- 「MyC」フォルダにファイル名「MyC6.c」で保存します。
- コマンドプロンプトを起動します。
- 「cd c:\Myc」と入力してください。
- 「gcc MyC6.c -o MyC6」と入力します。
- 「Myc6」と入力します。
実行結果
a == 1

7行目で、a=1となっているので、13行目でキャッチされるよって、画面には「a==1」と表示される
//7行目 int a; a = 1;
//aの値は1ですので、ここでキャッチされます
case 1:
printf("a == 1\n");
break;
【注意】「case」の半角スペースを忘れずに

「case」と「1」の間には、「半角スペース」を入れて下さい、入れていないと「case 1」がスルーされて結果が「default」の「a != 0 and a != 1」になってしまいます。
【例題】条件分岐4(break文)

サンプルソースコード「MyC6.c」の、15行目のbreak文を消した時の結果を考えてください。
▼「switch文」のご紹介
/* MyC6.C */
#include
int main(void) {
//aの値は1です。
int a;
a = 1;
switch (a) {
case 0:
printf("a == 0\n");
break;
//aの値は1ですので、ここでキャッチされます
case 1:
printf("a == 1\n");
// break;を実行できなくしています。
default:
printf("a != 0 and a != 1\n");
}
return 0;
}
解答
実行結果
a==1 a!=0 and a! = 1

break文を忘れると、変数の値が比較する値であろうとなかろうと、下の文を実行していってしまいますので、注意しましょう。
case 1:
printf("a == 1\n");
// break;を実行できなくしています。
default:
printf("a != 0 and a != 1\n");

「case 1」の文にbreak文がないと「case 1」の結果の「a==1」と「default」の結果の「a != 0 and a != 1」も同時に処理してしまいます。
【例題】条件分岐switch文

int型の変数aに値を代入して、aの値によって値が「0」の時は、「☓」1の時は「◯」、それ以外の時は「?」というメッセージを画面に出力するソースコードを書いてください。
解答
// Exercise10.c
#include
int main(void) {
int a;
a = 1;
switch(a) {
case 0:
printf("x\n");
break;
case 1:
printf("◯\n");
break;
default:
printf("?\n");
}
}
実行結果
◯
「ゲームプログラミング > C言語入門/基礎」関連サイトマップのご紹介

「ゲームプログラミング > C言語入門/基礎」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
「ゲームプログラミング > C言語入門/基礎」関連ページのご紹介

「ゲームプログラミング > C言語入門/基礎」関連ページをご紹介します。
【STG】シューティングゲーム・サイトマップのご紹介

80年から2000年代のシューティングゲームについてご紹介します。

シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
シューティングゲーム・関連ページのご紹介
【STG・名作】ハード別(AC・据置・携帯)シューティングゲームのご紹介

【シリーズ別・STG】シューティングゲームの人気シリーズのご紹介

【ハード別(家庭用・据置・携帯・PC・周辺機器)】ゲーム関連サイトマップのご紹介

【ハード別(家庭用・据置・携帯・PC・周辺機器)】ゲーム関連のサイトマップをご紹介します。
| 【ハード別(家庭用・据置・携帯・PC・周辺機器)】ゲーム関連サイトマップのご紹介 | |||||
| ゲームTOP > ランキング│傑作・名作│機種別│ジャンル別 | |||||
| 【ゲームランキング】ハード|ソフト(売上(世界│国内)│海外評価) | |||||
| 【世界ゲーム機出荷台数】 【総合】出荷台数順│発売年順│世代順 【据置ゲーム機】出荷台数順│発売年順│世代順 【携帯ゲーム機】出荷台数順│発売年/世代順 【メーカー別】任天堂│ソニー│セガ |
|||||
| 【ハード/機種別関連ページ】 据置機|携帯|PC|アーケード|周辺機器 |
|||||
| ■【据置機】■ 【任天堂】FC│FDS│SFC│N64│GC│Wii│WiiU│Switch 【SONY】シリーズ│PS│PS2│PS3│PS4│PS5【セガ】MD│SS│DC 【NEC】PCE│PCFX【SNK】NEOGEO│3DO 【Xbox】Xbox│Xbox360│XboxOne ■【携帯】■ 任天堂(G&W│GB│GBA│NDS│3DS)│Sony(PSP│PSVita) ネオジオポケット│ワンダースワン│ゲームギア│ ■【PC】■ 【NEC】PC98│PC88【SHARP】X68k│X1│MZ 【富士通】FMTOWNS│77AV│FM7 【その他】MSX│AppleII ■【アーケード】■80年代│90年代│2000年代 ■【周辺機器】■ |
|||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
|||||
| サイトマップ一覧 |
PC・家庭用・ACゲームサイトマップのご紹介

PC・家庭用・ACゲーム情報のサイトマップをご紹介します。
任天堂から発売された据置ゲーム機(FC/SFC/N64/GC/Wii/WiiU/Switch)のご紹介│まとめ

【プレイステーション】ソニーから発売された据置ゲーム機(PS/PS2/PS3/PS4/PS5)のご紹介│まとめ

【SEGA】セガゲーム機(MD・SS・DC・GG)アーケードゲームのご紹介│まとめ│

NECから発売された据置ゲーム機(PCエンジン/PC-FX)のご紹介│まとめ

SNKから発売された据置ゲーム機(ネオジオ/ネオジオCD)のご紹介│Top

3DOのご紹介

【ハード別(家庭用・据置・携帯・PC・周辺機器)】ゲーム関連サイトマップのご紹介

【ハード別(家庭用・据置・携帯・PC・周辺機器)】ゲーム関連のサイトマップをご紹介します。
| 【ハード別(家庭用・据置・携帯・PC・周辺機器)】ゲーム関連サイトマップのご紹介 | |||||
| ゲームTOP > ランキング│傑作・名作│機種別│ジャンル別 | |||||
| 【ゲームランキング】ハード|ソフト(売上(世界│国内)│海外評価) | |||||
| 【世界ゲーム機出荷台数】 【総合】出荷台数順│発売年順│世代順 【据置ゲーム機】出荷台数順│発売年順│世代順 【携帯ゲーム機】出荷台数順│発売年/世代順 【メーカー別】任天堂│ソニー│セガ |
|||||
| 【ハード/機種別関連ページ】 据置機|携帯|PC|アーケード|周辺機器 |
|||||
| ■【据置機】■ 【任天堂】FC│FDS│SFC│N64│GC│Wii│WiiU│Switch 【SONY】シリーズ│PS│PS2│PS3│PS4│PS5【セガ】MD│SS│DC 【NEC】PCE│PCFX【SNK】NEOGEO│3DO 【Xbox】Xbox│Xbox360│XboxOne ■【携帯】■ 任天堂(G&W│GB│GBA│NDS│3DS)│Sony(PSP│PSVita) ネオジオポケット│ワンダースワン│ゲームギア│ ■【PC】■ 【NEC】PC98│PC88【SHARP】X68k│X1│MZ 【富士通】FMTOWNS│77AV│FM7 【その他】MSX│AppleII ■【アーケード】■80年代│90年代│2000年代 ■【周辺機器】■ |
|||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
|||||
| サイトマップ一覧 |
家庭用ゲーム(据置│携帯│周辺機器)関連ページのご紹介
据置ゲーム機のご紹介│まとめ│

携帯ゲーム機のご紹介│まとめ│

【ハード別(家庭用・据置・携帯・PC・周辺機器)】ゲーム関連サイトマップのご紹介

【ハード別(家庭用・据置・携帯・PC・周辺機器)】ゲーム関連のサイトマップをご紹介します。
| 【ハード別(家庭用・据置・携帯・PC・周辺機器)】ゲーム関連サイトマップのご紹介 | |||||
| ゲームTOP > ランキング│傑作・名作│機種別│ジャンル別 | |||||
| 【ゲームランキング】ハード|ソフト(売上(世界│国内)│海外評価) | |||||
| 【世界ゲーム機出荷台数】 【総合】出荷台数順│発売年順│世代順 【据置ゲーム機】出荷台数順│発売年順│世代順 【携帯ゲーム機】出荷台数順│発売年/世代順 【メーカー別】任天堂│ソニー│セガ |
|||||
| 【ハード/機種別関連ページ】 据置機|携帯|PC|アーケード|周辺機器 |
|||||
| ■【据置機】■ 【任天堂】FC│FDS│SFC│N64│GC│Wii│WiiU│Switch 【SONY】シリーズ│PS│PS2│PS3│PS4│PS5【セガ】MD│SS│DC 【NEC】PCE│PCFX【SNK】NEOGEO│3DO 【Xbox】Xbox│Xbox360│XboxOne ■【携帯】■ 任天堂(G&W│GB│GBA│NDS│3DS)│Sony(PSP│PSVita) ネオジオポケット│ワンダースワン│ゲームギア│ ■【PC】■ 【NEC】PC98│PC88【SHARP】X68k│X1│MZ 【富士通】FMTOWNS│77AV│FM7 【その他】MSX│AppleII ■【アーケード】■80年代│90年代│2000年代 ■【周辺機器】■ |
|||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
|||||
| サイトマップ一覧 |
PC・家庭用・ACゲーム・周辺機器・関連ページのご紹介
家庭用ゲーム機(据置・携帯)のご紹介│まとめ│

アーケードゲームのご紹介│まとめ│

PC・ゲームのご紹介│まとめ│~PC98、X68000、MSXなど~

ゲーム周辺機器のご紹介│まとめ│

ゲームTOPサイトマップ

ゲームTOPのサイトマップをご紹介します。
| 【ゲームTOP】サイトマップ | ||||
| ゲームTOP > ランキング│傑作・名作│機種別│ジャンル別 | ||||
| ■ランキングTOP > 総合│海外評価│ ■傑作・名作ゲームTOP > ■ゲーム機種別TOP > 据置│携帯│AC│PC│周辺機器 ■ジャンル別TOP > アクション系(プラットフォーム│対戦アクション│FPS│TPS│STG│フライト)|AVG│RPG│SLG│レース│スポーツ│パズル│テーブル |
||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
| サイトマップ一覧 |
ゲーム関連ページのご紹介

ゲーム関連ページをご紹介します。
【ゲームランキング】世界・国内で最も売れたゲームランキングのご紹介

名作ゲームのご紹介│まとめ│家庭用ゲーム・PC・アーケードなど

【機種別ゲームTOP】PC・家庭用・アーケードゲーム・周辺機器のご紹介

ジャンル別ゲームタイトルのご紹介│まとめ│

コペンギン・サイトマップ

コペンギンのサイトマップをご紹介します。
| 【コペンギンTOP】サイトマップ | ||||
| コペンギンTOP > ゲーム│ホビー│書籍・マンガ│ | ||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
| サイトマップ一覧 |

懐かしの名作から最新作までの豊富な品揃え!通販ショップの駿河屋
コペンギンサイトマップ関連ページのご紹介

コペンギン関連ページをご紹介します。
【ゲームTOP】ゲーム関連ページのご紹介

【書籍・雑誌TOP】書籍・雑誌サイトマップ関連ページのご紹介

【ホビーTOP】ホビーサイトマップ関連ページのご紹介



