c语言中"!"的作用是什么?

如题所述

c语言中的“!”是逻辑运算中的非运算。

“!”是C语言中的非运算符,在变量前面使用它,会构建非运算表达式,表达式的返回结果是个布尔值(也就是只有true或false)。对变量使用时,如果变量不是布尔数据类型,将会强制转化为布尔类型再使用,如整形变量123将被转化为true,整形变量0将被转化为false。

扩展资料:

C语言所有运算符列表:

1、算术运算符

用于各类数值运算,包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。

2、关系运算符

用于比较运算,包括大于(>)、小于(<)、等于(==)、 大于等于(>=)。

、小于等于(<=)和不等于(!=)六种。

3、逻辑运算符

用于逻辑运算,包括与(&&)、或(||)、非(!)三种。

4、位操作运算符

参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

5、赋值运算符

用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。

参考资料来源:百度百科-c语言运算符号

温馨提示:内容为网友见解,仅供参考
第1个回答  2022-12-29

在 C 语言中,"!" 是逻辑取反运算符。它的作用是将一个布尔表达式的值取反,例如:

int a = 1;

int b = 0;

if (!a) {

// 这里的代码不会执行

}

if (!b) {

// 这里的代码会执行

}

在这个例子中,变量 a 的值为真,所以逻辑取反后的值为假,不会执行后面的代码。变量 b 的值为假,所以逻辑取反后的值为真,会执行后面的代码。

需要注意的是,在 C 语言中,布尔值的真值为 1,假值为 0。因此,当逻辑取反运算符用于非布尔值时,它会将该值转换为布尔值再进行取反。例如:

int a = 0;

int b = 1;

if (!a) {

// 这里的代码会执行

}

if (!b) {

// 这里的代码不会执行

}

在这个例子中,变量 a 的值为 0,所以在逻辑取反后的值为真,会执行后面的代码。变量 b 的值为 1,所以在逻辑取反后的值为假,不会执行后面的代码。

在使用 "!" 运算符时,需要注意以下几点:

    "!" 只能用于单个表达式,不能用于整个语句或多个表达式的组合。例如,以下代码是错误的:

// 错误代码

if (!(a > b && b > c)) {

// 这里的代码不会执行

}

正确的写法应该是这样:

// 正确代码

if (!(a > b) || !(b > c)) {

// 这里的代码不会执行

}

"!" 运算符的优先级比较低,因此在使用时需要注意括号的使用。例如:

int a = 1;

int b = 0;

if (!a + b) {

// 这里的代码不会执行

}

if (!(a + b)) {

// 这里的代码会执行

}

在第一个例子中,"!" 运算符的优先级低于加法运算符,因此 "!a" 和 "b" 会先被计算,然后再对它们的和取反。由于 "!a" 的值为假,所以最终的结果也为假,不会执行后面的代码。在第二个例子中,括号的使用使得 "!" 运算符的优先级高于加法运算符,因此会先对 "a + b" 的值取反,然后再与 if 语句进行比较。由于 "a + b" 的值为 1,所以取反后的值为 0,符合 if 语句的条件,会执行后面的代码。

总之,"!" 运算符是 C 语言中常用的逻辑运算符之一,它的作用是将一个布尔表达式的值取反或将一个非布尔值转换为布尔值再进行取反。在使用 "!" 运算符时,需要注意它的优先级和括号的使用,以及 C 语言中布尔值的真值和假值。

c语言中"!"的作用是什么?
c语言中的“!”是逻辑运算中的非运算。“!”是C语言中的非运算符,在变量前面使用它,会构建非运算表达式,表达式的返回结果是个布尔值(也就是只有true或false)。对变量使用时,如果变量不是布尔数据类型,将会强制转化为布尔类型再使用,如整形变量123将被转化为true,整形变量0将被转化为false。

c语言的“!”是什么意思?
c语言中的“!”是逻辑运算中的非运算。“!”是C语言中的非运算符,在变量前面使用它,会构建非运算表达式,表达式的返回结果是个布尔值(也就是只有true或false)。对变量使用时,如果变量不是布尔数据类型,将会强制转化为布尔类型再使用,如整形变量123将被转化为true,整形变量0将被转化为false。C语...

c语言中感叹号是什么意思?
(1)感叹号在C语言中的意义和作用 感叹号在C语言中通常用作逻辑非运算符,即将一个非零值转换为0,将一个0值转换为1。例如,!5的值为0,而!0的值为1。在程序中,感叹号还可以用于布尔表达式的取反操作,用于控制流程和逻辑判断中的真假判断等。(2)感叹号的使用方法和注意事项 在使用感叹号时,...

“!”是什么意思?
!是C语言中的逻辑“非”运算符,由于C语言用整型数表示逻辑量,0为假,非0为真,所以将 !作用在一个整型变量前,得到的效果是:当 e的内容为0, !e 的计算结果为1;当 e的内容非0, !e 的计算结果为0。简单来说,如果E为1的话,!E就为0,而E为0的话,!E就为1。至于E!=0,就是...

c语言中!!0是什么意思?
1. 在C语言中,"!"是一个逻辑非运算符。它的作用是将操作数的逻辑状态取反。也就是说,如果操作数的值为真,则结果为假;如果操作数的值为假,则结果为真。2. 当我们使用"!0"时,因为0在C语言中被视为假,所以逻辑非运算的结果是真,即1。"!"将数字0转换为逻辑真,因此输出为1。3. 而...

在C语言中,if(!(i%10))这类条件语句中,!的作用是什么?
!表示否定,如果!后面的表达式的值为0,!0就为真,那上面的语句中if语句的满足判断要求,执行if后面的语句,如果!后面的表达式值不为0,那就不执行if

...谢谢(主要是不明白表达式的“!”作用是什么)
???表达式的值为1吧 d=1,e=2,f=3 首先注意它们优先级,所以 !(d+e)+f&&e+f*2 => !(1 + 2) + 3 && 2 +3 * 2 => !3 + 3 && 2 + 6 => 0 + 3 && 8 => 3 && 8 =>1

C语言中!e是什么意思?最好能解释一下
!是C语言中的逻辑“非”运算符,由于C语言用整型数表示逻辑量,0为假,非0为真,所以将 !作用在一个整型变量前,得到的效果是:当e的内容为0, !e 的计算结果为1 当e的内容非0, !e 的计算结果为0

C语言中!5为什么等于0?
!是C语言的“逻辑非”操作符,作用是把紧跟在后面的变量或常量的逻辑值变成相反的逻辑值。C语言规定0的逻辑值是0,非0的逻辑值是1。那么!5的意思就是!1(因为5不为0所以逻辑值是1),逻辑1的非就0,所以!5==0。而且,!x只要x的值不是0,!x的结果就是0,而若x的值是0,则!x就是1。

在Visual C++中,s[i]! 什么意思?我不明白感叹号的作用是啥
C语言中,感叹号( ! )是逻辑非运算符,是一个单目运算符,结合顺序为自右向左。因为逻辑非运算的结果只有真与假,所以经过逻辑非( ! )运算后的结果只有1 (真)或0 (假)具体使用方法可以参考如下程序段:int a=3, b;char ch='d', t;b = !a; \/\/ 对整型变量a进行逻辑非运算 t = !ch...

相似回答
大家正在搜