[프로그래밍] 연산자란 무엇인가?
오늘은 프로그래밍에서 흔히 말하는 연산자에 대해 알아보겠습니다.
연산자는 프로그래밍을 할때 컴퓨터에게 알려줄 연산기호 입니다.
일반적으로 현실의 기호와는 다릅니다. 이유는 ≤ , ≥ 와 같은 기호를 특수문자에서 찾아가면서 코딩하기에는 너무 시간이 오래걸립니다.
그리고 이러한 기호만 사용하면 한계가 있죠.
서론은 여기 까지하고 이제 기호들을 살펴 봅시다.
처음에 저는 나누기가 어떻게 쓰는지 감이 안와서 (나머지는 보자마자 알았지만)
그래서 알려드립니다.
여러분이 아무수나 입력하게 하고 그중에서 1~100 사이의 수로 만들어서 프로그램의 조건을 설정하려고 하면,
아무수%100 와 함께 입력하면 100으로 모든수를 나눈 나머지 값이 남게 되고 그것을 저장/출력 합니다.
이런씩으로 보통 사용하죠 (설명이 어려우시면 댓글다세요, 이해 하실때까지 설명 가능합니다)
복합기호들입니다.
*= , /= , %= , += , -=
딱히 어려울것은 없고요. 이런식입니다.
numA *= 1
은 numA = numA * 1 와 같습니다.
별거 아닌거같지만 이 연산자를 사용 안하나 하나에 따라서 대형 프로그램들의 속도가 달라집니다.
컴퓨터에서는 복합 연산자를 사용하는것을 더 빠르게 처리하죠.
증가 연산자
num++ : 해당 숫자에 1을 더합니다. (선연산 후증가)
++num : 해당 숫자에 1을 더합니다. (선증가 후연산)
--num : 해당 숫자에 1을 뺍니다. (선감소 후연산)
num-- : 해당 숫자에 1을 뺍니다. (선연산 후감소)
앞에 붙은것과 뒤에 붙은것은 말그대로 먼저 더하고 계산하냐 아니면 기존값을 계산후에 1을 증가하냐 인데....
딱히 상관없습니다. 취향대로 쓰세요. (저는 num++ 와 같은 형식을 선호합니다)
관계 연산자 (거짓이면 값을 0으로 반환 사실이면 값을 1로 반환합니다)
< | n1<n2 n1이 n2보다 작은가? |
> | n1>n2 n1이 n2보다 큰가? |
== | n1==n2 n1이 n2보다 같은가? |
!= | n1 != n2 n1이 n2보가 다른가? |
<= | n1<=n2 n1이 n2보다 같거나 작은가? |
>= | n1>=n2 n1이 n2보다 같거나 큰가? [출처] [C언어]6.연산자|작성자 물리는 생활이다 |
주의 하셔야 할점은 > , < (꺽새기호) 를 = 보다 앞에 써야합니다. 안그럼 에러떠요.
논리연산자는 AND , OR , NOT 이 있습니다. (역시 거짓이면 0 참이면 1)
AND
A&&B // A,B 가 둘다 참이면 결과로 참을 반환
A||B // A,B 중 하나가 참이면 결과로 참을 반환
A! //A가 참이면 0 거짓이면 1 반환.
참고 1 : ! 은 (팩토리얼 : Factorial) 이란 기호죠 팩토리얼이라고 읽으시면 됩니다.
참고 2 : | 는 PIPE 라는 기호입니다. 쓰시는 방법은 시프트 누르시고 백스페이스 버튼옆에 \ 있죠? 그거 누르시면 되요.
- x 와같은 문자로 나타내면 영문과 헷갈리므로 와일드카드(별표) 문자를 사용함. [본문으로]