-
[C++ 프로그래밍] 논리 연산자2024년 07월 07일
- 유니얼
-
작성자
-
2024.07.07.:18
728x90C++ 기초 프로그래밍: 논리 연산자
C++ 프로그래밍에서 논리 연산자는 불리언 값의 논리적 관계를 표현하는 데 사용됩니다. 논리 연산자는 주로 조건문이나 반복문에서 사용되며, 프로그램의 흐름을 제어하는 데 중요한 역할을 합니다. 이번 블로그 글에서는 C++의 논리 연산자에 대해 알아보고, 이를 활용하는 방법을 예제와 함께 살펴보겠습니다.
논리 연산자
C++에서는 다음과 같은 논리 연산자를 제공합니다:
- AND 연산자 (&&): 모든 피연산자가 true일 때만 true를 반환합니다.
- OR 연산자 (||): 적어도 하나의 피연산자가 true이면 true를 반환합니다.
- NOT 연산자 (!): 피연산자의 값을 반전시킵니다. true는 false로, false는 true로 변환합니다.
예제 코드
다음 예제 코드는 논리 연산자를 사용하여 불리언 값과 정수 값을 비교하는 방법을 보여줍니다:
#include <iostream> int main() { // 불리언 변수 선언 및 초기화 bool a {true}; bool b {false}; bool c {true}; // 불리언 값을 true/false로 출력하도록 설정 std::cout << std::boolalpha; std::cout << "a : " << a << std::endl; std::cout << "b : " << b << std::endl; std::cout << "c : " << c << std::endl; // AND 연산: 모든 피연산자가 true일 때만 true std::cout << std::endl; std::cout << "Basic AND operations" << std::endl; std::cout << "a && b : " << (a && b) << std::endl; // false std::cout << "a && c : " << (a && c) << std::endl; // true std::cout << "a && b && c : " << (a && b && c) << std::endl; // false // OR 연산: 적어도 하나의 피연산자가 true일 때 true std::cout << std::endl; std::cout << "Basic OR operations" << std::endl; std::cout << "a || b : " << (a || b) << std::endl; // true std::cout << "a || c : " << (a || c) << std::endl; // true std::cout << "a || b || c : " << (a || b || c) << std::endl; // true // NOT 연산: 피연산자의 값을 반전 std::cout << std::endl; std::cout << "Basic NOT operations" << std::endl; std::cout << "!a : " << !a << std::endl; // false std::cout << "!b : " << !b << std::endl; // true std::cout << "!c : " << !c << std::endl; // false // 논리 연산자 조합 std::cout << std::endl; std::cout << "Combining logical operators" << std::endl; std::cout << "!(a && b) || c : " << (!(a && b) || c) << std::endl; // true // 논리 연산자와 관계 연산자 조합 int d {45}; int e {20}; int f {11}; std::cout << std::endl; std::cout << "Relational and logic operations on integers" << std::endl; std::cout << "d : " << d << std::endl; std::cout << "e : " << e << std::endl; std::cout << "f : " << f << std::endl; std::cout << std::endl; std::cout << "(d > e) && (d > f) : " << ((d > e) && (d > f)) << std::endl; // true std::cout << "(d == e) || (e <= f) : " << ((d == e) || (e <= f)) << std::endl; // false std::cout << "(d < e) || (d > f) : " << ((d < e) || (d > f)) << std::endl; // true std::cout << "(f > e) || (d < f) : " << ((f > e) || (d < f)) << std::endl; // false std::cout << "(d > f) && (f <= d) : " << ((d > f) && (f <= d)) << std::endl; // true std::cout << "(d > e) && (d <= f) : " << ((d > e) && (d <= f)) << std::endl; // false std::cout << "(!a) && (d == e) : " << ((!a) && (d == e)) << std::endl; // false return 0; }
출력 결과
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다:
a : true b : false c : true Basic AND operations a && b : false a && c : true a && b && c : false Basic OR operations a || b : true a || c : true a || b || c : true Basic NOT operations !a : false !b : true !c : false Combining logical operators !(a && b) || c : true Relational and logic operations on integers d : 45 e : 20 f : 11 (d > e) && (d > f) : true (d == e) || (e <= f) : false (d < e) || (d > f) : true (f > e) || (d < f) : false (d > f) && (f <= d) : true (d > e) && (d <= f) : false (!a) && (d == e) : false
예제 분석
1, AND 연산 (&&):
- a && b: true && false는 false입니다.
- a && c: true && true는 true입니다.
- a && b && c: true && false && true는 false입니다.
2, OR 연산 (||):
- a || b: true || false는 true입니다.
- a || c: true || true는 true입니다.
- a || b || c: true || false || true는 true입니다.
3, NOT 연산 (!):
- !a: !true는 false입니다.
- !b: !false는 true입니다.
- !c: !true는 false입니다.
4, 논리 연산자 조합:
- !(a && b) || c: !(true && false) || true는 true입니다.
5, 논리 연산자와 관계 연산자 조합:
- (d > e) && (d > f): (45 > 20) && (45 > 11)는 true입니다.
- (d == e) || (e <= f): (45 == 20) || (20 <= 11)는 false입니다.
- (d < e) || (d > f): (45 < 20) || (45 > 11)는 true입니다.
- (f > e) || (d < f): (11 > 20) || (45 < 11)는 false입니다.
- (d > f) && (f <= d): (45 > 11) && (11 <= 45)는 true입니다.
- (d > e) && (d <= f): (45 > 20) && (45 <= 11)는 false입니다.
- (!a) && (d == e): (!true) && (45 == 20)는 false입니다.
결론
C++에서 논리 연산자는 프로그램의 흐름을 제어하는 데 중요한 역할을 합니다. 논리 연산자를 사용하여 조건을 평가하고, 조건문이나 반복문에서 다양한 논리적 결합을 표현할 수 있습니다.
반응형다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드
받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이
감지되어도 모달 창이 표시되지 않습니다.)