*C言語* 〜13時限目〜 条件の仕組みについて・・・
〜目次〜
条件の仕組みについて
日常でこんな場面を想像してください。
雨が降っている…
→傘を持っていく
雨が降っていない…
→傘を持っていかない
このように「場合に応じた処理」を、
C言語でも行うことができます。
C言語では様々な状況をあらわすために、
条件(condition)
という概念を持っています。
最初にあげた例では、
雨が降っている
という部分が「条件」になります。
実際のC言語では、
このように条件を日本語で記述する訳ではありません。
式が評価され値を持っていることを使い、
真(true)
偽(false)
という2つの値のうちのどちらかであらわされるものを、
C言語では「条件」と呼びます。
「真」または「偽」とは、
その条件が「正しい」か「正しくない」ということを意味します。
「雨が降っている」という条件を考えたときに、
条件が「真」と「偽」である場合を考えてみます。
雨が降っている場合 → 雨が降っているから「真」
雨が降っていない場合 → 雨が降っていないから「偽」
ということになります。
条件を記述する
条件をC言語の式であらわしてみます。
7が5よりも大きいことを、
7>5
という不等式であらわすことがあります。
実際に7は5よりも大きいので、この不等式は「正しい」と言えます。
しかし、
7<5
この式は、「正しくない」と言えます。
C言語でも、>のような記号を使うことができ、
上の式は「真」、下の式は「偽」であると評価されます。
つまり2つの式はC言語での条件ということができるのです。
条件を作るための>記号などは、
関係演算子(relational operator)
と呼びます。
以下にまとめます。
関係演算子を使う
!=や==は2文字で1つの演算子になります。
なので、途中にスペースなどを入れないでください。
=演算が代入演算子ということは、学びました。
形は似ているが、==と=は全くの別物です。
==は全く異なる種類の関係演算子になります。
コードを記述する際に間違えてしまうことが多いので、
注意をしてください。
コンパイラはこの間違いをエラーとして見つけることができません。
真と偽
「真→1、偽→0」
という整数値として内部的に評価されることになっています。
C言語ではこの整数値を使って、
簡単なコードを書く場合があるので、
覚えておいてください。
if文の仕組みについて
様々な状況に応じた処理についてやっていきます。
C言語では、状況に応じた処理を行う場合、
「条件」の値(真または偽)に応じて処理を行う
というスタイルの文を記述します。
このような文のことを、
条件判断文(conditional statement)
と呼びます。
条件判断文の代表として、
if文
について学びます。
条件が真の場合に指定した文を処理するという構文です。
最初にあげた例をif文にすると、
if(雨が降っている)
傘を持っていく
というようになります。
雨が降っていない(偽)の場合には、
「傘を持っていく」という処理は行われません。
実際にコードを入力してみましょう。
sample22.c
ーsample22の実行画面その1ー
整数を入力してください。
1
1が入力されました。
処理を終了します。
ユーザーが1を入力した場合、
条件が真となり11行目の文が処理されます。
逆にユーザーが1以外の文字を入力した場合は以下になります。
ーsample22の実行画面その2ー
整数を入力してください。
2
処理を終了します。
今回の場合、
条件が偽となり11行目の文が処理されません。
if文を使うことで、
真の場合だけ、指定した文の処理を行うことができます。
さらに詳しくは14時限目にて解説します。
〜END〜