今回はTIPSです。
TIPS…知らなくてもいいけど知っておくと便利なこと。

bool型

bool型は 0 か 1 の情報しか持ちません。
真か偽のどちらか一方になるような場合に有効です。
0 は 偽 、false になります。
1 は 真 、true になります。 

if文や while文と相性が良いです。
bool coin = true;

if(coin){
	printf("コインは表です。\n");
}
else{
	printf("コインは裏です。\n");
}
実行したら true の部分を false に変えてもう一度実行してみましょう。
bool flag = true;

int num = 0;

while(flag){
	printf("5を入力するまで終わりません。\n");

	scanf("%d",&num);

	if(num == 5){
		flag = false;
	}
}
次のプログラムは上のプログラムと同じ画面表示になります。
int num = 0;

while(true) {
	printf("5を入力するまで終わりません。\n");

	scanf("%d",&num);

	if(num == 5) break;
}

bool型を返す関数

関数の返り値として bool型 を使うこともできます
// 2つの数値に0が入ってるかを返す関数
bool search_0(int a, int b){
	return a == 0 || b == 0;
}

int main(){
	int a = 0;
	int b = 0;

	printf("数値を2回入力してください。\n");
	scanf("%d%d", &a, &b);

	if(search_0(a ,b)){
		printf("aかbに0がはいってる。\n");
	}
	else {
		printf("aもbも0ではない。\n");
	}
}

練習問題

次のようなプログラムを作ってください。
第1問
 bool型の変数 light を作り 真なら照明がついています。偽なら照明がついていません。
 と表示する。
第2問
 整数値を二つ受け取り、二つの合計が100を超えるかどうかを判断する IsSumAbove100関数

第3問
 実数値を一つ受け取り、小数点以下の数値が存在するか調べる IsRealNumInteger関数

第4問
 0 か 1 の乱数を生成し、0 ならfalse 1 ならtrueを返す GetRandFlag関数

補足

この回で扱ってきた bool型は実はC言語の機能ではありません。
C++言語の機能です。
C言語で使うには <stdbool.h> というヘッダファイルをインクルードするか、自分で定義する必要があります。
しかし、C言語とC++言語には互換性があり、Visual Studio では両方をサポートしている(読み込むことができる)ため、
C言語とC++言語を混ぜたプログラムを書いても機能することができます。
C++言語はC言語の機能を拡張しつつ、
過去のC言語で書かれたコードも読み込めるように開発された言語です。
そのため、C言語と混ぜて書いても全く問題ありません。
しかし、純粋なC言語しか使えない環境では bool型をはじめとするC++言語の機能は使えないので注意しましょう。