カテゴリー
C言語

do-while文を知ろう

この章ではdo-while文について説明します。
do-while文はwhile文と同じで、繰り返し文を実行します。
while文は条件式を評価してから繰り返しを行うか決定するので、条件式がFALSEの場合は一度も実行されないこともあります。
それに対してdo-while文は一度繰り返しを行った後に条件式を評価するので、最低でも一回は繰り返し処理を行います。1 では例をみてみましょう。1111111111

カテゴリー
C言語

while文を知ろう

この章ではwhile文について説明します。
何回も同じ処理(ループ)をする必要があるときにwhile文を使えば簡単に記述することができます。
同じような処理を何度も繰り返すプログラムを書く場合、以下のように何度も同じ処理を書くのは面倒ですし、間違いも多くなりがちです。1 そこでwhileを使うと簡潔に書くことができます。
基本構文は以下の通りですが、if文と同じように条件式がtrueの時にブロックの中が実行されます。1 では例をみてみましょう。1 初めにwhileが実行される時に条件式がTRUEもしくはFALSEかどうかをチェックします。
TRUEである場合はwhileの処理文が実行されます。
FALSEである場合、処理文は実行されません。
whileは条件式がTRUEである限り何度でも処理文を実行します。
順を追って説明します。
以下の図を参考に読み進めてください。11 111111もし、i++がないとどうなると思いますか?答えは無限ループと言いまして、1の部分が永遠に4より大きくならないので無限に1を繰り返します。

カテゴリー
C言語

switch文を知ろう

この章ではswitch文について説明します。
if文と同じく条件分岐できるのがswitch文です。
11 11switchのカッコ()の中の式が、caseの値と一致するとbreakまでの文が実行されます。11
次にbreakの意味について説明します。
breakはブロックを抜けるために存在します。
switch文の場合はbreakでswitchのブロックを抜けることができます。
つまり、式の値がcaseのいずれかの値と一致すれば文を実行して、breakにより抜けます。
ではswitch文の例を見てみましょう
111 11
例えば3を入力すると以下のようになります。1111111
先ほどのswitch文と同じことをif文で表すと以下のようになります。11
次は仮にbreakが記述されていなかったらどうなるか説明します。11 caseの値に一致した場合、それ以降の処理をbreakの箇所まで実行していきますが、 caseの値に一致したのにも関わらずbreakが無いと次のbreakまで もしくはbreakがどこにもなければdefaultの箇所まで処理が実行されます。
仮に上の例で入力したaの値が0だとすると、0は1の値と一致するので1を実行して処理が終わるはずのところ、breakが無いがために、そこで止まらず抜けて行ってしまいます。
さらに「case 1:」にもbreakが無いので、そこの処理も実行されて、結局は最後のdefaultまで実行されてしまいます。1
次の例を見てみましょう。1111
今までのcase文は1つずつでしたが、上の例のようにcase文を複数まとめて設置することができます。
switchの条件文が複数のcaseの中でどれか1つのcaseの値と合致した場合は、そこの処理文を実行してbreakで抜けます。11

カテゴリー
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」の箇所で比較演算子について説明しましたが、if文でもっと複雑な条件式を設定したい場合に論理演算子を使用します。
では次は論理演算子の例を見てみましょう。11 論理演算子は条件式をもっと詳しく表現したい時に使用します。
例えば「3より大きく かつ 10より小さい」と言うような複雑な条件式にしたい時に使用します。
例では1の中で1を使用していますが、次のような意味があります
「aは0よりも大きいかつaは100よりも小さい 」と条件式を設定しています。
この2つの条件をつないでいる「かつ(そして)」の部分が論理演算子です。
この例の11を挟んだ両辺ともTRUEでなければifの条件式はTRUEにはなりません。1 「&&」は「&&」の左右の値が2つともTRUEの場合に条件式がTRUEになります。
「||」は「||」の左右の値のどちらか一方がTRUEの場合に条件式がTRUEになります。
「||」の使用例をみてみましょう。1 この例は年齢が20歳以上もしくは身長が170センチ以上であるならばTRUEです。
つまり「||」を挟んだ両辺のどちらかがTRUEであるならばTRUEですが、この例では1の部分がTRUEですので、1が出力されます。
次は「!」の使用例をみてみましょう。1 この例は年齢が80歳以上ではない場合はTRUEになります。
この例の条件式は「20は80より大きい」の否定なのでTRUEです。
比較演算子と一緒に「!」を使用する場合には例のように比較演算子をカッコでくくって、その前に「!」を置きます。

次は論理演算子の優先度について説明します。
上の例では論理演算子は1つでしたが、論理演算子が複数使われている場合はどこが先に実行されるのかが重要になります。1 では例をみてみましょう。1 1また、以下のようにカッコを付けることで優先順位を変えることが出来ます。11

カテゴリー
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が出力されます。

カテゴリー
C言語

2次元配列を知ろう

この章では2次元配列について説明します。
2次元配列は配列を入れ子にすることで表現します。
つまり、配列の中に配列が入っていることを意味します。
2次元配列とは以下のように行と列の2次元で考える配列です。
詳しい説明は例の後に行います。1 では例をみてみましょう。111 結果は以下の通りです。1 2次元配列の構文は以下のようになります。1111111 ではさらに詳しく説明します。111111111111