C++编程中逻辑运算符基本⽤法整理include of 用法
如果任⼀操作数或两个操作数为 true,则逻辑“或”运算符 (||) 返回布尔值 true;否则返回 false。操作数在计算之前隐式转换为类型 bool,结果的类型为 bool。逻辑“或”具有从左向右的关联性。
逻辑“或”运算符的操作数不需要是同⼀类型,但是它们必须是整型或指针类型。操作数通常为关系或相等表达式。
第⼀个操作数将完全计算,并且在继续计算逻辑“或”表达式之前将完成所有副作⽤。
仅当第⼀个操作数的计算结果为 false (0) 时计算第⼆个操作数。在逻辑“或”表达式为 true 时,这将消除对第⼆个操作数的不必要的计算。
复制代码代码如下:
printf( "%d" , (x == w || x == y || x == z) );
在上⾯的⽰例中,如果 x 与 w、y 或 z 相等,则 printf 函数的第⼆个参数的计算结果将为 true,并打印值 1。否则,它的计算结果将为false,并打印值 0。只要其中⼀个条件的计算结果为 true,计算便会停⽌。
|| 的运算符关键字
or 运算符是 || 的等效⽂本。在您的程序中有两种访问 or 运算符的⽅法:包括头⽂件 iso646.h 或使⽤ /Za(禁⽤语⾔扩展)编译器选项进⾏编译。
// expre_Logical_OR_Operator.cpp
// compile with: /EHsc
// Demonstrate logical OR
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 10, c = 15;
cout << boolalpha
<< "The true expression "
<< "a < b || b > c yields "
<< (a < b || b > c) << endl
<< "The false expression "
<< "a > b || b > c yields "
<< (a > b || b > c) << endl;
}
逻辑与运算符:&&
语法
expression
&&
expression
备注
如果操作数为 true,则逻辑“与”运算符 (&&) 返回布尔值 true,否则返回 false。操作数在计算之前隐式转换为类型 bool,结果的类型为bool。逻辑“与”具有从左到右的关联性。
逻辑“与”运算符的操作数不需要具有相同的类型,但它们必须是整数或指针类型。操作数通常为关系或相等表达式。
第⼀个操作数将完全计算,在继续对逻辑“与”表达式进⾏计算前将完成所有副作⽤。
如果第⼀个操作数的计算结果为 true(⾮零),则计算第⼆个操作数。当逻辑“与”表达式为 false 时,这种计算⽅式可消除不必要的对第⼆个操作数的计算。可以使⽤此短路计算防⽌ null 指针取消引⽤,如以下⽰例所⽰:
char *pch = 0;
...
(pch) && (*pch = 'a');
如果 pch 为 null (0),则从不计算表达式的右侧。因此,⽆法通过 null 指针进⾏赋值。
&& 的运算符关键字
and 运算符是 && 的⽂本等效项。您的程序中有两种访问 and 运算符的⽅法:包含标头⽂件 iso646.h,或使⽤ /Za(禁⽤语⾔扩展)编译器选项进⾏编译。
// expre_Logical_AND_Operator.cpp
// compile with: /EHsc
// Demonstrate logical AND
#include <iostream> using namespace std;
int main() {
int a = 5, b = 10, c = 15; cout << boolalpha
<< "The true expression " << "a < b && b < c yields " << (a < b && b < c) << endl << "The false expression " << "a > b && b < c yields " << (a > b && b < c) << endl;