본문 바로가기
프로그래밍언어/C언어

연산자 - 논리 연산자

by J코딩 2021. 9. 11.
반응형

논리 연산자의 종류에는 &&, ||, !와 같이 세 가지가 있습니다.

  • && : AND연산자로서 두 조건이 있을 때 둘 다 조건에 성립해야 함.
    ex) 합격은 서류점수가 60점이상이고, 면접점수가 60점 이상이면 최종합격입니다.
  • || : OR연산자로서 두 조건이 있을 때 둘 중 하나만 조건에 성립하면 됨.
    ex) 최종 합격은 서류점수가 60점이상이거나, 면접점수가 60점 이상이면 최종합격입니다.
  • ! : NOT연산자로서 조건이 있을 때 그 조건과 반대가 됨
    ex) 최종 결과가 합격이면, 불합격, 불합격이면 합격이 됨.


&& 연산자의 결과는 피연산자가 모두 1(참)일 때만 1(참)입니다.

피연산자 연산자 피연산자 결과
0 && 0 0
0 && 1 0
1 && 0 0
1 && 1 1

 

|| 연산자의 결과는 피연산자 둘 중에 하나가 1(참)이면 1(참)입니다.

피연산자 연산자 피연산자 결과
0 || 0 0
0 || 1 1
1 || 0 1
1 || 1 1

! 연산자의 결과는 피연산자가 1(참)이면 0(거짓)이고, 0(거짓)이면 1(참)입니다.

연산자 피연산자 결과
! 0 1
! 1 0

다음 예제를 가지고 논리 연산자의 && 연산, || 연산, ! 연산의 결과가 어떤 형태로 출력되는지 상세히 분석해 봅시다.

11행에서 비교 연산 num1>0과 num2<10을 비교합니다. 변수 num1은 2, num2는 3이므로 2>0이 1(참)이 되고, 3<10도 1(참)이 됩니다. 결과적으로 위 표에 의해서 1 && 1은 1(참)이 되어 변수 result1에 1(참)이 저장됩니다.

 

14행에서 비교 연산 num2<=2와 num3>5를 비교합니다. 변수 num2은 3, num3는 5이므로 3<=2는 0(거짓)이 되고, 5<5도 0(거짓)이 됩니다. 결과적으로 위 표에 의해서 0 || 0은 0(거짓)이 되어 변수 result2에 0(거짓)이 저장됩니다.

 

앞서 0 이와의 값을 참이라고 했습니다.(아래 내용 참조)

https://jcoding7.tistory.com/entry/%EC%97%B0%EC%82%B0%EC%9E%90-%EB%B9%84%EA%B5%90-%EC%97%B0%EC%82%B0%EC%9E%90

 

연산자 - 비교 연산자

인간 세계에서 10이 5보다 큰가? 그렇지 않은가?를 표현할 수 잇다면, 컴퓨터 세계에서는 그것을 어떻게 표현할 수 있을까요? 참과 거짓으로 표현할 수 있습니다. 두 숫자를 비교하여 참(true)과 거

jcoding7.tistory.com

17행에서 변수 num3에 저장된 값은 5입니다. 참일까요? 거짓일까요? 0 이외의 값은 참이므로, 5는 결과적으로 참입니다. !num3은 !5와 같은 표현입니다. 즉, 참을 부정하는 것이므로 거짓을 출력됩니다. 즉 0이 출력됩니다.

논리 연산자는 피연자들의 참과 거짓에 따라 연산의 결과 값을 결정합니다. 논리 연산에 적용되는 피연산자로는 주로 관계 연산이 사용되며, 관계 연산의 결과에 따라 논리 연산의 결과 값이 결정됩니다. 논리 연산자의 결과는 주어진 수식의 결과에 따라 1(참)과 0(거짓)으로 결과를 표현합니다.

반응형

댓글