乐居房产官方网站,编程课网课哪家好,网站别人帮做的要注意什么手续,网站建设服务哪家C语言的布尔类型在C语言标准(C89)没有定义布尔类型#xff0c;所以C语言判断真假时以0为假#xff0c;非0为真。所以我们通常使用逻辑变量的做法#xff1a; //定义一个int类型变量#xff0c;当变量值为0时表示false#xff0c;值为1时表示trueint flag;flag 0;//......…C语言的布尔类型 在C语言标准(C89)没有定义布尔类型所以C语言判断真假时以0为假非0为真。所以我们通常使用逻辑变量的做法 //定义一个int类型变量当变量值为0时表示false值为1时表示trueint flag;flag 0;//......flag 1;if( flag ){//......} 但这种做法不直观而且没有明确flag一定是布尔值。所以我们又借助C语言的宏定义 //宏定义布尔类型#define BOOL int#define TRUE 1#define FALSE 0//定义一个布尔变量BOOL flag FALSE; 这种方法虽然直观但依然是换汤不换药变量flag在编译器看来依然是int类型。 新版本总会改进一些不好的地方所以在最新的C语言标准(C99)解决了布尔类型的问题。C99提供了_Bool 型所以布尔类型可以声明为 _Bool flag。 _Bool依然仍是整数类型但与一般整型不同的是_Bool变量只能赋值为0或1非0的值都会被存储为1。 C99还提供了一个头文件 stdbool.h 定义了bool代表_Booltrue代表1false代表0。只要导入 stdbool.h 就能非常方便的操作布尔类型了。 //导入 stdbool.h 来使用布尔类型#include stdbool.h#include stdio.h//计算n!,n的值在main中定义int main(void){ int n 10; //计算叠乘数 int sum 1; //用来存放叠乘的结果 bool flag false; //叠乘标记 int num n; //循环次数 while( !flag ) { sum sum * (num--); //当num1时结束循环 if( num 1) { flag true; } } printf (%d的叠乘值为 %d \n, n, sum); return 0;} 转载于:https://www.cnblogs.com/NULL-ROOT/p/10363862.html