[프로그래밍] 연산자란 무엇인가?

Posted by 대혀니_
2015. 3. 8. 21:27 PROGRAMING/C

오늘은 프로그래밍에서 흔히 말하는 연산자에 대해 알아보겠습니다.


연산자는 프로그래밍을 할때 컴퓨터에게 알려줄 연산기호 입니다.


일반적으로 현실의 기호와는 다릅니다. 이유는 ≤ , ≥ 와 같은 기호를 특수문자에서 찾아가면서 코딩하기에는 너무 시간이 오래걸립니다.


그리고 이러한 기호만 사용하면 한계가 있죠.


서론은 여기 까지하고 이제 기호들을 살펴 봅시다.



 = (같다)"    + (더하기)    -  (빼기)    *[각주:1] (곱하기)    / (나누기)    % (나머지)


처음에 저는 나누기가 어떻게 쓰는지 감이 안와서 (나머지는 보자마자 알았지만)


그래서 알려드립니다.


여러분이 아무수나 입력하게 하고 그중에서 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보다 같거나 큰가?


주의 하셔야 할점은 > , < (꺽새기호) 를 = 보다 앞에 써야합니다. 안그럼 에러떠요.


논리연산자는 AND , OR , NOT 이 있습니다. (역시 거짓이면 0 참이면 1)


AND

A&&B // A,B 가 둘다 참이면 결과로 참을 반환

A||B // A,B 중 하나가 참이면 결과로 참을 반환

A! //A가 참이면 0 거짓이면 1 반환.


참고 1 : ! 은 (팩토리얼 : Factorial) 이란 기호죠 팩토리얼이라고 읽으시면 됩니다.

참고 2 : | 는 PIPE 라는 기호입니다. 쓰시는 방법은 시프트 누르시고 백스페이스 버튼옆에 \ 있죠? 그거 누르시면 되요.

  1. x 와같은 문자로 나타내면 영문과 헷갈리므로 와일드카드(별표) 문자를 사용함. [본문으로]