C の bool は、true または false の 2 つの値のいずれかを保持できる基本的なデータ型です。これは論理値を表すために使用され、if-else ステートメント、while ループ、for ループなどの意思決定ステートメントの実行フローを制御するためにプログラミングで一般的に使用されます。この記事では、C で bool データ型を使用する方法を説明します。
C のブール値
C では、bool データ型は組み込みデータ型ではありません。ただし、C 言語の C99 標準は bool 変数をサポートしています。ブール値は、値を true-false、0-1、または yes-no として保存できます。以下に示すさまざまな方法を使用して、C で実装できます。
- ヘッダー ファイル stdbool.h の使用
- 列挙型の使用
- 定義を使用してブール値を宣言する
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);>> 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 として使用されます。