C语言中!y与y!的区别

Python013

C语言中!y与y!的区别,第1张

1、语义不同:

C语言中,运算符“!”表示逻辑非运算,“!y”的表达式表示表达式 y 本来值的反值。而“y!”是错误表达式,没有实义。

2、逻辑不同:

“!y”是逻辑非运算,!只能用来表达式的前面而不是后面。“y!”是语法错误。

3、运行结果不同:

C语言中," !0" 这个逻辑表达式的值为1。(判断的这个数为0,成立,则其表达式的值为1)," !1" 这个逻辑表达式的值为0。(判断的这个数非0,不成立,则其表达式的值为0)。因此“!y”的值根据 y 取反,非 0 即 1。而 “y!”编译时会抛出语法错误。

扩展资料:

逻辑非的相关性质:

1、逻辑运算符把各个运算的变量(或常量)连接起来组成一个逻辑表达式。

2、逻辑运算符有3个,它们分别是: !(逻辑非)、 ||(逻辑或)、&&(逻辑与)。在位运算里面还有 &(位与)、|(位或)、 ^(按位异或)的运算。

3、!运算符在逻辑运算符中的级别最高。

参考资料来源:百度百科-逻辑非

参考资料来源:百度百科-语法错误

Y||y中,“||”表示逻辑操作符(或),所以意思是大写的Y或者小写的y。

“||”表示逻辑操作符(或),它的操作数是布尔型,即只有“0”(表示false)和“1”(表示true)两个数值。C语言规定,在逻辑运算中,所有非0的数值都被看成1处理。

布尔型变量是有两种逻辑状态的变量,它包含两个值:真和假。如果在表达式中使用了布尔型变量,那么将根据变量值的真假而赋予整型值1或0。要把一个整型变量转换成布尔型变量,如果整型值为0,则其布尔型值为假;反之如果整型值为非0,则其布尔型值为真。布尔型变量在运行时通常用做标志,比如进行逻辑测试以改变程序流程。