2.4.2 逻辑运算

    对简单电路有所了解的人可能更容易理解逻辑(与或非)的概念,C++中提供了3个逻辑运算符,分别是:&&(“与”),||(“或”)和!(“非”)。

    其中,!为单目操作符,结合顺序为从右向左,&&和||为双目运算符,结合顺序为从左向右,逻辑运算符要求其操作数为bool型,即有true和false两种取值,但实际上,借助于C++的类型转换机制,普通的数值量也可以进行逻辑运算,非0量转换为true,0转换为false。逻辑运算返回一个bool型量,表2.6为操作数取值与逻辑表达式取值之间的关系。

    2.4.2 逻辑运算 - 图1

    !(“非”)实际上是个取反操作,而只有当两个操作数都为true时,&&(“与”)表达式取值才为true,否则取false;只要两个操作数中有一个为true,||(“或”)表达式取值便为true,换句话说,只有两个操作数都为false时,||(“或”)表达式取值才为false。

    注意

    运算符的组合使用可以实现复杂的逻辑关系。