소개
안녕하세요 아임코딩입니다.
이번에는 C언어에서 제공하는 논리 연산자에 대해서 알아보도록 하겠습니다.
논리 연산자란?
논리 연산자는 참 혹은 거짓 값을 이용하여 연산을 하는 방법입니다.
C언어에서는 참 혹은 거짓 값을 저장할 수 있는 bool 자료형을 제공합니다.
이 bool 자료형을 이용하여 논리 연산을 진행할 수 있습니다.
AND 연산자 &&
AND 연산은 우리나라 말로는 그리고 라는 뜻입니다.
AND 연산은 연산하는 두 피연산자가 모두 참일 때만 결과가 참인 연산입니다.
true and true == true
true and false == false
false and true == false
false and false == false
And 연산의 4가지 경우를 나타내면 위와 같습니다.
And 연산은 두 값이 모두 참일 때만 결과가 참이 됩니다.
C언어에서는 이 And 연산을 && 기호로 사용합니다.
코드를 통해서 이를 확인해보도록 하겠습니다.
코드는 아래와 같습니다.
#include<stdio.h>
void main()
{
bool T = true;
bool F = false;
printf("%d\n", T && T);
printf("%d\n", T && F);
printf("%d\n", F && T);
printf("%d\n", F && F);
}
코드와 코드 실행 화면을 확인해보면
T && T == 1
T && F == 0
F && T == 0
F && F == 0
으로 결과가 잘 나온 것을 확인할 수 있습니다.
C언어에서는 0은 거짓, 0을 제외한 모든 숫자(1이 대표적)를 참으로 봅니다.
OR 연산자 ||
OR 연산은 우리나라 말로는 또는 이라는 뜻입니다.
OR 연산은 연산하는 두 피연산자 중 하나라도 참이면 결과가 참인 연산입니다.
true or true == true
true or false == true
false or true == true
false or false == false
OR 연산의 4가지 경우를 나타내면 위와 같습니다.
OR 연산은 두 값 중 하나라도 참이면 결과가 참이 됩니다.
C언어에서는 이 OR 연산을 || 기호로 사용합니다.
코드를 통해서 이를 확인해보도록 하겠습니다.
코드는 아래와 같습니다.
#include<stdio.h>
void main()
{
bool T = true;
bool F = false;
printf("%d\n", T || T);
printf("%d\n", T || F);
printf("%d\n", F || T);
printf("%d\n", F || F);
}
코드와 코드 실행 화면을 확인해보면
T && T == 1
T && F == 1
F && T == 1
F && F == 0
으로 결과가 잘 나온 것을 확인할 수 있습니다.
C언어에서는 0은 거짓, 0을 제외한 모든 숫자(1이 대표적)를 참으로 봅니다.
NOT 연산자 !
NOT 연산은 우리나라 말로는 아니다 라는 뜻입니다.
NOT 연산은 피연산자가 참이면 결과를 거짓으로, 피연산자가 거짓이면 결과를 참으로 반환합니다.
not true == false
not false == true
NOT 연산의 2가지 경우를 나타내면 다음과 같습니다.
참을 not 연산을 하면 거짓으로, 거짓을 not 연산을 하면 참으로 결과가 나옵니다.
C언어에서는 이 NOT 연산을 ! 기호로 사용합니다.
코드를 통해서 이를 확인해보도록 하겠습니다.
코드는 아래와 같습니다.
#include<stdio.h>
void main()
{
bool T = true;
bool F = false;
printf("%d\n", !T);
printf("%d\n", !F);
}
코드와 코드 실행 화면을 확인해보면
! T == 0
! F == 1
으로 결과가 잘 나온 것을 확인할 수 있습니다.
C언어에서는 0은 거짓, 0을 제외한 모든 숫자(1이 대표적)를 참으로 봅니다.
'프로그래밍 > C' 카테고리의 다른 글
[C언어] 조건문 if (0) | 2024.01.27 |
---|---|
[C언어] 비교 연산자 ==, !=, <, <=, >, >= (0) | 2024.01.26 |
[c언어] 변수 사용 방법 (0) | 2024.01.26 |
[c언어] scanf() 오류 C4996 'scanf': This function or variable may be unsafe. (0) | 2024.01.26 |
[c언어] visual studio scanf() 오류 해결 (0) | 2024.01.26 |