C언어) 7. C언어 연산자 종류(복합, 증감, 논리 등)
프로그래밍을 하는 주요 이유 중 하나는
사람이 계산하기 귀찮고 힘들어서 기계에게 맡기기 위해 하는 이유다.
그래서 컴퓨터에게 계산을 시키기 위해
우리는 각종 수식과 연산자들을 알아야 한다.
1. 기본(산술) 연산자
**추가) %은 나누기가 아닌 나머지 값 연산자.
10을 3으로 나누면 몫이 3, 나머지가 1.
10 / 3 = 3
10 % 3 =1
같은 나누기 관련 연산자지만, 출력값이 다르다.
2. 비교(관계) 연산자
왼쪽과 오른쪽을 서로 비교하여 참이면 1, 거짓이면 0을 출력한다.
3. 복합 대입 연산자
산술연산자와 대입연산자(=)를 합져서 줄여쓴 것.
프로그래밍을 보기에 간편해야 하기에 줄여서 많이 사용한다.
**C언어에서" ="은 같다의 표시가 아닌, 대입연산자.
따라서 같다의 표시는 "=="으로 힌다.
예) 10 == 10
4. 논리 연산자
비교 연산자를 2개 이상 사용할때 사용하는 연산자.
&&: and(그리고)연산자. 양쪽 둘다 참일때 1을 출력하고,
둘 중 하나라도 거짓이면 0을 출력.
||: or(또는)연산자. 둘 중 하나라고 참이면 1을 출력하고,
둘다 거짓이면 0을 출력.
(** || 는 키보드의 [\키+shift키]를 동시에!)
!: not(부정)연산자. 반대로 출력.
참일 경우 0을 출력, 거짓이면 1을 출력.
"a > b" 는 10 > 5이므로 참이고
"a < b"는 10> 5이므로 거짓이다.
&&에서 둘다 참이 아니었으므로 0이 출력되었고
||에서 둘 중 하나가 참이었으므로 1이 출력되었고
!에서 참인데 반대로 돌려서 0이 출력되었다.
5. 증감 연산자
1씩 증가하거나 1씩 감소하는 연산자.
전위증감: 해당 라인에서 1증가합니다. ex)++a
후위증감: 다음라인에서 1증가합니다. ex)a++
일단 아래 예제를 보면
a와 b의 초기 값은 둘 다 5이다.
a는 ++a로 전위 증감을 했기에 해당라인에서 바로 +1을 하고 => 5+1 = 6
b는 b++로 후위 증감을 했기때문에 다음라인에서 +1을 하여 6이된다.
6. 연산자 우선순위
연산자가 한줄에 여러개 있으면 컴퓨터는 어떤것부터 처리할까?
[ ] ( )괄호 -> 증감연산자 -> 산술연산자 -> 비교연산자 -> 논리연산자 -> 복합연산자
연산자는 앞으로 C언어뿐 아니라 프로그래밍에서 완전 기초이기에
실습을 통해 확실히 익혀둬야한다.