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




#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);>>

出力

a is smaller 0 is the result of a>b 

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

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

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

C




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

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

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 として使用されます。



あなたにおすすめ