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

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。

再次强调:C语言用整数"1"表示"逻辑真",用整数"0"表示"逻辑假"。所以,关系表达式的值,还可以参与其它种类的运算,例如算术运算、逻辑运算等。