カテゴリー
C言語

whileとifとbreakを組み合わせて使おう

for文の中でbreakを使ってきましたが、この章ではwhile文の中でのbreakの使い方について説明します。
breakの使い方はfor文と同じです。
では例をみてみましょう。11 上の例はwhile文の中にif文が入っている構造です。1111111

カテゴリー
C言語

forとifとbreakを組み合わせて使おう

この章ではfor文の中でのbreakの使い方について説明します。
switch文の中でbreakを使用しましたが、これは一連の流れを強制的に中止したい時やブロックを抜けたい時に使いました
このbreakはfor文の中でも使用することが出来ますので、例を見てみましょう。1 1例のようにfor文にif文を入れることもできます。
このif文の意味はbreakを使用しているので「もし、iが4になったらfor文を抜けますよ」と言う意味です。
ですので、「4つのリンゴ」「5つのリンゴ」を出力することなくループを終了します。
breakはこのように一連の流れ(ループ)を強制的に中止したい時に使用します。
次の例はforの入れ子の中でbreakを使用しています。11 この例では上から2つ目のforの中でbreakを使っていますが、forの中でbreakを使った場合、breakで抜けることができるのはbreakのあるfor文(例の場合は上から2つ目)だけです。
つまり例の場合は上から2つ目のfor文の中のif文の条件部分が3を超えたら、(上から2つ目の)for文をbreakするのですが、breakした後はまた一番前の1に戻ってループを繰り返します。11
次の例をみてみましょう。11 先ほどの例のように入れ子の中のfor文でbreakを使用した場合、抜けることが出来るのは内側のfor文だけですが、一気に外側のブロック(一番前のfor)を抜けたい場合の方法について説明します。
ある条件になったら繰り返しを止めたいと思う箇所に1と記述してください。
次に抜けたい箇所に1と言う形式で記述すると、そこまで実行位置を移すことができます。ラベル名は変数名と同じ規則で自由に付けることが出来ます。
この例では1 の箇所で「i*j」の結果が3より大きければが1実行されて、1のある場所まで実行位置を移すので二重ループそのものを抜けます。1 1for文以外でもgotoは使うことができます。
以下の例ではif文の中でgotoを使用しています。111111

カテゴリー
C言語

if文で星座の判定をしよう

この章ではif文で星座の判定のプログラムを作成します。
scanfでユーザーに誕生月と誕生日を入力させて、それに対して星座を出力させるプログラムです。
少し長いプログラムですが、if文が連なっているだけです。11111111111111 ここで使っているif文は入れ子になっています。
つまり、if文の中にif文が入っている構造になっています。
この例では初めにmonthの数値が1から12までの、どの数値なのかを1から以下のif文で確認します。
次に2つ目のif文でdayの数値により星座の分別を行います。
星座が2つあるので、条件式は1という構文で書きます。
例えばmonthが1であれば1月は山羊座か水瓶座なので、dayが18であれば山羊座になります。dayの数値が31を超えていれば1が実行されます。1 結果の一例は以下の通りです。星座の日決めには説があり、上のif文では必ずしも自身の星座が出力されない可能性がありますので、その辺の誤差はご勘弁ください(星座の切り換わりの日が説により1日ずれています)。1

カテゴリー
C言語

if文の条件式に変数を入れよう

これまではif文の条件式に演算子を使っていますが、1のように条件式に変数を入れた書き方も出来ます。
条件式に0(ゼロ)以外の整数値が入っている場合にはTRUEになります。
以下の例では条件式にchar型が入っていますが、char型は整数で表せることを学習しました。
つまり、以下の例の条件式には0以外の数字が入っていることになり、条件式がTRUEになっています。
では例をみてみましょう。1 これを書き換えると以下のようになります。
変わっている箇所はifの条件式です。1 つまり、最初の例は1の部分を省略して書いているわけです。1 この例ではaが0でない時にTRUEになりますので、1が実行されます。

カテゴリー
C言語

if文について理解しよう。if文の基本構文3

この章でもif文について説明します。
条件式が複数ある場合、つまり細かい条件を設定したい場合には1を使います。
これまで説明してきた基本構文1,基本構文2は「条件に合うか合わないか」を判断するのみの条件文でしたが、1は「条件式1がFALSEならば条件式2、条件式2もFALSEならば条件式3, 条件式3もFALSEならばelseの実行文」というような条件式の複数指定です。
具体的には、以下の構文(if-else if-else)になります。
11では例をみてみましょう。111
aに56、bに5を入力すると結果は以下の通りです。1

カテゴリー
C言語

if文について理解しよう。if文の基本構文2

この章でもif文について説明します。
ifの基本構文1では条件式がFALSEの場合にはif文の中は無視されて何の処理も実行されませんでした。
そこで、条件式がFALSEの場合にも何かしらの処理を実行したい時に使用するのが
「if-else」です。

