一、运算关系
例:if(fabs(data2)<=1e-7) 与if(-1e-7<=data2<=1e-7)等价问题
计算机逻辑中1为真,0为假
1.a=3 b=2 c=1 数学等式中a>b>c为真
2.计算机逻辑表达式中 a>b>c=(a>b)>c,由于a>b为真所以等价于1,但1>c为假
结论:计算机逻辑中的关系运算不等价于数学运算
二、逻辑运算符
注:1.!为一元运算符,运算等级最高,其余顺延。
三、逻辑表达式
1.定义:用逻辑运算符连接的表达式为逻辑表达式。
2.判别:当逻辑表达式的值非零,为真,为0时为假。
3.运算中的逻辑关系
①且关系:仅当两个操作数为真时,逻辑表达式为真,一个假全为假。
②或关系:两个操作数 只要有一个为真,运算结果为真;两个假全假。
③非关系:若操作数的值为真,则其逻辑非运算的关系为假。
4.举例
1.a>b>c转为c表达式:(a>b)&&(b>c)
2.表示ch是英文大写字母:(ch>='A')&&(ch<='Z')
5.默认优先级计算
圆括号的使用:属于运算符,且是优先等级最高的运算符。可用于确定表达式的计算顺序,如下。
例:判断一年是否为闰年。(能被4整除,但不会被100整除;能被400整除)
((year%4==0)&&((year%100!=0))‖((year%400==0))
==0:整除;!=0:不能被整除。
注:&&和‖都具有短路特性,含有此类运算符的表达式可先被左操作数的值算出时,右操作数的值将不会被计算。(a》1&&b++2>2中,仅当a>1为真时,b++>2中的b++才会被计算)