天天看点

C语言 关系表达式

[案例]说明关系表达式的值关系

main()
{
    int result=0;
    int num1=3,num2=4,num3=5;
    result=num1>num2;
    printf("num1>num2 is equal:%d\n",result);
    result=(num1>num2)!=num3;
    printf("(num1>num2)!=num3 is equal:%d\n",result);
    result=num1<num2<num3;
    printf("num1<num2<num3 is equal:%d\n",result);
    result=(num1<num2)+num3;
    printf("(num1<num2)+num3 is equal:%d\n",result);
}      

下面的关系表达式都是合法的:

a>b,a+b>c-d,(a=3)<=(b=5),‘a’>=‘b’,(a>b)= =(b>c)

关系表达式的值–逻辑值(非"真"即"假")。

由于C语言没有逻辑型数据,所以用整数"1"表示"逻辑真",用整数"0"表示"逻辑假"。

例如,假设num1=3,num2=4,num3=5,则:

(1)num1>num2的值=0。

(2)(num1>num2)!=num3的值=1。

(3)num1<num2<num3的值=1。

思考题:任意改变num1或num2的值,会影响整个表达式的值吗?为什么?

(4)(num1<num2)+num3的值=6,因为num1<num2的值=1,1+5=6。

继续阅读