모든 연산(operation)은 연산자(operator)와 피연산자(operand)로 구성되며 일반 적으로 하나의 연산자와 두 개의 피연산자로 구성되는 이항 연산이 보통이다.
C언어에서 연산자는 기본적으로 산술 연산자, 관계연산자, 논리 연산자가 있으며 특벽히 다른 언어에서 볼 수 없는 단항 연산자 혹은 삼항 연산자 등 다양한 연산자가 있다.
산술 연산자( +,-,*,/,% )
산술 연산자에는 사칙연산을 위한 덧셈,(+) 뺄셈(-), 곱셈(*), 나눗셈(/) 연산자와 나머지 값을 구하는 잉여 연산자(%)가 있다.
관계 연산자
관계 연산자는 두 피연산자 사이의 대소 관계를 비교하여 참(true) 혹은 거짓(false)으로 판정하는 연산자로서 다음과 같은 것들이 있다. 판정 결과가 참이면 1, 거짓이면 0의 값을 갖게 된다.
== : 같다.
!= : 같지 않다.
> : 크다.
>= : 크거나 같다.
< : 작다.
<= : 작거나 같다.
논리 연산자
논리 연산자는 두 개의 피연산자 사이 혹은 한 개의 피연산자에 대하여 논리적으로 연산을 해서 참(true)혹은 거짓(false)으로 판정하는 연산자로서 다음과 같은 것들이 있다. 판정 결과가 참이면 1, 거짓이면 0의 값을 갖게 된다.
&& : 바이트 단위의 AND 연산
|| : 바이트 단위의 OR 연산
! : 바이트 단위의 NOT 연산
기타 연산자
증가 연산자와 감소 연산자(++,--)
증가 연산자와 감소 연산자는 변수의 값에 1을 증가 혹은 감소하여 그 값을 변수에 대입하는 연산자로서 연산자를 변수의 앞과 뒤에 사용할 경우에는 그 의미상에 차이가 있다. 즉, 변수 앞에 연산자를 사용하면 그 변수에 먼저 1을 더하거나 빼게 되며, 변수 뒤에 사용하면 그 변수를 사용한 후 1을 더하거나 빼게 된다.
산술 치환 연산자( +=, -=, *=, /=, %= )
산술 치환 연산자는 산술 연산자와 치환 연산자를 결합시킨 것으로 좌변과 우변의 피산자에 대해 산술 연산을 수행한 후 그 결과값을 좌변의 피연산자에 치환하는 연산자이다.
비트 연산자( &, |, ^, ~, <<, >> )
비트 연산자는 비트 단위로 논리 연산을 수행하는 연산자로서 다음과 같은 것이 있다.
& : 비트 단위의 AND연산
| : 비트 단위의 OR연산
^ : 비트 단위의 XOR연산
~: 비트 단위의 1의 보수
<<: 비트 단위의 왼쪽 이동
>>: 비트 단위의 오른쪽 이동
비트 연산을 수행할 때 다음과 같은 과정으로 진행된다.
1. 이동 연산의 경우 숫자의 부호를 나타내는 가장 왼쪽 비트는 이동되지 않는다.
2. 왼쪽으로 이동(<<)할 경우, 오른쪽 끝의 빈자리는 0으로 채워진다.
3. 오른쪽으로 이동(>>)할 경우, 왼쪽 끝의 빈 자리는 부호와 같은 비트(양수는 0, 음수는 1) 로 채워진다.
삼항 연산자(? : )
삼한 연산자는 세 개의 피연산자를 갖는다. 첫번째 피연산자는 조건을 나타낸다.
만약 이 조건이 참(true)이면 두번째 피연산자를 선택하고, 거짓(false)이면 세번째 피연산자를 선택한다.
콤마 연산자(,)
콤마 연산자는 여러 개의 연산식을 연결하여 하나의 문장으로 사용할 수 있도록 한다. 이때 콤마로 분리된 연산식은 앞에서부터 차례대로 연산되며 이 문장의 결과 값은 마지막 연산의 값이 된다.
sizeof 연산자
sizeof 연산자는 데이타의 크기를 바이트 수로 나타내 주는 연산자이다.
'etc' 카테고리의 다른 글
제어문 ( Control Statement ) (0) | 2012.04.04 |
---|---|
표준 입출력 함수 (0) | 2012.04.03 |
변수 ( Variable ) (0) | 2012.03.27 |
상수 ( Constant ) (0) | 2012.03.26 |
C프로그래램의 구조 (0) | 2012.03.26 |