문제1052--[기초-논리 연산] 참 거짓 바꾸기(설명)(C)

1052: [기초-논리 연산] 참 거짓 바꾸기(설명)(C)

[만든사람 : 전현석, 정종광(채점데이터 및 확인), 배준호(확인), 최웅선(확인), 김지혜(그림) (2013)]
시간제한 : 1.000 sec  메모리제한 : 128 MiB

문제 설명

본 문제는 C 의 빠른 기초 학습을 위해 설계된 문제로서 C 코드 제출을 기준으로 설명되어 있습니다.
------

1(true, 참) 또는 0(false, 거짓) 이 입력되었을 때
반대로 출력하는 프로그램을 작성해보자.
예시
...
printf("%d", !0);     //거짓의 반대, 즉 참인 1로 계산됨
printf("%d", !1);     //참의 반대, 즉 거짓인 0으로 계산됨
printf("%d", !999); //참의 반대, 즉 거짓인 0으로 계산됨
...


참고
C언어에서 비교/관계 연산(==, !=, >, <, >=, <=)이 수행될 때,
0은 거짓(false)으로 평가되고, 0이 아닌 모든 수는 참(true)으로 평가된다.

true 또는 false 의 불 논리값을 역(반대)으로 바꾸기 위해서 논리(logical) 연산자 !를 사용할 수 있다.

어떤 불 값이나 변수에 !true, !false, !a 와 같은 계산이 가능하다. 
true 또는 false 의 불 값을 반대로 바꾸기 위해서 ! 연산자를 사용할 수 있다.
이러한 논리 연산을 NOT(not, negation, logical complement) 연산 이라고 한다.  
not P, !P, P', ¬p, ~P, Pc, (P 문자위에 가로 막대기 기호) 등으로 표시한다. 모두 같은 의미이다. 

정수값 0 은 false 로 평가되고, 나머지 정수 값들은 true 로 평가된다. 

불(boolean) 값을 다루는 논리 연산자(logical operator)로는 !(not), &&(and), ||(or) 이 있고,
불 값들 사이의 논리(not, and, or) 연산 결과도 마찬가지로 true 또는 false 의 불 값으로 계산 된다.

** 불 대수(boolean algebra)는 수학자 불이 만들어낸 것으로 true, false 값과 그 값들 사이의 계산을 다룬다.

입력 설명

정수 1개가 입력된다.
(단, 0 또는 1 만 입력된다.)

출력 설명

입력된 값이 0이면 1, 1 이면 0을 출력한다.

입력 예시 Copy

1

출력 예시 Copy

0

도움

기초100제(c)1 v1.5 : 정보교사 커뮤니티 @컴퓨터과학사랑(CSL)
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.

출처/분류