2007. 3. 17. 09:21

1] 연산자의 우선 순위(int)
하나의 수식에 여러 개의 연산자가 있을 때는 우선 순위에 따라 연산이 실행된다.
연산자의 종류 순위 연산자 결합순서

1 기본 ( ), [ ], -> 좌에서 우로
2 단항연산자 !, -, ++, --, -(type), *, &, sizeof 우에서 좌로
3 산술연산자 *, /, +, - 좌에서 우로
4 이동연산자 >>, << 좌에서 우로
5 관계연산자 <, <=, >, >=, ==, != 좌에서 우로
6 비트연산자 &,^,| 좌에서 우로
7 논리연산자!, &&, || 좌에서 우로
8 복합배정연산자=, +=, -=, *=, /=, %=, |=, ^=, &=, >>=, <<= 우에서 좌로
9 콤마연산자 , 좌에서 우로

2] 산술연산자(int)
대상 변수, 상수, 함수간에 산술적인 처리를 지시하는 연산자(+, -, *, /)를 말한다.

1) 이항 연산자
두개의 데이터를 대상으로 산술적인 처리를 지시하는 연산자

ex) +, -, *, /, %
형식 : 변수 = 수식1 이항연산자 수식2
% : 나머지 계산 이항 연산자 x=b%c; b를 c로 나누어서 나머지를 x에 기억시킨다.

2) 단항 연산자
C언어에서만 존재하는 연산자로 1개의 데이터만을 대상으로 산술적인 처리를 수행하는 연산자

형식 : 단항연산자 수식1; 수식2 단항연산자;

연산자 기능 사용 수식
++ 1만큼 증가 a++; 또는 ++a; a=a+1;
-- 1만큼 감소 a--; 또는 --a; a=a-1;
- 부호를 바꿈 b=-a;

3) 할당 연산자 : 연산자 기능 사용 수식

= 우변의 값을 좌변에 기억한다. x=b;
+= 좌변에 우변을 더하여 그 결과를 좌변에 기억 x+=y; x=x+y;
-= 좌변에 우변을 뺀 다음 그 결과를 좌변에 기억 x-=y; x=x-y;
*= 좌변에 우변을 곱하여 그 결과를 좌변에 기억 x*=y; x=x*y;
/= 좌변에 우변을 나누어 그 결과를 좌변에 기억 x/=y; x=x/y;
%= 좌변에 우변을 나누어 나머지를 좌변에 기억 x%=y; x=x%y;

3] 논리연산자(logical operator)
복수 개의 조건을 동시에 결합하여 판정하고자 하는데 사용하는 연산자

형식 : 수식1 && 수식2;

연산자 기능 사용 설명
&& 논리곱(AND) x=y && z; 두개의 조건이 모두 참인 경우
|| 논리합(OR) x=y || z; 한개의 조건만 참인 경우
! 논리부정(NOT) x= !y; 현재 사실에 대한 부정의 경우

4] 관계연산자(Relational Operator)
두 데이터의 대소 관계, 동 관계 등을 비교하는 연산자 연산자 기능 복사식

> -보다 크다. x=(y>z);
< -보다 작다. x=(y<z);
>= -보다 크거나 같다. x=(y>=z);
<= -보다 작거나 같다. x=(y<=z);
== -와 같다. x=(y==z);
!= -와 같지 않다. x=(y!=z);

&&와 ||는 A && B, A || B라는 형식으로 쓰이는 이항연산자이지만 !는 !A라는 형식으로 쓰이는 단항연산자 입니다.
이항연산자는 항이 두개 필요한 것, 대표적으로 더하기, 빼기, 곱하기, 나누기 등이 있고, 단항연산자는 항이 하나만 필요한 것, 대표적으로 마이너스 부호 (빼기와는 다르죠?), NOT연산자 (!)등이 있습니다.

'STUDY > C 언어' 카테고리의 다른 글

논리연산식의 표현방법  (0) 2007.03.30
연산자 3  (0) 2007.03.17
연산자 1  (0) 2007.03.16
데이터형 구조  (0) 2007.03.16
명령어 이해 - volatile  (0) 2007.03.09
Posted by Paul Hwang