C语言真假判断

Python011

C语言真假判断,第1张

在C语言中,0值代表假,非0值代表真。

随着语言的发展,引入了bool类型,定义在头文件 stdbool.h中。bool类型有两个值,true代表真值,false代表假值。这两者之间有等价关系,任何能转换为0值的表达式,其结果也是false,反之也成立产。

非0即为真,在程序设计里面会省去很多烦琐的代码。

比如:

malloc函数,不成功会返回NULL(实际上就是0),成功返回所分配的连续单元的首地址。那么在判断malloc()函数是否成功分配了内存,则可以这么写:

int *p = (int *)malloc(sizeof(int) * 10)

if (p)

TODO...

else

TODO...

扩展资料

1、对于逻辑与运算,如果第一个操作数被判定为“假”,系统不再判定或求解第二操作数。

2、对于逻辑或运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数。

在C语言中,判断语句的一般格式为

if(expr1)

{

    //some codes

}

else if(expr2)

{

    //some codes

}

else if(expr3)

...

else

{

    //some codes

}

//out of check

执行时,会依照书写顺序,依次判断各个expr,如果有一个为真,则执行后续的{}内语句,并不再执行后续判断,而是直接从out of check开始执行。

else if的数量不限,可以不存在,也可以有任意多组。

else同样可以不存在。

每个else 与最其之前最近的没有匹配else的if相结合。

判断执行的语句{}部分,大括号对可以省略,省略后,if仅对其下一语句生效。

一般来说,我们不会直接使用ASCII码来处理,因为这样不够直观。比如你说的判定输入是否是字母,是否是数字,那么有个比较直观的方法来处理。如果你看过ASCII码表,那么你就知道字数和字母在ASCII码表中都是连续的,所以这个就比较好解决了。

判定字符ch是否是数字:

if(ch>='0'

&&

ch<='9')

判定字符ch是否是字母:

if(ch>='a'

&&

ch<='z'

||

ch>='A'

&&

ch<='Z')

当然,有已经定义好的库函数用来判定是否数字和字母,不要加加载头文件<ctype.h>

判定字符ch是否是数字:

if(isalnum(ch))

判定字符ch是否是字母:

if(isalpha(ch))

这两个函数都是判定成立,结果是true也就是1,判定不成立,结果是false,也就是0.