TPY ENGINEERING VLOG

TPY ENGINEERING VLOG(C,JAVA)

*C言語* 〜14時限目〜 if文で複数の文を処理する・・・

〜目次〜

 

 

if文で複数の文を処理する

13時限目のsample22では、条件が「真」だった場合に、

1つだけの文からなる簡単な処理を行いました。

if文では条件が真だった場合に複数の処理を行うことができます。

そのためには、

{ }でブロックを作り、

複数の文をまとめます。

するとブロックの中では原則どおり、

1文ずつ処理が行われます。

if(条件){

  文①;

  文②;

  ・・・

}

のようにして記述します。

実際にコードで書いて見ましょう。

sample23.c

f:id:YuyaTerayama:20180905132007p:plain

ーsample23の実行画面その1ー

整数を入力してください。

1

1が入力されました。

1を選択します。

処理を終了します。

ユーザーが1を入力した場合、

条件が真となり、

ブロック内の処理が実行されます。

もし、1以外を入力した場合は以下のようになります。

ーsample23の実行画面その2ー

整数を入力してください。

2

処理を終了します。

ブロック内の処理が行われていないことが確認できます。

 

ブロックにしない場合どうなるのか

sample23をブロックを使わないで記述したものが、

以下のsample24のコードになります。

sample24.c

f:id:YuyaTerayama:20180905132702p:plainーsample24の実行画面ー

整数を入力してください。

2

1を選択します。

処理を終了します。

実行画面を見てみると、期待していない結果になってしまっています。

複数の文を処理させる予定が、{ }で囲み忘れてしまい、

if文の内容は11行目だけだと、判定されてしまっています。

このようなミスを防ぐために、

if文を使う際には1文でも{ }でブロックを作成したり、

インデントをすることで、

どこまでがif文の内容なのかわかりやすいような、

コードを記述することを心かけるべきです。

 

if 〜 else文の仕組みについて

今までは条件が真の場合のみ、

処理を実行してきました。

今回は条件が偽の場合にも、

指定した文を処理させる構文を学んでいきます。

ーif 〜 else文ー

if(条件)

  文①;

else

  文②;

この構文では条件が真の場合、

文①を処理し、

条件が偽の場合には、

文②を処理します。

実際にコードを入力します。

sample25.c

f:id:YuyaTerayama:20180905133644p:plain

ーsample25の実行画面その1ー

整数を入力してください。

1

1が入力されました。

ーsample25の実行画面その2ー

整数を入力してください。

2

1以外が入力されました。

条件が偽の場合には、

elseブロック内に記述した処理が実行されています。

 

if 〜 else if 〜 elseの仕組みについて

if文では、2つ以上の条件を判断させて処理させることも可能です。

それが、

if 〜 else if 〜 else

になります。

この構文を使うことで、

2つ以上の条件に応じた処理を行うことができます。

else ifの条件はいくつでも指定することができます。

最後のelse文を省略することもでき、

どの条件にも当てはまらなかった場合には、

構文で実行される文は存在しないということになります。

実際にコードを入力します。

sample26.c

f:id:YuyaTerayama:20180905134619p:plain

ーsample26の実行画面その1ー

整数を入力してください。

1

1が入力されました。

ーsample26の実行画面その2ー

整数を入力してください。

2

2が入力されました。

ーsample26の実行画面その3ー

整数を入力してください。

3

1か2を入力してください。

このように、いくつもの条件を判断して

複雑な処理を行うことができます。

例えば点数によってランクをつける際なんかには、

このようにして書くことで点数を入力するだけで、

その点数に応じたランクを表示することができます。

 

次回はswitch文というものから書いていきます。

 

〜END〜