논리 OR 연산자: ||

구문

논리 또는 식||논리 및 식

설명

논리 OR 연산자(||)는 피연산자 중 하나 또는 둘 다인 경우 부울 값을 true 반환하고, 그렇지 않으면 반환 false 합니다true. 피연산자는 평가 전에 암시적으로 형식 bool 으로 변환되고 결과는 형식 bool입니다. 논리 OR은 왼쪽에서 오른쪽으로의 결합성을 가집니다.

논리 OR 연산자에 대한 피연산자는 동일한 형식을 가질 필요는 없지만 부울, 정수 또는 포인터 형식이어야 합니다. 피연산자는 일반적으로 관계형 또는 동등 식입니다.

첫 번째 피연산자가 완전히 계산되고 모든 파생 작업이 완료된 후에 논리 OR 계산이 시작됩니다.

두 번째 피연산자는 논리 OR 식이 있을 때 계산이 필요하지 않으므로 첫 번째 피연산자가 계산 false되는 경우에만 평가됩니다 true. 단락 평가라고 합니다.

printf( "%d" , (x == w || x == y || x == z) );

위의 예제 x 에서 함수에 대한 두 번째 인수가 wyz정수로 승격되고 값 1이 인쇄되는 경우 함수의 두 번째 인수 printf 가 계산true됩니다. 그렇지 않으면 계산되고 false 값 0이 인쇄됩니다. 조건 중 하나가 평가되는 즉시 평가가 중지됩니다 true.

연산자 키워드(keyword)||

C++는 .에 대한 ||대체 맞춤법으로 지정 or 합니다. C에서는 대체 맞춤법이 iso646.h> 헤더에 <매크로로 제공됩니다. C++에서 대체 맞춤법은 키워드(keyword). iso646.h> 또는 C++ 동등한 <ciso646>의 사용<은 더 이상 사용되지 않습니다. Microsoft C++ /permissive-/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;
}

참고 항목

C++ 기본 제공 연산자, 우선 순위 및 결합성
C 논리 연산자