c语言中的关系操作符

来源:互联网 发布:域名邮箱登陆 编辑:程序博客网 时间:2024/06/15 23:52

1、关系操作符有:

>      >=     <      <=        !=       ==

前四个操作符一看便知。!=操作符用于测试“不相等”,而==操作符用于测试“相等”。

注意:1、这些操作符产生的结果都是一个整形值,而不是布尔值。如果两端的操作数符合操作符指定的关系,表达式的结果为1,如果不符合,表达式的结果是0。关系操作符的结果是整形值,所以它可以赋值给整形变量,但通常它们用于if或while语句中,作为测值表达式。请大家一定要记住这些语句的工作方式:表达式的结果如果是0,它被认为是假;表达式的结果如果是任何的非零值,它被认为是真。所有关系操作符的工作原理相同,如果操作符两端的操作数不符合它指定的关系,表达式的结果为0。所以,我们从功能上说,我们并不需要额外的布尔型数据类型。

       C用整数来表示布尔型值,这直接产生了一些简写方法,他们在表达式测值中极为常用。

        if(expression != 0)......

        if(expression ).......


       if(expression == 0).....

        if(!expression ).....

       在每对语句中,两条语句的功能是相同的。测试“不等于 0”既可以用关系操作符来实现,也可以简单地通过测试表达式的值来完成。类似,测试“等于 0”也可以通过测试表达式的值,然后再取结果值得逻辑反来实现。但你在使用最后一种的时候一定要多加小心。由于!操作符的优先级很高,所以表达式内包含了其他操作符,大家最好把表达式放在一对括号内。当然在这里面大家必须注意的一点就是单个“=”是用来赋值操作的。两个“==”是用来比较的。

          2、什么是C语言中的布尔类型:

        c语言没有正式的、内建的布尔类型,一般用整数表示布尔值,只不过其范围大大缩小了,部分原因在于选择一个这样的类型涉及最好由程序员来决定的空间和时间中,使用int可能更快,选择char可能更节省空间。

c语言将0值解释为假,而将任何非0值解释为真,ANSI规定关系和逻辑操作符==、!=、<、>、>=、<=、&&和||返回1表示真,因此1值作为真值比任何其它非0值更著名一些。但有一点要注意:就是有一些函数在成功时返回非0值且不一定是1,例如isupper()、isalpha()等等.

通常自定义的布尔型形式:

#define TRUE 1

#define FALSE 0

typedef enum{FALSE,TRUE}bool;或typedef  int bool;或typedef char bool;或#define bool int;等等。




原创粉丝点击