009.C 등가연산자, 관계연산자, 조건연산자, 논리연산자
이전 006 강의에서 연산자와 오퍼랜드에 대해서 알아보았습니다.
산술 연산자와 대입 연산자에 대해서 간단하게 설명드렸었는데
이번에는 조건문에서 자주 사용하는 다양한 연산자들에 대해서도 알아보려고 합니다.
<등가 연산자>
== 연산자 : 양쪽 값이 같다면 1, 그렇지 않다면 0
!= 연산자 : 양쪽 값이 다르다면 1, 그렇지 않다면 0
<관계 연산자>
< 연산자 : 왼쪽 오퍼랜드가 오른쪽 오퍼랜드보다 작으면 1, 그렇지 않으면 0
> 연산자 : 왼쪽 오퍼랜드가 오른쪽 오퍼랜드보다 크면 1, 그렇지 않으면 0
<= 연산자 : 왼쪽 오퍼랜드가 오른쪽 오퍼랜드보다 작거나 같으면 1, 그렇지 않으면 0
>= 연산자 : 왼쪽 오퍼랜드가 오른쪽 오퍼랜드보다 크거나 같으면 1, 그렇지 않으면 0
등가 연산자과 관계 연산자의 사용 예제는 008 강의의 3번 예제인 "양수 0 음수 판별"을 보시면 됩니다.
단순한 수학적인 연산자이기 때문에 크게 설명드릴 부분은 없는 것 같습니다.
<조건 연산자>
a ? b : c : a가 0이 아니면, b를 평가한 값, 그렇지 않으면 c를 평가한 값
이 연산자는 독특하게 사용할 수 있습니다.
a부분에 등가 연산자나 관계 연산자 등을 사용한 식을 넣어서 판별을 한 뒤 1이면 b 식을, 그렇지 않다면 c식를 대입하는 방식으로 사용할 수 있습니다.
<예제 1> 큰 정수를 판별하는 프로그램
이런 식으로 사용하는 것이 가능하다는 점이 이 연산자의 장점입니다.
<논리 연산자>
논리 연산자는 두 가지로 나누어 집니다.
논리 AND 연산자와 논리 OR 연산자가 있으며 이들은 각각 &&와 ||을 사용합니다.
&& 연산자 : 평가한 값이 모두 1이면 1, 그렇지 않다면 0
|| 연산자 : 평가한 값 중 하나라도 1이면 1, 그렇지 않다면 0
논리 연산자의 개념은 이산수학에서의 것과 동일합니다.
그렇기 때문에 이산수학에 대해 이해를 하고 있다면 쉽게 이해할 수 있는 부분이기도 합니다만
이산수학을 굳이 모르더라도 상관은 없습니다.
논리 연산자를 이해하기 쉽게 설명하자면 AND 연산자는 모두 성립해야 1을 리턴하는 연산자이며, OR 연산자는 하나라도 만족하면 1을 반환하는 연산자입니다.
<예제 2> 월을 입력하면 계절을 알려주는 프로그램
논리 연산자를 통해서 월에 대응되는 계절을 설정해두었습니다.
각각의 월을 적어서 논리 OR 연산자로 지정해줘도 되지만, 연속된 정수이기 때문에 논리 AND 연산자로 월을 지정해주는 것이 편리합니다.
만약 불연속적인 수라면 논리 OR 연산자로 지정해야만 할 겁니다.
하지만 위 같은 프로그램에서는 논리 AND 연산자를 사용하시는 것 추천드립니다.
'KAITE.til > C Language' 카테고리의 다른 글
008.C if 조건문 총 정리 (if문, if - else문, if- else if - else문) (0) | 2018.08.28 |
---|---|
007.C 격상과 캐스트 (0) | 2018.08.25 |
006.C 연산자와 오퍼랜드 (0) | 2018.08.22 |
005.C 입력과 출력 함수 (scanf, printf, puts 정리) (0) | 2018.08.21 |
004.C 변수와 자료형 (0) | 2018.08.20 |
댓글
이 글 공유하기
다른 글
-
008.C if 조건문 총 정리 (if문, if - else문, if- else if - else문)
008.C if 조건문 총 정리 (if문, if - else문, if- else if - else문)
2018.08.28 -
007.C 격상과 캐스트
007.C 격상과 캐스트
2018.08.25 -
006.C 연산자와 오퍼랜드
006.C 연산자와 오퍼랜드
2018.08.22 -
005.C 입력과 출력 함수 (scanf, printf, puts 정리)
005.C 입력과 출력 함수 (scanf, printf, puts 정리)
2018.08.21