プログラムの流れは実行中に様々変わります。
例えば
・Bボタンを押せばキャラクターはジャンプする。
Bボタンを押せばキャラクターをジャンプさせるプログラムが実行され、
Bボタンを押さなければキャラクターをジャンプさせるプログラムは実行されません。
このようにプログラム実行中の流れを変えるためには様々なプログラム構文が使われます。
今回はif文(いふぶん)という条件分岐(じょうけんぶんき)の構文を学びます。
if文は条件が合っている場合に処理を実行し、条件が合わない場合に処理を実行しない、のように
条件によって処理を分ける「条件分岐」と呼ばれる処理になります。
書き方
if (条件式)
{
// 処理
}
条件式が正しければ{}中カッコにプログラムが入って処理を実行します。
条件式(じょうけんしき)
A>B
AがBよりも大きければ正しい
A<B
AがBよりも小さければ正しい
A>=B
AがB以上であれば正しい
A<=B
AがB以下であれば正しい
A==B
AとBが同じであれば正しい
A!=B
AとBが違うければ正しい
※if文以外にも条件式はよくつかうのでこの際に覚えておきましょう。
練習①ー①
int型の変数vaを宣言
変数vaに100を代入
条件式「vaは100と同じであれば」でif文
3の条件が正しければ「vaは100」と表示する
実行
プログラムを書いてみる(ヒント:?の部分は自分で考えよう)
int va = 100;
if ( va ?? 100)
{
printf("vaは100");
}
練習①ー②
練習①ー①で書いたプログラムの変数vaに代入している数字を200に変更
実行
練習①ー①と①ー②で実行結果が変わりましたね?
条件式Aが正しければ処理A、
条件式Aが正しくない場合は、条件式Bが正しければ処理B、
条件式Bが正しくない場合は、処理C
のように「前の条件式が正しくない場合」という条件式にはelseをif文に続いて記述していきます。
書き方
if (条件式A)
{
// 処理A
}
else if(条件式B)
{
// 処理B
}
else
{
// 処理C
}
条件式Aが正しい場合は処理Aを実行し、処理Bと処理Cは実行されません。
条件式Aが異なる場合、条件式Bが正しい場合は処理Bを実行し、処理Aと処理Cは実行されません。
条件式Aも条件式Bも異なる場合、一番したのelseにある処理Cだけが実行されます。
else if
if文の次に無限に書くことができます。
if (条件式A)
{
// 処理A
}
else if (条件式B)
{
// 処理B
}
else if (条件式C)
{
// 処理C
}
else if (条件式D)
{
// 処理D
}
else
if文の最後に一つ書くことが出来ます。「どの条件にも当たらない場合」という意味です。
if (条件式)
{
// 処理A
}
else
{
// どの条件にも当たらない場合の処理
}
int型の変数vaを宣言
変数vaに0を代入
条件「vaは10以下か?」で処理として「A」を表示する
ヒント:?は自分で考えよう
?? (va ?? 10)
{
printf("A");
}
3の条件が違うとき、条件「vaは20以下か?」で処理として「B」を表示する
ヒント
???? if (va ?? 20)
{
printf("B");
}
4の条件が違うとき、条件「vaは30以下か?」で処理として「C」を表示する
5の条件も違うとき、処理として「D」を表示する
????
{
printf("D");
}
それぞれの実行時にA~Dそれぞれ何が表示されるか予想してから実行しましょう。
①実行
②vaの代入を15に変更して実行
③vaの代入を25に変更して実行
④vaの代入を35に変更して実行
下のプログラムを読んで、A~Cどのアルファベットが表示されるか予想してみよう。
int va = 20;
int vb = 100;
if( va != 20 )
{
printf("A");
}
else if ( vb > 50 )
{
printf("B");
}
else
{
printf("C");
}
予想出来たらプログラムを書いて正解を確認しよう。
下のプログラムを読んで、A~Cどのアルファベットが表示されるか予想してみよう。
int va = 100;
int vb = 200;
if (va < 100)
{
printf("A");
}
else
{
if (vb != 200)
{
printf("B");
}
else
{
printf("C");
}
}
予想出来たらプログラムを書いて正解を確認しよう。