C++语言程序设计

注意：
① 对于0和非0操作数而言，非0表示逻辑真（true），0表示逻辑假（false）。
② 在逻辑运算中，并不是所有的逻辑运算符都被执行，只有在必须执行下一个运算符后才能得出表达式的值时，才执行该运算符。例如：
a&&b&&c;
只有当a为真时，才依次判断b和c，当a为0时可直接得到表达式的值为0，系统不会再继续判断表达式b和c。
逻辑运算符中除'!'为单目运算符外，其余的为双目运算符。象关系运算符一样，逻辑运算符的结果只能是真或假，为叙述方便和容易理解，用1代表真true，0代表假false。
逻辑表达式"!a"中，如a为1，则结果为0，否则结果是1。
逻辑与、逻辑或的运算可以由下表表示。其中操作数a代表运算符的左操作数，操作数b代表运算符的右操作数，表达似的值代表上表中的表达式的结果。
需要注意的是：
（1） 在有些C++环境中，没有专门的布尔类型bool，而用整数型int 来代替。如：
int IsEmpty = 0 // 代表假
int IsEmpty =1 // 代表真。
（2） 一般只有0代表假，而其它的任何值都代表真。如下面的一些逻辑表达式都是真的：
20 && 1
12 || 0
0 || 2001
1.0||2
! 0
等都代表结果是真的。大家可以自己举几个例子。
（3） 逻辑表达式中的逻辑运算不是都需要执行的
1 || (100/0) //并不会产生浮点运算错误。因为100/0根本就没有必要执行。
0 && (100/0) // 同样不会出现问题，但不提倡这种写法。
所以，必须要执行运算的表达式，应该在参与逻辑运算之前先执行运算，以防万一没有执行。产生不可预料的后果，这是在编程过程中需要切记的。