1
では例をみてみましょう。1 「wallet=15000;」は財布に15000円入っているという意味です。
そして条件式は「財布に入っているお金が10000円より少ないのならば」と言う意味なのですが、財布には15000円入っているので(10000円より多いので)、条件式はFALSEです。FALSEなので「条件式がFALSEのときに実行される文」つまり1が実行されます。
もう1つ例を挙げます。11 ユーザーに入力させたaとbの値が同じ数値、つまりTRUEであるならば1を実行します。
ユーザーに入力させたaとbの値が違う数値、つまりFALSEであるならば1を実行します。
例えば45を2回入力した場合の結果は以下の通りです。1

カテゴリー
C言語

if文について理解しよう。if文の基本構文1

この章ではif文について説明します。
if文はどのような時に使われるのかを日常生活の中の場面で説明します。
例えば「もし、今日財布に10000円あったらフランス料理にして、20000円あったら中華料理にする」などの選択を繰り返して人は生きていますが、プログラムでもこのような表現ができるのです。
このように条件によって表現を変えることを条件分岐と言います。
条件分岐にはifを使用します。1 「条件式」には下の表のように比較演算子を11使ってとかなどを11のような記号(比較演算子)を使って表現します。11 条件式は条件を満たしていればTRUEを返し、条件を満たしていないならばFALSEを返します。
そして、TRUEの時にブロックの中の文が実行されます。
では何がTRUE、FALSEなのかを次の例で説明します。1 この例は条件式に比較演算子の1を使用していますが、常識的に考えて5は2より大きいですので、条件を満たしています。
これがTRUEです。
TRUEですので、1が実行されます。
では以下のif文は条件を満たしているでしょうか?1 2は5より大きくないので条件を満たしていません。
これがFALSEです。
FALSEの場合は1が実行されません。
次は比較演算子」の1を使います。1 aとbの値が等しい場合にTRUEになりますので、この例では1が出力されます。

カテゴリー
PHP

if文で星座を判定しよう

この章ではif文の応用として星座の判定をif文で作ります。
少し長いですが、if文が連なっているだけです。
では例をみてみましょう。
11
111111111111 長くなりましたが、説明を始めます。
初めに$Monthに入っている値をチェックして、その数字に一致するif文の箇所に入ります。
$Monthには1が入っていますので、以下の箇所に入ります。1 1月は水瓶座と山羊座の2つの星座があるので、これをさらに入れ子のif文で分別して、星座を求めています。
範囲以外の数値であれば1が出力されます。
結果は以下の通りです。1

カテゴリー
PHP

if文を入れ子にしよう

この章ではif文を入れ子にする方法について説明します。
if文は入れ子にすることが出来ます。
つまり、if文の中にif文を含めることができるということです。
では例をみてみましょう。11 $nameは手塚なので、最初のif文の条件式はTRUEです。
これにより、さらに入れ子の中のif文が実行されます。1 $ageは23で、18を超えていますので1が実行されます。
このようにさらに条件を絞りたい場合にifの入れ子を使用します。
つまり、手塚さんであることは確認しましたが、さらに年齢を確かめたいので質問しますね。
手塚さんは18歳を超えていますか?と言っているのと同じです。

カテゴリー
PHP

if文について理解しよう。if文の基本構文1

if文はどのような時に使われるのかを日常生活の場面で説明します。
例えば、もし、今日財布にお金が10000円あったらフランス料理にして、20000円あったら中華料理にするなどの選択を繰り返して人は生きていますが、プログラムでもこのような表現ができるのです。
このように条件によって表現を変えることを条件分岐と言います。1 ifは英語と同じで1という意味です。
「条件式」には下の表のように比較演算子を使って11などを11のような記号を使って表現します。
11条件式は条件を満たしていればTRUEを返し、条件を満たしていないならばFALSEを返します。そして、TRUEの時にブロックの中の文が実行されます。
TRUEは真、FALSEは偽とも言いますが、何がTRUEもしくはFALSEなのかを次の例で説明します。1 条件式には比較演算子の1を使用していますが、5は2より大きいですので、条件を満たしていると考えるのです。
これがTRUEです。TRUEですので、1が実行されます。
では以下のif文は条件を満たしているでしょうか?1 2は5より大きくないので条件を満たしていません。
これがFALSEです。
FALSEの場合は、if文は実行されません。
つまり、ブロック内が何も実行されないので画面には何も表示されません。
では比較演算子の中からいくつか例に取って説明します。11 比較演算子の「===」は$a が $b に等しいと同時に同じ型である場合に TRUE と言う意味です。
変数の型については説明しましたが例1は$aも$bも同じ値で、同じ整数型なのでTRUEです。
例 2は$aは文字列型、$bは整数型なのでFALSEです。
このように1は値と型が一致しないとTRUEになりません。
比較演算子の「==」は値だけが一致していればif文を実行します。
例2の条件式の箇所を1で書き換えますと、TRUEになります。
「==」の場合には値だけが一致していれば型が一致しなくてもTRUEになります。
これまでのif文ではprint文が少し右にずれているのが分かるでしょうか?
この手法はインデントと呼ばれていますが、プログラムを見やすくするために左側にスペースを入れています。
インデントには半角スペースかTABキーを使います。全角のスペースを入れるとエラーになりますので気を付けてください。1