!x在c语言语句里面为一个运算,取非,也就是反意的意思,默认所有非0数为真,0为假,也就是说如果前提x为一个非0数,!x的结果就是0,如果x是0,结果就为1(默认值非0为1),而x!=0本身是一个判断语句,如果x本身是0,x!=0不成立,则这个式子值为0表示式子不成立,x等于任意非0数则x!=0成立,式子值为1,!x在括号里面作为判断条件等价于x==0

参与运算的表达式为真时,结果为假;参与运算的表达式为假时,结果为真。例如:
0 为假,非运算的结果为真,也就是 1。
5>0 的结果是1,为真,非运算的结果为假,也就是 0。输出逻辑运算的结果:
"x!" -- 字符串 内容是 x!// x! -- 注解行/* x! */ -- 注解行 条件:if ( x!= 0) printf("x not equ zero \n"); else printf("x == zero \n");如果 x 不等于 0 则打印 x not equ zero, 否则 打印 x == zero!= 组合在一起是逻辑运算符“不等于” !x -- 这个表示 对 x 作 “非”运算。
!表示“非”,是一种逻辑运算。若a的真值为1,则!a为0;若a的真值为0,则!a为1。
C语言是面向过程的抽象通用编程语言,广泛用于低级开发中。 C语言可以以简单的方式编译和处理低级内存。 C语言是一种高效的编程语言,它仅产生少量的机器语言,并且可以在无需任何操作环境支持的情况下运行。尽管C语言提供了许多底层处理功能,但它仍然保持了跨平台的特性。用标准规范编写的C语言程序可以在许多计算机平台上执行,包括嵌入式处理器和超级计算机等操作平台。
取反(逻辑型),就是“非”的意思,!0=1,!1=0,!2=0,!后面接任何一个非零的数结果都是0,因为当a不等于0时系统就默认它的逻辑值为1,只有当a=0时a的逻辑值才为0。所以,当a不等于0时,!a=0;当a=0时,!a=1。
>> 右移就是把这个数的末尾多少位去掉,如17>>3 表示 0001 0001 的最后3位去掉,就变成了 0000 0010 左移运算 左移运算符“<<”是双目运算符。其功能把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。 例如: a<<4 指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。6. 右移运算 右移运算符“>>”是双目运算符。其功能是把“>> ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。