逻辑表达式是指运算符为或||、与&&、非!的表达式。返回值为0或1,0表示daofalse,非0表示true. 例如!0返回1,0&&1返回0,0||1返回1。
关系表达式是指运算符为<,<=,>,>=,==,!=的表达式。返回值同样为0或1,例如a!=b,a>=0等。
C语言用整数"1"表示"逻辑真"、用"0"表示"逻辑假"。但在判断一个数据的"真"或"假"时,却以0和非0为根据:
如果为0,则判定为"逻辑假";如果为非0,则判定为"逻辑真"。
例如,假设num=12,则: !num的值=0 ,num>=1 && num<=31的值=1 ,num || num>
31的值=1。
逻辑运算符两侧的操作数,除可以是0和非0的整数外,也可以是其它任何类型的数据,如实型、字符型等。
短路原则:非常重要,在计算逻辑表达式时,只有在必须执行下一个表达式才能求解时,才求解该表达式(即并不是所有的表达式都被求解)。换句话说:
对于逻辑与运算,如果第一个操作数被判定为"假",系统不再判定或求解第二操作数;对于逻辑或运算,如果第一个操作数被判定为"真",系统不再判定或求解第二操作数。