bool布尔型-只存在0和1的数据类型

时间:2025-02-15 12:28:53

我们知道,C语言中定义了许多种数据类型,其中包括了整型int、长整型long、字符char、浮点数float和double等。今天我们要介绍的是一种用于逻辑判定的数据类型——bool布尔型。
布尔型的数据只有两个值——0和1。0对应的逻辑表达式的结果为False,也就是错误;1对应的逻辑表达式的结果为True,也就是正确。
我们再来复习一下逻辑表达式。在逻辑表达式中,最常见的两个运算符就是”且“,&&,和”或“,||。&&代表的是前一个算术表达式的结果与后一个算术表达式的结果相交。如果两个算术表达式a和b用&&符号连接在一起,那么运算的结果为True的充分必要条件就是a和b都为真。||代表的是两个算术表达式取并集,a||b为真的充分必要条件 是a或b其中一个为真。
我们来看一看以下代码:

	int i = 0,j = 1;
	bool T1 = (i >= 0) && (j > i);	//左边为真,右边为真 
	bool T2 = (i < 0) || (j > i);	//左边为假,右边为真 
	bool F1 = (i < 0) && (j > i);	//左边为假,右边为真 
	bool F2 = (i < 0) || (j < i);	//左边为假,右边为假

分别定义名为T1、T2、F1、F2的布尔型变量,将四个逻辑表达式赋值给它们。对于”与“运算&&,变量值为1当且仅当&&符号两边都为真,否则变量值就为0;对于”或“运算||,变量值为0当且仅当||两边都为假,否则为真。
我们可以用以上原则判断一下四个布尔型变量在被赋值之后的值:


T1,&&左边为真,右边为真,所以结果为真;
T2,||左边为假,右边为真,所以结果为真;
F1,&&左边为假,所以结果为假;
F2,||两边都是假的,所以结果为假。


让我们来输出这四个值,来确认我们的判断:
使用如下代码输出T1到F2的值:

printf("T1 = %d\t T2 = %d\tF1 = %d\tF2 = %d",T1,T2,F1,F2); 

%d是”整型“的意思,代表以整型的形式输出数据。\t则是在每两个数据之间留出一个制表位的空间。

结果如下:

T1 = 1   T2 = 1  F1 = 0  F2 = 0