いつも感謝しています。Nです。
前回の記事「if文「もし~だったら・・・」」で、if文の基本を紹介しました。
ifの( )の中の条件式が成立したときに、{ }の中の文を実行するというものでした。
今回は、その続きです。
その条件式が成立しない場合に、実行させたい文がある時どうすればよいかについてお話しますね。
前回、今回のif文をマスターすることで、場合分けをするプログラムが書けるようになります。そしてこれをマスターすることで、かなりのことがプログラムで書けるようになりますので、是非マスターしてくださいね。
では、具体的にお話していきますね。
例えば、
「降水確率が30%以上ならば」→「傘をもって出かける」
「そうでないならば」→「傘はもって出かけない」
というパターンの場合です。
このような場合には、C言語ではif-else文を用います。if-else文の形式は、
if( 条件式 )
{
実行文A;
}
else
{
実行文B;
}
のようになっていて、
「もし条件式が成立するならば、実行文Aを行い、そうでないならば、実行文Bを行う」という意味になります。
つまり、elseの後の{ }の中で、条件式が成り立たないときに実行させたいものを書きます。
上の降水確率の例をプログラムで書くと、一例として
int main( void )
{
int rainRate;
rainRate = 20; /* 今日の降水確率 20% */
if( rainRate >= 30 )
{
/* 降水確率 が30%以上の時に実行させたい */
printf("I will go out with my umbrella");
}
else
{
/* そうではない場合(降水確率が30%以上でない場合) */
printf("I will go out without my umbrella");
}
return( 0 );
}
のようになります。
更に、このelse文には条件を付けることもできます。
「そうでなくて、~ならば」というようにすることもできます。
例えば、
「もし降水確率が80%以上ならば」
→「傘をもって出かける」
「そうではなくて、降水確率が30%より大きくて80%未満ならば」
→「折りたたみ傘をもって出かける」
「そうでないならば、」
→「傘をもって出かけない」
このような場合、elseの後にifを付け加えます。形式としては、
if( 条件式 )
{
実行文A;
}
else if( 条件式2 )
{
実行文B;
}
else
{
実行文C;
}
のようになっていて、
「もし条件式が成立するならば、実行文Aを行い、そうでなく条件式2ならば、実行文Bを行い、そうでないならば、実行文Cを行う」という意味になります。
上の降水確率をプログラムで書くならば、一例として、
int main( void )
{
int rainRate;
int rainRate = 40;
if( rainRate >= 80 )
{
/* 降水確率が80%以上の時の実行文を書く */
}
else if( (30 < rainRate) && (rainRate < 80) )
{
/* そうでなくて、もし30% < 降水確率 < 80% ならばの実行文を書く */
}
else
{
/* そうでない場合の実行文を書く */
}
return( 0 );
}
のようになります。
elseがつくと、「そうでなくて」となると覚えておくとよいと思います。
if文に関しては、ここまで押さえておけば大丈夫だと思います。