大家好,今天小编关注到一个比较有意思的话题,就是关于C语言真或真的问题,于是小编就整理了2个相关介绍C语言真或真的解答,让我们一起看看吧。
为什么C语言中计算机认为0是假的,其他数都是真的?
C是一门高效的计算机编程语言。所以,为了编程快捷方便的需要,对逻辑表达式及逻辑非操作符”!”进行了明确的定义,即表达式值为非零时,逻辑值为1,表达式值为0时,逻辑值为0。这就是你所说的计算机认为0是假的,非0是真的(原创问答,违者必究)。
#define FALSE 0
#define TRUE 1
在编程中,不论什么情况,在进行逻辑判断时,不是TRUE,就是FALSE。
(图片来源网络,侵删)也就是说,不论怎么复杂的逻辑关系式,其运算结果要么是TRUE,要么是FALSE。
先看一下权威的MSDN是如何定义逻辑非操作符”!”的,原文截图如下:
重点翻译白话文如下:
(图片来源网络,侵删)操作数d是非零时,!d返回值是0;操作数d是零时,!d返回值是1;其中的操作数d是整数型、浮点型或指针型之一。
很清楚了吧!
举例1:布尔型!,表达式判断
== 在c语言中是什么意思?
意思是相等,==是关系运算符,用来判断两个值大小是否相同,当左边的内容与右边的内容相同时,返回1,其余时候返回0。
例如下列程序,输入2个整数,判断他们俩是否相等,如果相等,输出a is equal to b。
C语言中的6种关系运算符:
关系运算符的值只能是0或1。关系运算符的值为真时,结果值都为1。关系运算符的值为假时,结果值都为0。
注意事项:
1、前4种关系运算符的优先级别相同,后两种也相同。前四种高于后两种。
2、关系运算符的优先级低于算术运算符。
3、关系运算符的优先级高于赋值运算符。
1、c语言中=!是两个运算符摆放在一起,“=”是赋值运算符,“!”逻辑非运算符;
2、逻辑操作符一般将其操作数视为条件表达式,返回结果为Bool类型;
3、首先对其操作数求值,若结果为0,则条件为假(false),否则为真(true);
4、优先级上“!”先于“=”;所有比如有下面的式子,int i;i=!5;
5、这个理解为:根据运算符优先级,!先于=;首先5作为!的操作数,求值!5的结果是bool型的false。
6、然后false隐士转换成int型,即0;所以i里面的值是整形0。扩展资料:C语言运算1、C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。2、在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单;3、但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全特有特点1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。3、不同的变量类型可以用结构体(struct)组合在一起。4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。5、部份的变量类型可以转换,例如整型和字符型变量。6、通过指针(pointer),C语言可以容易的对存储器进行低级控制。
7、预编译处理(preprocessor)让C语言的编译更具有弹性。
到此,以上就是小编对于C语言真或真的问题就介绍到这了,希望介绍关于C语言真或真的2点解答对大家有用。