• 티스토리 홈
  • 프로필사진
    유니얼
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
유니얼
  • 프로필사진
    유니얼
    • 분류 전체보기 (295)
      • Unity (17)
        • 게임 개발 (5)
      • Unreal (24)
        • 게임 개발 (20)
      • DirectX (36)
      • 코딩테스트 (91)
        • 프로그래머스 (25)
        • 백준 (66)
      • Google Workspace (1)
      • Programing (102)
        • C# (68)
        • C++ (24)
        • JavaScript (10)
      • 게임 서버 프로그래밍 (17)
      • Web (6)
        • 슈퍼코딩 (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
    등록된 댓글이 없습니다.
  • 최근 공지
    등록된 공지가 없습니다.
# Home
# 공지사항
#
# 태그
# 검색결과
# 방명록
  • [C++ 프로그래밍] 논리 연산자
    2024년 07월 07일
    • 유니얼
    • 작성자
    • 2024.07.07.:18
    728x90

    C++ 기초 프로그래밍: 논리 연산자

    C++ 프로그래밍에서 논리 연산자는 불리언 값의 논리적 관계를 표현하는 데 사용됩니다. 논리 연산자는 주로 조건문이나 반복문에서 사용되며, 프로그램의 흐름을 제어하는 데 중요한 역할을 합니다. 이번 블로그 글에서는 C++의 논리 연산자에 대해 알아보고, 이를 활용하는 방법을 예제와 함께 살펴보겠습니다.

    논리 연산자

    C++에서는 다음과 같은 논리 연산자를 제공합니다:

    1. AND 연산자 (&&): 모든 피연산자가 true일 때만 true를 반환합니다.
    2. OR 연산자 (||): 적어도 하나의 피연산자가 true이면 true를 반환합니다.
    3. 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일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
목차
표시할 목차가 없습니다.
    • 안녕하세요
    • 감사해요
    • 잘있어요

    티스토리툴바