TECH I.S.

C ブール値


ブール値

プログラミングでは、次のような 2 つの値のうち 1 つだけを持つことができるデータ型が必要になることがよくあります。

  • YES / NO
  • ON / OFF
  • TRUE / FALSE

このため、C にはブール値として知られるブール データ型があります。

ブール値は、true または false のいずれかの値を表します。


ブール変数

C では、bool 型は intchar のような組み込みデータ型ではありません。

これは C99 で導入されたもので、使用するには次のヘッダー ファイルをインポートする必要があります。

#include <stdbool.h>
ブール変数は bool キーワードを使用して宣言され、true または false の値のみを取ることができます。
bool isProgrammingFun = true; bool isFishTasty = false;

ブール変数を表示する前に、ブール値が整数として返されることを知っておく必要があります。

  • 1(または 0 以外の数字) は、true(真)
  • 0false(偽)を表します

したがって、ブール値を出力するには、%d 形式指定子を使用する必要があります。

// bool変数を作成する bool isProgrammingFun = true; bool isFishTasty = false; // bool値を返す printf("%d", isProgrammingFun);   // 1 (true) を返します printf("%d", isFishTasty);        // 0 (false) を返します

自分で試してみる»

ただし、値と変数を比較してブール値を返す方が一般的です。

値と変数の比較

値の比較は、答えを見つけて決定を下すのに役立つため、プログラミングに役立ちます。

たとえば、大なり演算子 (>)などの比較演算子を使用して、2 つの値を比較できます。

printf("%d", 10 > 9);  // Returns 1 (true) because 10 is greater than 9

自分で試してみる»

上の例から、戻り値がブール値 (1) であることがわかります。

2 つの変数を比較することもできます。

int x = 10; int y = 9; printf("%d", x > y);

自分で試してみる»

以下の例では、等号 (==) 演算子を使用して、異なる値を比較します。

printf("%d", 10 == 10); // 10は10に等しいため、1 (true) を返します。 printf("%d", 10 == 15); // 10は15に等しくないため、0 (偽) を返します。 printf("%d", 5 == 55);  // 5は55に等しくないため、0 (偽) を返します。

自分で試してみる»

数値の比較だけに限定されるわけではありません。 また、ブール変数や、配列などの特殊な構造体を比較することもできます (これについては後の章で詳しく説明します)。

bool isHamburgerTasty = true; bool isPizzaTasty = true; // ハンバーガーとピザはどちらもおいしいか調べてみましょう printf("%d", isHamburgerTasty == isPizzaTasty);

自分で試してみる»

bool 変数を使用する場合は、必ず ヘッダー ファイルを含めてください。


実際の例

ある人が投票できる年齢に達しているかどうかを調べる必要がある「実際の例」を考えてみましょう。

以下の例では比較演算子(>= )を使用して、年齢 (25) が投票年齢制限 (18 歳に設定されている) より大きいか、等しいかどうかを確認します。

int myAge = 25; int votingAge = 18; printf("%d", myAge >= votingAge); // 1 (true) を返します。これは、25歳が投票できることを意味します。

自分で試してみる»

さらに良いアプローチは、上記のコードを if...else ステートメントでラップして、結果に応じてさまざまなアクションを実行できるようにすることです。

myAge18 以上の場合「Old enough to vote!(投票するのに十分な年齢です!)」を出力します。そうでない場合は、「Not old enough to vote.(投票するには年齢が足りません。)」と出力します。
int myAge = 25; int votingAge = 18; if (myAge >= votingAge) {   printf("Old enough to vote!"); } else {   printf("Not old enough to vote."); }

自分で試してみる»

ブール値はすべての比較と条件の基礎です。

詳しくは次の章で。



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細