logo

C のブール値

C の bool は、true または false の 2 つの値のいずれかを保持できる基本的なデータ型です。これは論理値を表すために使用され、if-else ステートメント、while ループ、for ループなどの意思決定ステートメントの実行フローを制御するためにプログラミングで一般的に使用されます。この記事では、C で bool データ型を使用する方法を説明します。

C のブール値

C では、bool データ型は組み込みデータ型ではありません。ただし、C 言語の C99 標準は bool 変数をサポートしています。ブール値は、値を true-false、0-1、または yes-no として保存できます。以下に示すさまざまな方法を使用して、C で実装できます。



  1. ヘッダー ファイル stdbool.h の使用
  2. 列挙型の使用
  3. 定義を使用してブール値を宣言する

1. ヘッダー ファイル stdbool.h の使用

C で bool を使用するには、ヘッダー ファイル stdbool.h をインクルードする必要があります。 stdbool.h ライブラリをインクルードすると、stdio.h ライブラリではブール値が使用できないため、データ型を使用できるようになります。

以下は C でのブール値の実装です。

C




日付形式.形式





// C Program to implement> // Boolean data type> #include> // Main Function> int> main()> {> >// Boolean data types declared> >bool> a =>true>;> >bool> b =>false>;> >printf>(>'True : %d '>, a);> >printf>(>'False : %d'>, b);> >return> 0;> }>

>

>

出力

True : 1 False : 0>

上記のプログラムを .c ファイルとして保存すると、コンパイルできません。ただし、.cpp ファイルとして保存すると、正常に動作します。

2. 列挙型の使用

あるいは、列挙型を使用して C で bool を実装することもできます。ここでは、ライブラリをインポートするのではなく、データ型として bool を使用するように列挙型を宣言します。

以下は列挙型アプローチの使用例です。

C




#include> typedef> enum> {>false>,>true> }>bool>;> int> main()> {> >bool> a =>true>;> >bool> b =>false>;> >printf>(>'True : %d '>, a);> >printf>(>'False : %d'>, b);> >return> 0;> }>

>

>

出力

True : 1 False : 0>

3. Define を使用したブール値の宣言

この場合、false 値には整数値 0 が割り当てられ、true 値には整数値 1 が割り当てられます。0 (false) または 1 (true) の値を持つ int または char を使用することもできます。 C で bool データ型を表現します。

上記のアプローチの実装を以下に示します。

C

Excelで最初の文字を削除する




#define bool int> #define false 0> #define true 1> int> main()> {> >bool> a =>true>;> >bool> b =>false>;> >printf>(>'True : %d '>, a);> >printf>(>'False : %d'>, b);> >return> 0;> }>

>

>

出力

True : 1 False : 0>

条件文での Bool の使用

bool データ型は、if-else ステートメントなどの条件ステートメントでよく使用されます。 a が b より大きいか、そうでなければ b が a より大きいかなどの条件は、ブール値を使用して実装できます。 == 、> 、 < 、 != などの条件演算子を使用したこれらの条件は、ブール値を返します。

以下は条件文の実装です。

C




// C Program to implement> // conditional statements> #include> #include> // Main Function> int> main()> {> >// Integers declared> >int> a = 3;> >int> b = 4;> >// Conditional Statements> >if> (a>b) {>> >printf>(>'a is greater '>);> >}> >else> {> >printf>(>'a is smaller '>);> >}> >printf>(>'%d is the result of a>b'>>, a>b);>> return> 0;> }>

>

>

出力

a is smaller 0 is the result of a>b>

ループ内でブール値を使用する

bool データ型は、while ループや for ループなどのループでも使用されます。条件ステートメントは、ループで使用される最も重要な部分の 1 つです。ブール値を返す条件文を使用せずにループのブレークポイントを定義することはできません。条件文がないとループが無限ループになってしまいます。

上記のアプローチの実装を以下に示します。

C

mysqlと等しくない




// C Program to demonstrate> // Using bool in loops> #include> #include> // Main Function> int> main()> {> >// boolean declared> >bool> a =>true>;> >int> i = 0;> >// while loop> >while> (a) {> >printf>(>'i is %d '>, i);> >i++;> >// Conditional statement returning> >// true or false> >// Breaking point for loop> >if> (i>5) {>> >a =>false>;> >}> >}> >return> 0;> }>

>

>

出力

i is 0 i is 1 i is 2 i is 3 i is 4 i is 5>

関数の戻り値の型として bool を使用する

bool データ型を関数の戻り値の型として使用することもできます。関数戻り型は、関数内で実行されたすべての操作の結果を返す機能を追加します。

上記のアプローチの実装を以下に示します。

Javaのおっとコンセプト

C




// C Program to demonstrate using of> // bool as a function return type> #include> #include> // function returning boolean value> bool> is_even(>int> num)> {> >if> (num % 2 == 0) {> >return> true>;> >}> >else> {> >return> false>;> >}> }> // Main function> int> main()> {> >// Integer value declared> >int> num = 5;> >// Function calling> >if> (is_even(num)) {> >printf>(>'%d is even '>, num);> >}> >else> {> >printf>(>'%d is odd '>, num);> >}> >return> 0;> }>

>

>

出力

5 is odd>

結論

bool データ型は、true または false の 2 つの値のいずれかを保持できる、ほとんどのプログラミング言語の基本的なデータ型です。 C では、ヘッダー ファイル stdbool.h をインクルードするか、列挙型を使用するか、定義された条件に応じて 0(true) または 1(false) の値を持つ int または char を使用することにより、bool 変数を使用できます。

C Boolean に関する FAQ

1. C のブール値の例とは何ですか?

ブール値は、true または false の 2 つの値を保持する C のデータ型です。

2. bool の C ヘッダーとは何ですか?

stdbool.h は bool の C ヘッダーです。

3. C のブール値のサイズはどれくらいですか?

C のブール値は、0 と 1 の 2 つの値のみが必要なため、サイズは 1 バイトです。

4. C はブール値またはブール値を使用しますか?

Boolean は、値を true または false として格納できるデータ型で、C では bool として使用されます。