C言語入門|条件式の仕組みを理解する:真偽の評価と関係演算子の基本

if 文や while 文を使っていると、必ず目にするのが
( )の中に書かれた 条件式 ですよね🙂

if ( 条件式 ) {
    処理
}

この条件式、
「なんとなく書いてはいるけど、正体はよく分かっていない」
という人も多いのではないでしょうか?

でも大丈夫です👍
条件式の仕組みはシンプルで、
真(true)か偽(false)かを判断するだけ なんです。

条件式とは何をするもの?🤔

条件式とは、
処理を実行するかどうかを決めるための式 です。

たとえば、次のような条件を考えてみましょう。

もし、所持金が 1000 円以上なら、ジュースを買う
そうでなければ、何も買わない

この「1000円以上かどうか」という判断部分が、
プログラムでは 条件式 になります。

条件式を使ったサンプルプログラム🍹

では、この日常の判断を C 言語で表してみましょう。

プロジェクト名:4-5-1 ソースファイル名: sample4-5-1.c

#include <stdio.h>
#include <stdbool.h>

int main(void)
{
    int money = 1200;

    if (money >= 1000) {
        printf("ジュースを買いました\n");
    } else {
        printf("お金が足りませんでした\n");
    }

    return 0;
}

実行結果(money が 1200 の場合)

ジュースを買いました

money を 500 に変更した場合

お金が足りませんでした

このように、
条件式の結果によって実行される処理が切り替わる
これが条件分岐の基本です😊

関係演算子に注目しよう🔍

条件式の中にある

money >= 1000

ここで使われている
>= や == といった記号を 関係演算子 と呼びます。

関係演算子は、
左と右の値を比較して、結果を true または false に変換 します。

代表的な関係演算子を表で整理してみましょう。

演算子意味
==等しい
!=等しくない
<小さい
>大きい
<=以下
>=以上

条件式は「評価」されて真偽に化ける🧠

第3章で学んだことを思い出してください✨
演算子は評価されて、結果に 置き換わる のでしたね。

3 + 5 → 8

同じように、条件式も評価されます。

money >= 1000

この式は、

  • money が 1200 → true
  • money が 500 → false

というように、
最終的には true か false に変わります

if 文の正体は、実はこんな形です👇

if (true) {
    処理を実行
}

または

if (false) {
    処理を実行しない
}

とても単純ですね😊

「等しい」は = ではなく == ⚠️

初心者がよくやってしまうミスがこちらです。

if (money = 1000)   // 間違い

これは「比較」ではなく
代入 になってしまいます💦

正しくは、

if (money == 1000)  // 正解

条件式で使うイコールは
必ず 2 つ並べる(==)
これをしっかり覚えておきましょう👍

bool 型で条件を書くと読みやすい😊

条件式は、必ずしも比較演算子を書く必要はありません。

次のような bool 型の変数を使った条件式もあります。

bool hasTicket = true;

if (hasTicket) {
    printf("入場できます\n");
}

これは、

もしチケットを持っているなら

という意味になります🎫

条件式の正体が「真か偽か」だと理解していれば、
この書き方も自然に読めますね。

bool 型でない条件式も存在する😲

C言語では、次のような書き方も許されています。

int count = 5;

if (count) {
    printf("データが存在します\n");
}

この場合、C言語では次のルールで判断されます。

解釈
0false
0以外true

つまり、

if (count)

は、

if (count != 0)

と同じ意味になります。

初心者へのおすすめルール✨

歴史的な理由でこの書き方は残っていますが、
初心者のうちは、

if (count != 0)
if (isReady == true)

のように、
意味がはっきり分かる条件式を書く のがおすすめです😊

まとめ:条件式は判断を作る式🎯

条件式のポイントは次の3つです。

  • 条件式は評価される。
  • 結果は true か false
  • if や while は、その結果で動きを決める。

この考え方を身につければ、
条件分岐や繰り返し処理が グッと分かりやすく なります✨