C言語で使うswitchって何だろう?switchの使い方を詳しく知りたいな。
switchの解説、始めます。
この記事を書いている自分は、一日中プログラミングしていた過去がありました。現在、そこで学んだC言語について解説中です。
本記事の内容
・switchとは?
・switchの使い方を解説
・偶数か奇数か判別するプログラム
C言語で条件分岐を作れる関数はswitchだけでは無いです。
三項演算子はマイナーですが、人によっては使いやすいこともあります。
下の記事を参考にしてください。
switchとは?
switchとは、ゲームを作るときの必須アイテムで、条件分岐ができる式です。
例えば、ゲームのコントローラーを操作すると、前後左右に動けますよね?こういったところにswitchは使われています。
そんなswitch文を「簡単で早く理解できる方法」を使って解説していきます。
switchの使い方を解説!
まずは、switch文の大まかな骨組みを見てください。
switch (~~)
{
case 〇 :
▲する(処理文)
break;
case × :
△
する(処理文)
break;
default:
▼する(処理文)
break;
}
この骨組みの「1行1行がどんな意味を持つのか」理解するというのが最も簡単で、理想的な学習法です。
まず、1番上の
switch (~~)
を日本語訳するなら、「~~が」です。必ず「swicth」の後ろのカッコ内に書きます。
次に、
case 〇:
や
case ×:
を日本語訳すると「〇の時」「×の時」になります。また、
default:
は、「それ以外の時」という意味です。caseやdefaultの後ろは「;」(セミコロン)ではなく「:」(コロン)を使うので間違えないようにしましょう。caseやdefaultの次の行には、その時に実行したい処理文を書きます。処理文というのは例えば、「printf」とか計算式などです。
最後に必ず毎回「break;」を書きます。
case(default)からbreakまでを、1つのかたまりとして見ることがコツです。全てのかたまりを合わせると、「~~が〇の時▲して、×の時△して、それ以外の時に▼する」と言った意味になります。
switchを使って偶数か奇数か判別!
では、練習で「『scanf』で読み込んだ数字を偶数か奇数か判別するプログラム」を作ってみましょう。
さて、入力された文字をどうやって偶数か奇数かを判別すればよいでしょうか?
一回自分で考えてみてください。
ヒントは「偶数と奇数それぞれの特徴を考えよう」です。
偶数の特徴と言ったら、2で割り切れることですよね。逆に奇数は2で割り切れず、余りが出ます。
つまり、「2で割ったときの余り」を考えれば、偶数か奇数か判別できるんです。
具体的に言うと、数字を2で割って余りが0だったら偶数、余りが1だったら奇数になります。この時必要な計算式は、「割り算」に見えますが、余りを考えるので「剰余算」になります。この辺が分からない人は下の記事を参考にしてください。
偶数か奇数か判別したら、「printf」で「偶数」または「奇数」を出力し、「break;」で終了といった流れでプログラムを作ります。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int suuji;
printf("数字を入力¥n");
scanf("%d",&suuji);
switch (suuji%2)
{
case 0 :
printf("偶数");
break;
case 1 :
printf("奇数");
break;
}
}
まとめるとこんな感じになります。数字を2で割った余りで判別するのでswitchの中には「数字を2で割った余り」が入るようにしています。
このような巨大な数字でも判別できます。
まとめ
今回学習したswitchを使えば、ゲームも作れます。例えば、どのボタンを押したら歩くか、走るか、飛ぶか、など動作ごとに条件を指定すればいいのです。また、ゲームを作りたいという人は、乱数なども勉強しましょう。乱数のプログラムを勉強したい人は、下の記事を参考にしてください。
次は、コマンドプロンプトの使い方を勉強しましょう。
コメント