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语言可以容易的对存储器进行低级控制。
1、当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一个表达式的值。
先算括号内的值:s+2=4,d+4=7;括号内应为(4,7),括号内取值只取最后一个,如果没有括号则取第一个;a=12+7=19。
是首先把y赋值为3,把y递增为4,然后把4加上2,把结果6赋值给z,接下来把z加5最后把x赋为结果值11。
2、注意事项:逗号运算符( , )是C语言运算符中优先级最低的一种运算符。
1、优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
2、相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。
3、基本的优先级需要记住:指针最优,单目运算优于双目运算。如正负号。先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 && 7等价于 (1 << (3 + 2))&&7.逻辑运算最后计算。