etc
posted by Junction 2012. 4. 2. 11:21


모든 연산(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