C语言中if(!a)表示什么意思

如题所述

if( !a )就是一个判断语句,判断表达式 !a 的真假,进而决定是否执行后续操作。

如果a是一个变量
当a等于0时,!a=1(为真),执行后续操作;
当a不等于0时,!a=0(为假),不执行后续操作;

如果a是一个表达式
将表达式的值计算出来,当成变量来操作,判断过程同上。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-09
if(!a)
!是逻辑运算符, a在逻辑运算符下,如果 a为0 则为假, 否则为真。
这里的0指的是,内存数据上的0。

如果a为 int型 ,则 等价于if(a == 0)
如果a为 输入流, 则 如果输入流未结束执行后面的语句。
第2个回答  推荐于2017-09-14
1.if语句的一般格式
if(表达式)

[else
]
(1)if语句中的“表达式”必须用“(”和“)”括起来。
(2)else子句(可选)是if语句的一部分,必须与if配对使用,不能单独使用。
(3)当if和else下面的语句组,仅由一条语句构成时,也可不使用复合语句形式(即去掉花括号)。

2.if语句的执行过程
(1)缺省else子句时
当“表达式”的值不等于0(即判定为“逻辑真”)时,则执行语句组1,否则直接转向执行下一条。
(2)指定else子句时
当“表达式”的值不等于0(即判定为“逻辑真”)时,则执行语句组1,然后转向下一条语句;否则,执行语句组2。如图4-1(b)所示。
3.if语句的嵌套与嵌套匹配原则
if语句允许嵌套。所谓if语句的嵌套是指,在“语句组1”或(和)“语句组2”中,又包含有if语句的情况。
if语句嵌套时,else子句与if的匹配原则:与在它上面、距它最近、且尚未匹配的if配对。
为明确匹配关系,避免匹配错误,强烈建议:将内嵌的if语句,一律用花括号括起来。
本回答被提问者采纳
第3个回答  2019-12-06
if(a)表示:如果括号里是逻辑表达式成立,或者说为真,则执行后面语句;
if(!a)表示:如果括号里是逻辑表达式不成立,或者说为假,则不执行后面语句。
条件语句可以给定一个判断条件,并在程序执行过程中判断该条件是否成立,根据判断结果执行不同的操作,从而改变代码的执行顺序,实现更多的功能。VBA中的条件语句主要有If语句和Select Case语句两种。 
第4个回答  2011-09-09
如果a是bool 型的,当a=false(即!a=true)时条件满足,执行if()后{}的内容,如果a是数字型的,当a=0时(即!a不等于0),条件满足,如果a是其它类型,当a=NULL(即!a不等于空)时,条件满足。