본문 바로가기
Programming/C++

C++에서 논리연산 하는 방법 | C++

by 혀코 2020. 9. 22.

안녕하세요. 혀코입니다.

이번 시간에는 C++에서 논리연산을 하는 방법에 대해서 알아보겠습니다.

 

# 1 또는 0이 입력되었을때 반대로 출력하는 방법

입력받는 것은 정수로 받고 논리연산 기호인 !를 사용해서 값을 false로 변환해서 출력합니다.

#include <iostream>

int main() {
    int a;
    scanf("%d", &a);
    printf("%d", !a);
    return 0;
}

 

# 두 개의 참 또는 거짓이 입력되었을때 모두 참일 때에만 참을 출력하는 방법

두 개의 값이 모두 참일 때는 && 기호를 사용합니다.

#include <iostream>

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d", a && b);
    return 0;
}

 

# 두 개의 참 또는 거짓이 입력되었을때, 하나라도 참이면 참을 출력하는 방법

두 개의 값이 하나라도 참일 때는 || 기호를 사용합니다.

#include <iostream>

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d", a || b);
    return 0;
}

 

# 두 개의 참 또는 거짓이 입력되었을때, 참/거짓 서로 다를 때에만 참을 출력하는 방법

a값이 참일때, b의 값이 거짓이고, b의 값이 참일때, a 값이 거짓인 경우에만 참을 출력하기 때문에 다음과 같이 작성하면 됩니다.

#include <iostream>

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d", (a && !b)||(!a && b));
    return 0;
}

 

# 두 개의 참 또는 거짓이 입력되었을때, 참/거짓 서로 같은 때에만 참을 출력하는 방법

a, b 모두 참이거나 a, b 모두 거짓일때 참을 출력해야되기 때문에 다음과 같이 작성합니다.

#include <iostream>

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d", (a && b)||(!a && !b));
    return 0;
}

 

# 두 개의 참 또는 거짓이 입력되었을때, 모두 거짓일 경우에만 참을 출력하는 방법

a가 거짓이고, b가 거짓 일때 참을 출력해야되기 때문에 다음과 같이 작성합니다.

#include <iostream>

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d", !a && !b);
    return 0;
}

 

이렇게 C++에서 논리연산을 하는 방법에 대해서 알아봤습니다.

유용하셨다면, 공감과 구독 부탁 드립니다.

감사합니다. :)

댓글