【C言語入門】第5章:if文, if ~ if else文の使い方について解説。

c言語

 

◀️第4章:C言語エラーの対処法その①

 

こんにちは。はるきんたです。今回はif文(条件文)について解説していこうと思います。

この記事を読んで下されば、C言語において「この条件の時はこのプログラムを実行で、この条件の時はこのプログラムを実行する」というようにプログラム内の条件によって実行するプログラムを決めるということが出来るようになります。

では、早速始めましょう!

 

C言語 if文について

if文の構文

if(条件式) 文;

文が複数あるとき
if(条件式)
{
文;
文;
}

 

文というのは、条件を満たした時に実行するプログラムの文です。

 

条件式で使う記号

数学的記号          C言語での記号

=          ==
≠          !=
>          >
<          <
≥          >=
≤          <=
かつ         &&
または        ||

 

if文を使った例

では、実際どのように書くのか例をお見せします。

[プログラム例①]

#include<stdio.h>
int main(){

int a, b;

scanf("%d%d", &a, &b);

if(a > b) printf("aはbよりも大きいです。\n");
if(a < b) printf("aはbよりも小さいです。\n");
if(a == b) print("aはbと等しいです。\n");

return 0;
}

 

[実行結果]

>./a.out
3 5
aはbよりも小さいです。

 

[プログラム例②]

#include<stdio.h>
int main(){

int temperature;

scanf("%d", &temperature);

if( temperature <= 10 )
{
printf("今日は寒いです。\n");
printf("暖房を付けましょう。\n");
}

if( 10 < temperature && temperature < 30 )
{
printf("今日は快適な気温です。\n");
printf("エアコンをつける必要はなさそうです。\n");
}

if(" 30 <= temperature )
{
printf("今日はとても暑いです。\n");
printf("冷房か扇風機を付けましょう。\n");
}

return 0;
}

 

[実行結果]

./a.out
20
今日は快適な気温です。
エアコンをつける必要はなさそうです。
>
>./a.out
35
今日はとても暑いです。
冷房か扇風機を付けましょう。
>

 

 

C言語 if ~ if else 文について

if ~ if else文の構文

if( 条件式 )
{

}
else if( 条件式 )
{

}


else
}

}

 

このif ~ if else文では一番上のif文から下に向かって見ていき、一番上のifの条件を満たさなければ下のif else文、それも満たさなければ更に下のif else文、最終的にどのif else文の条件式も満たさなければ最後のelse文を実行するという感じになります。

「:」の所には必要な数だけif else文を追加することができます。if文 と else文 はその場所の条件判別では一つづつしか書くことができません。

文が一つの場合は中カッコ「{}」が無くてもOK🙆‍♂️

 

if ~ if else 文を使った例

if文の例で書いた気温のプログラムをif ~ if else文を使って書いてみます!

 

[プログラム例]

#include<stdio.h>
int main(){

int temperature;

scanf("%d", &temperature);

if( temperature <= 10 )
{
printf("今日は寒いです。\n");
printf("暖房を付けましょう。\n");
}
else if( temperature < 30 )
{
printf("今日は快適な気温です。\n");
printf("エアコンをつける必要はなさそうです。\n");
}
else
{
printf("今日はとても暑いです。\n");
printf("冷房か扇風機を付けましょう。\n");
}

return 0;
}

 

[実行結果]

a.out
8
今日は寒いです。
暖房を付けましょう。
>
>a.out
30
今日はとても暑いです。
冷房か扇風機を付けましょう。
>

 

このようにelse if文を使うことによって条件式を簡単に書くことかできます。

 

例文で使わなかった||(または)の使い方を補足しておきますと、10 <= a && a < 20 (10以上20未満)以外の範囲を表す時に a < 10 || 20 <= a (10未満20以上)というように書きます。

 

今回のQuestion

[問題]

テストの点数に応じて評定(A ~D)を出力するプログラムを作ります。点数はキーボード入力とします。80点以上はA、65点以上80点未満はB、50点以上65点未満はC、50点未満はCとします。また、評定がDだった場合「もっと頑張りましょう」と表示し、評定がAだった場合「よく頑張りました!」と表示されるようにしましょう。以下のように出力するプログラムを書いて下さい。

 

[実行結果]

./a.out
テストの点数を入力して下さい。
68
評定はBです。
>
>./a.out
テストの点数を入力して下さい。
45
評定はDです。
もっと頑張りましょう。
>
>./a.out
テストの点数を入力して下さい。
85
評定はAです。
よく頑張りました!
>

 

 

 

 

[解答例①]

#include<stdio.h>
int main(){

int score;

printf("テストの点数を入力してください。\n");

scanf("%d", &score);

if( score < 50 )
{
printf("評定はDです。\n");
printf("もっと頑張りましょう。\n");
}
if( 50 <= score && score < 65 ) printf("評定はCです。\n");
if( 65 <= score && score < 80 ) printf("評定はBです。\n");
if( 80 <= score )
{
printf("評定はAです。\n");
printf("よく頑張りました!\n");
}

return 0;
}

 

[解答例②]

#include<stdio.h>
int main(){

int score;

printf("テストの成績を入力してください。\n");

scanf("%d", &score);

if( score < 50 )
{
printf("評定はDです。\n");
printf("もっと頑張りましょう。\n");
}
else if( score < 65 ) printf("評定はCです。\n");
else if( score < 80 ) printf("評定はBです。\n");
else
{
printf("評定はAです。\n");
printf("よく頑張りました!\n");
}

return 0;
}

 

上の解答例がif文だけを使った解答例で、下がelse if文を使った解答例です。

上手くできましたでしょうか??

もしできなかったら、もう一度この章を見直すか、前の章に戻って復習をするようにしましょう!

 

 

今回の章はこれで終わりです😊

また次の章でお会いしましょう!👋

 

スポンサーリンク

-プログラミング
-,

© 2022 はるきんブログ Powered by AFFINGER5