2015년까지의 글/C Programming

C Programming 연산자 정리

제가 요즘 C언어에 관심이 생겨서

독학을 하던중, 중요한부분은 표로 만들어 가져왔습니다.

인쇄해서 책상밑에끼워두기도 하였습니다.

윤성우님이 저술하신 열혈 C프로그래밍 에 나오는 표을 직접 만들었습니다.




이항 연산자(binary operator)

연산자

연산자의 기능

결합방향

=

연산자 오른쪽에 있는 값을 연산자 왼쪽에 있는 변수에 대입한다.

예) num = 20;

+

두 피연산자의 값을 더한다.

예) num = 4+3;

-

왼쪽의 피연산자 값에서 오른쪽의 피연산자 값을 뺀다.

예) num = 4-3;

*

두 피연산자의 값을 곱한다.

예) num = 4*3;

/

왼쪽의 피연산자 값을 오른쪽의 피연산자 값으로 나눈다.

예) num = 7/3;

%

왼쪽의 피연산자 값을 오른쪽의 피연산자 값으로 나눴을 때 얻게 되는 나머지를 반환한다.

예) num = 7%3;






증가, 감소 연산자

연산자

연산자의 기능

결합방향

++num

값을 1 증가 후, 속한 문장의 나머지를 진행(선 증가, 후 연산)

예) val = ++num;

num++

속한 문장을 먼저 진행한 후, 값을 1 증가(선 연산, 후 증가)

예) val = num++;

--num

값을 1 감소 후, 속한 문장의 나머지를 진행(선 감소, 후 연산)

예) val = --num;

num--

속한 문장을 먼저 진행한 후, 값을 1 감소(선 연산, 후 감소)

예) val = num--;





관계 연산자

참(true): 1

거짓(false): 0

연산자

연산자의 기능

결합방향

<

예) n1 < n2

n1이 n2보다 작은가?

>

예) n1 > n2

n1이 n2보다 큰가?

==

예) n1 == n2

n1과 n2가 같은가?

!=

예) n1 != n2

n1과 n2가 다른가?

<=

예) n1 <= n2

n1이 n2보다 같거나 작은가?

>=

예) n1 >= n2

n1이 n2보다 같거나 큰가?

조건을 만족하면 참(true)을, 만족하지 않으면 거짓(false)을 반환한다.





논리 연산자

연산자

연산자의 기능

결합방향

&&

예) A&&B

A와 B 모두 ‘참이면 연산결과로 ’참‘을 반환(논리 AND)

||

예) A||B

A와 B 둘 중 하나라도 ‘참’이면 연산결과로 ‘참’을 반환(논리 OR)

!

예) !A

A가 ‘참’이면 ‘거짓’, A가 ‘거짓’이면 ‘참’을 반환(논리 NOT)





비트 연산자

연산자

연산자의 기능

결합방향

&

비트단위로 AND 연산을 한다.

예) num1 & num2;

|

비트단위로 OR 연산을 한다.

예) num1 | num2;

^

비트단위로 XOR 연산을 한다.

예) num1 ^ num2;

~

단항 연산자로써 피연산자의 모든 비트를 반전시킨다.

예) ~num; //num은 변화 없음, 반전 결과만 반환

<<

피연산자의 비트 열을 왼쪽으로 이동시킨다.

예) num<<2; //num은 변화 없음, 두 칸 왼쪽 이동 결과만 반환

>>

피연산자의 비트 열을 오른족으로 이동시킨다.

예) num>>2; //num은 변화 없음, 두 칸 오른쪽 이동 결과만 반환





연산자의 우선순위와 결합방향

순위

연산기호

연산자

결합방향

1위

()

함수호출

[]

인덱스

->

간접지정

.

직접지정

++ (postfix)

-- (postfix)

후위증가 및 감소

2위

++ (prefix)

-- (prefix)

전위증가 및 감소

sizeof

바이트 단위 크기 계산

~

비트 단위 NOT

!

논리 NOT

-, +

부호연산(음수와 양수의 표현)

&

주소 연산

*

간접지정 연산

3위

(casting)

자료형 변환

4위

*, /, %

곱셈, 나눗셈 관련 연산

5위

+, -

덧셈, 뺄셈

6위

<<, >>

비트이동

7위

<, >, <=, >=

대소비교

8위

==, !=

동등비교

9위

&

비트 AND

10위

^

비트 XOR

11위

|

비트 OR

12위

&&

논리 AND

13위

||

논리 OR

14위

? :

조건연산

15위

=, +=, -=, *=, /=, %=,

<<=, >>=, &=, ^=, |=

대입연산

16위

,

콤마연산




오늘도 행복한 하루되세요^^