龙空技术网

C 语言中布尔类型的定义及判断真假的方法

无我不爱英语 34

前言:

现在兄弟们对“c语言里的且或非”大概比较关注,你们都需要剖析一些“c语言里的且或非”的相关资讯。那么小编在网络上搜集了一些对于“c语言里的且或非””的相关知识,希望小伙伴们能喜欢,大家快快来学习一下吧!

Josin 参考文章

C 语言标准(C89)没有定义布尔类型,所以在 C 语言中判断真假时,0 为假,非 0 为真。因此我们通常采用逻辑变量的方式:

//定义一个int类型变量,变量值为0时表示false,值为1时表示true

int 标志;

标志=0;

//......

标志=1;

如果(标志)

//......

但这种方式不太直观,而且不明确flag必须是一个布尔值。所以我们使用C语言的宏定义:

// 布尔类型的宏定义

# 布尔整数

# 正确 1

# 错误 0

//定义一个布尔变量

BOOL 标志 = FALSE;

这种方法虽然直观,但还是老一套,变量flag在编译器看来还是int类型。

新版本总会改进一些不好的地方,所以最新的C语言标准(C99)解决了布尔类型的问题。C99提供了_Bool类型,因此布尔类型可以声明为_Bool标志。

_Bool 仍然是整数类型,但是与一般整数不同,_Bool 变量只能被赋值 0 或 1,任何非 0 值都会存储为 1。

C99也提供了一个头文件,将bool定义为_Bool,true为1,false为0,只要.h就可以很方便地操作类型。

//导入.h以使用布尔类型

#

#

//计算n!,n的值在main中定义

int main(空)

int n = 10; //计算乘法次数

int sum = 1; //用于存储乘法的结果

bool flag = false; //乘法标志

int num = n; //循环次数

while( !标志 )

总和 = 总和 * (数字--);

//当num=1时,循环结束

如果(数字 == 1)

标志=真;

("%d 的乘积值为 %d \n", n, sum);

0;

标签: #c语言里的且或非