前言:
现在兄弟们对“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语言里的且或非