TPY ENGINEERING VLOG

TPY ENGINEERING VLOG(C,JAVA)

*C言語* 〜13時限目〜 条件の仕組みについて・・・

〜目次〜

 

 

条件の仕組みについて

日常でこんな場面を想像してください。

雨が降っている…

→傘を持っていく

雨が降っていない…

→傘を持っていかない

このように「場合に応じた処理」を、

C言語でも行うことができます。

C言語では様々な状況をあらわすために、

条件(condition)

という概念を持っています。

最初にあげた例では、

雨が降っている

という部分が「条件」になります。

実際のC言語では、

このように条件を日本語で記述する訳ではありません。

式が評価され値を持っていることを使い、

真(true)

偽(false)

という2つの値のうちのどちらかであらわされるものを、

C言語では「条件」と呼びます。

「真」または「偽」とは、

その条件が「正しい」か「正しくない」ということを意味します。

「雨が降っている」という条件を考えたときに、

条件が「真」と「偽」である場合を考えてみます。

雨が降っている場合  → 雨が降っているから「真」

雨が降っていない場合 → 雨が降っていないから「偽」

ということになります。

 

条件を記述する

条件をC言語の式であらわしてみます。

7が5よりも大きいことを、

7>5

という不等式であらわすことがあります。

実際に7は5よりも大きいので、この不等式は「正しい」と言えます。

しかし、

7<5

この式は、「正しくない」と言えます。

C言語でも、>のような記号を使うことができ、

上の式は「真」、下の式は「偽」であると評価されます。

つまり2つの式はC言語での条件ということができるのです。

条件を作るための>記号などは、

関係演算子(relational operator)

と呼びます。

以下にまとめます。

f:id:YuyaTerayama:20180903154601p:plain

 

関係演算子を使う

!=や==は2文字で1つの演算子になります。

なので、途中にスペースなどを入れないでください。

=演算が代入演算子ということは、学びました。

形は似ているが、==と=は全くの別物です。

==は全く異なる種類の関係演算子になります。

コードを記述する際に間違えてしまうことが多いので、

注意をしてください。

コンパイラはこの間違いをエラーとして見つけることができません。

 

真と偽

関係演算子を使ったC言語の条件では、

真→1、偽→0

という整数値として内部的に評価されることになっています。

C言語ではこの整数値を使って、

簡単なコードを書く場合があるので、

覚えておいてください。

 

if文の仕組みについて

様々な状況に応じた処理についてやっていきます。

C言語では、状況に応じた処理を行う場合、

「条件」の値(真または偽)に応じて処理を行う

というスタイルの文を記述します。

このような文のことを、

条件判断文(conditional statement)

と呼びます。

条件判断文の代表として、

if文

について学びます。

条件が真の場合に指定した文を処理するという構文です。

最初にあげた例をif文にすると、

if(雨が降っている)

   傘を持っていく

というようになります。

雨が降っていない(偽)の場合には、

「傘を持っていく」という処理は行われません。

実際にコードを入力してみましょう。

sample22.c

f:id:YuyaTerayama:20180903160323p:plain

ーsample22の実行画面その1ー

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

1

1が入力されました。

処理を終了します。

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

条件が真となり11行目の文が処理されます。

逆にユーザーが1以外の文字を入力した場合は以下になります。

ーsample22の実行画面その2ー

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

2

処理を終了します。

今回の場合、

条件が偽となり11行目の文が処理されません。

if文を使うことで、

真の場合だけ、指定した文の処理を行うことができます。

 

さらに詳しくは14時限目にて解説します。

 

〜END〜