c语言中逻辑运算符的操作数除了关系表达式外还有其他类型的表达式吗?

如题所述

在C语言中,逻辑运算符(&&、||、!)的操作数可以是关系表达式以外的任意表达式,包括整型、字符型、指针型等等。这些表达式会被自动转换成逻辑值(0或1)来进行逻辑运算。例如,下列代码中就使用了一个整型表达式作为逻辑运算符的操作数:
```c
int a = 10;
int b = 20;
int c = (a > b) && (b != 0); // c的值为0,即false
```
这里使用了一个整型表达式`(a > b)`作为`&&`的左操作数,这个表达式的值为0,因为`a`不大于`b`。而使用另一个整型表达式`(b != 0)`作为右操作数,这个表达式的值为1,因为`b`不等于0。最后`&&`将左右操作数的逻辑值都作为自己的操作数,进行逻辑与运算,得到的结果也是逻辑值0,即false。
总之,逻辑运算符的操作数是任意表达式,并且运算结果也是逻辑值(0或1)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-07-10
关系表达式和逻辑表达式的值是布尔型:真或假(true or false),即0或1,但c语言没有布尔类型,以0为假,非0即真。
逻辑运算又称布尔运算。布尔用数学方法研究逻辑问题,成功地建立了逻辑演算。他用等式表示判断,把推理看作等式的变换。这种变换的有效性不依赖人们对符号的解释,只依赖于符号的组合规律 。这一逻辑理论人们常称它为布尔代数。
20世纪30年代,逻辑代数在电路系统上获得应用,随后,由于电子技术与计算机的发展,出现各种复杂的大系统,它们的变换规律也遵守布尔所揭示的规律。
简介
1、C语言中的逻辑表达式
用逻辑运算符将关系表达式或逻辑量连接起来的有意义的式子称为逻辑表达式。逻辑表达式的值是一个逻辑值,即"true"或"false"。C语言编译系统在给出逻辑运算结果时,以数字1表示"真",以数字0表示"假",但在判断一个量是否为"真"时,以0表示"假",以非0表示"真"。
2、可以将逻辑表达式的运算结果(0或1)赋给整型变量或字符型变量。
注意
由于浮点数在计算机中不能非常准确地表示,所以,判断两个浮点数是否相同时,通常不使用关系运算符"等于"(==),而是利用区间判断方法来实现。