c语言逻辑值
‘壹’ c语言中怎样定义逻辑真值的
1、逻辑运算符是根据表达式的值来返回真值或是假值。在c语言中没有专门的真值和假值,认定非0为真值,0为假值。
2、逻辑运算符运算规则:
||
或:两个条件中,只要有一个成立,则结果就成立;
&&
与:两个条件中,两个同时成立,则结果成立,否则不成立;
!
非:取反之意,如果是真,结果是假,如果是假,结果是真。
‘贰’ C语言的逻辑值
在C语言里没有真正意义的逻辑值。通常一个表达式的逻辑值是这样判断的:
当一个表达式的值不为0时,逻辑值就为1;只有表达式的值为0时才是0.
=!是将运算符右边的表达式的逻辑值取相反值,然后赋予左边的变量。
! 运算符的作用就是求表达式的逻辑值的相反值。
用途:通常逻辑值用于条件运算和有条件的循环运算。
当一个条件语句或条件循环语句的逻辑值为1时,它包含的运算表达式才会执行;
当然,也可以参与数学运算,不过这种用途很少见;因为没有什么实际意义。但是作为程序是合法的。
剩下的你自己判断吧。
‘叁’ c语言中运算结果可以当作逻辑值使用的表达式
把表达式的值 强制取整,就可当逻辑值使用了:
(int)(表达式)
因为 整数 0 就是 逻辑值 假
非0 (无论大于0 或小于 0)就是 逻辑值 真。
‘肆’ C语言中逻辑值真假怎么表示
有以下方式:
1、自己定义的“仿布尔型”
在C99标准被支持之前,一般是由开发人员自己模仿定义布尔型,方式有很多种,常见的有下面两种:
/*第一种方法*/
#defineTRUE1
#defineFALSE0
/*第二种方法*/
enumbool{false,true};
2、使用_Bool
从C99标准开始,可以简单的使用 _Bool 来定义布尔型变量。_Bool类型长度为1,只能取值范围为0或1。将任意非零值赋值给_Bool类型,都会先转换为1,表示真。将零值赋值给_Bool类型,结果为0,表示假。 下面是一个例子程序:
#include<stdio.h>
#include<stdlib.h>
intmain(){
_Boola=1;
_Boolb=2;/*使用非零值,b的值为1*/
_Boolc=0;
_Boold=-1;/*使用非零值,d的值为1*/
printf("a==%d,/n",a);
printf("b==%d,/n",b);
printf("c==%d,/n",c);
printf("d==%d,/n",d);
printf("sizeof(_Bool)==%d/n",sizeof(_Bool));
system("pause");
returnEXIT_SUCCESS;
}
3. 使用stdbool.h
在C++中,通过bool来定义布尔变量,通过true和false对布尔变量进行赋值。C99为了让我们能够写出与C++兼容的代码,添加了一个头文件<stdbool.h>。在gcc中,这个头文件的源码如下:(注,为了清楚,不重要的注释部分已经省略):
/*Copyright(C)1998,1999,2000FreeSoftwareFoundation,Inc.
ThisfileispartofGCC.
*/
#ifndef_STDBOOL_H
#define_STDBOOL_H
#ifndef__cplusplus
#definebool_Bool
#definetrue1
#definefalse0
#else/*__cplusplus,应用于C++里,这里不用处理它*/
/*Supporting<stdbool.h>inC++isaGCCextension.*/
#define_Boolbool
#defineboolbool
#definefalsefalse
#definetruetrue
#endif/*__cplusplus*/
/*.*/
#define__bool_true_false_are_defined1
#endif/*stdbool.h*/
可见,stdbool.h中定义了4个宏,bool、true、false、__bool_true_false_are_defined。 其中bool就是 _Bool类型,true和false的值为1和0,__bool_true_false_are_defined的值为1。下面是一个例子程序:
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
/*测试C99新添加的头文件stdbool.h*/
intmain(){
boolm=true;
booln=false;
printf("m==%d,n==%d/n",m,n);
printf("sizeof(_Bool)==%d/n",sizeof(_Bool));
system("pause");
returnEXIT_SUCCESS;
}
‘伍’ C语言中的逻辑值“真”是用什么表示的,逻辑值“假”是用什么表示的
C语言中的逻辑值“真”是用T表示(True,真)
值,逻辑值“假”是用
F(False,假)。
在编程语言中表示
T(True,真)
值和
F(False,假)值的数据类型叫做布尔类型,在
C
语言中通常用
int
类型来表示,非
0
表示
T,0
表示
F。
布尔逻辑是写程序的基本功之一,程序中的很多错误都可以归因于逻辑错误。以下是一些布尔代数的基本定理,为了简洁易读,T
和
F
用
1
和
0
表示,||
用
+
号表示,x、y、z
的值可能是
0
也可能是
1
。
(5)c语言逻辑值扩展阅读
常用的逻辑运算符还有
“||”表示“或者”,对于表达式
a||b,“a
或者
b
成立”就为真,也就是说
a
和
b
只要有任意一个成立,a||b
就为真。
比如,a=5,表达式
a>0
||
a<-1
的结果为真,因为
5>0,即使
5<-1
不成立,整个表达式也为真。还有“!”表示“反”,对于表达式
!a,a
为真时,!a
为假;a为假时,!a
为真。
‘陆’ c语言中,关系表达式和逻辑表达式的值是什么
c语言中,关系表达式和逻辑表达式的值是0或1。
逻辑表达式的值是一个逻辑值,即"true"或"false"。C言语编译体系在给出逻辑运算效果时,以数字1示意"真",以数字0示意"假",但在推断一个量是不是为"真"时,以0示意"假",以非0示意"真"。
因为浮点数在计算机中不能异常正确地示意,所以,推断两个浮点数是不是相同时,一般不运用关联运算符"即是"(==),而是应用区间推断方法来完成。
(6)c语言逻辑值扩展阅读:
C语言中提供了三种逻辑运算符:
&& :与运算。
|| :或运算。
! :非运算,与运算符&&和或运算符||均为双目运算符。
具有左结合性。非运算符!为单目运算符,具有右结合性。
逻辑运算符和其它运算符优先级的关系可表示如下: !(非)→&&(与)→||(或)
‘柒’ c语言中,逻辑“真”值用什么表示
C语言中逻辑“真”用非零数表示。
例如:
程序在运行中将二个表达式的值分别赋值给变量a和b。
因为10<5是假,b代表假的值,最终输出 b=0,所以0表示假。
因为5 == 5是真,a代表真的值,最终输出a=0,所以1表示真。
(7)c语言逻辑值扩展阅读:
逻辑运算是数字符号化的逻辑推演法,包括联合、相交、相减。在图形处理操作中引用了这种逻辑运算方法以使简单的基本图形组合产生新的形体,并由二维逻辑运算发展到三维图形的逻辑运算。
由于布尔在符号逻辑运算中的特殊贡献,很多计算机语言中将逻辑运算称为布尔运算,将其结果称为布尔值。
概念:
1,逻辑常量与变量:逻辑常量只有两个,即0和1,用来表示两个对立的逻辑状态。逻辑变量与普通代数一样,也可以用字母、符号、数字及其组合来表示,但它们之间有着本质区别,因为逻辑常量的取值只有两个,即0和1,而没有中间值。
2,逻辑运算:在逻辑代数中,有与、或、非三种基本逻辑运算。表示逻辑运算的方法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。
参考资料来源:网络-逻辑运算
‘捌’ c语言,表达式(!x==0)的逻辑值是什么
!X==0,!的优先级高,所以相当于(!x)==0。
题目没说x是什么类型,暂且当成整型吧。
c的逻辑运算中,把0当做false,非0当做true。表达式进一步解释为(!x)==false。
于是(!x)的结果就是,如果x是0,则 !x 是true;否则 !x 是false。
所以,如果x是0,(!x)==false的结果是false;否则是true。
然后只要看下面哪个跟这个逻辑的运算结果是一样的就行了。
-----
x==1,只有x是1的时候结果为true,其他情况都是false。跟上面的逻辑不一样了。
x,上面也说了,整型转逻辑运算时,0是false,非零是true,所以x的逻辑运算结果跟 (!x)==0等价。
x!=0,x为0的时候是false,非零是true。逻辑上等价。
x>0 || x<0,分析一下如果x为0,则既不满足x>0也不满足x<0所以结果是false;其他情况要么x大于0,要么x小于0,所以结果是true。逻辑上也等价。
‘玖’ C语言中的逻辑值“真”是用什么表示的,逻辑值“假”是用什么表示的
逻辑值只有两个值,即true(真)和false(假),在C语言中true用1表示,false用0表示。
需要注意的是,在C语言中并没有逻辑数据类型,在需要保存逻辑值时,可以用整型类型保存。例如:
int x=10,y=20;
int c = (x>y);//x>y此表达式为假,则整个表达式的值为0,即c变量的值为0;
printf(“c=%d ”,c);//结果:c=0
(9)c语言逻辑值扩展阅读:
运算注意事项
当表达式进行&&运算时,只要有一个为假,总的表达式就为假,只有当所有都为 真时,总的式子才为真。当表达式进行||运算时,只要有一个为真,总的值就为真,只有当所有的都为假时,总的式子才为假。
逻辑非(!)运算是把相应的变量 数据转换为相应的真/假值。若原先为假,则逻辑非以后为真,若原先为真,则逻辑非以后为假。