연산자

 C에서 사용하는 연산자는 산술 연산자, 대입 연산자, 증감 연산자, 관계 연산자와 논리연산자, 비트 연산자가 있습니다.


- 산술 연산자

 산술연산자는 덧셈, 뺄셈, 곱셈, 나눗셈 등을 수행하는 연산자로 아래 표와 같은 연산자 들이 있습니다. 덧셈과 뺄셈은 동일하고 곱셈과 나눗셈은 컴퓨터 계산기에서 사용하는 것과 같이 각각 '*', '/'를 사용합니다.

수학

C언어 

사용 예 

 +

 +

 a+b

 -

 -

 a-b

 ×

 *

 a*b

 ÷

 /

 a/b

정수에서만 가능한 나머지 연산도 있습니다. '%' 기호를 사용하는데 4%3 을 할경우 나머지인 1이 출력됩니다. 추가로 %기호를 printf함수로 출력을 하려면 다음과 같이 %를 두개 써줘야합니다.

printf("%d %% %d");


- 대입 연산자

 대입연산자는 간단합니다. 변수에 값을 저장하거나, 변경할때 사용합니다.

변수=식; 과같이 사용하며, a=7; a=a+1; 과같이 사용합니다.


- 증감 연산자

 증감 연산자는 증가 연산자와 감소 연산자가 있습니다. 증가 연산자는 ++를 이용해 값을 1을 증가시키고 감소 연산자는 --를 이용해 값을 1 감소시킵니다. 주로 조건문이나, 반복문에서 많이 사용합니다. 증감 연산자는 전위 연산과 후위 연산이 있습니다. 아래 코드를 통해 살펴보겠습니다.

-------------------------------------------------------------------------------------------

#include <stdio.h>

int main()
{
int a = 10, b = 10, c = 10, d = 10;
int x;

x = a++;
printf("x : %d a : %d\n", x, a);
x = ++b;
printf("x : %d b : %d\n", x, b);
x = c--;
printf("x : %d c : %d\n", x, c);
x = --d;
printf("x : %d d : %d\n", x, d);
}

-------------------------------------------------------------------------------------------

++와 --를 앞에쓰면 전위연산 뒤에쓰면 후위연산이라고 부르는데, 전위연산은 계산을 먼저하고 값을 저장하고, 후위연산은 계산하기전에 값을 저장 한 후 연산합니다. 그래서 a에서의 후위연산이라 x=10 a=11 b에서는 전위연산이라 x=11 b=11이 저장된걸 확인 할 수 있습니다.



- 관계 연산자

 관계 연산자는 왼쪽과 오른쪽 항을 비교하는 연산자로 아래 표와 같습니다. a와 b가 같다고 할때 "=="으로 쓰는 이유는 대입연산자에서 "="기호를 사용하기 때문입니다. 관계연산자 에서 조건을 만족하면 True인 1을 거짓이면 Fasle인 0을 반환합니다.

 

 수학

 C 언어

 A가 B보다 작다

 A < B

A < B

 A가 B보다 크다

 A > B

A > B

 A와 B가 같다

 A = B

A == B

 A와 B가 같지 않다.

 A ≠ B

A != B

 A가 B보다 작거나 같다.

 A ≦ B

A <= B

 A가 B보다 크거나 같다.

 A ≧ B

A >= B 


- 논리 연산자

 논리 연산자에는 AND, OR, NOT 세가지가 있습니다. 아래와 같이 표기합니다. 관계 연산자와 같이 AND,OR연산자가 참일경우 1을 반환하고 거짓일 경우 0을 반환하며, NOT연산자는 A가 거짓일경우 1을 반환하고 참일경우 0을 반환 합니다.

 논리 연산자

 표기

 의미

 AND

 A && B

 A와 B 모두 참이다

 OR

 A || B

 A또는 B가 참이다

 NOT

 !A

 A는 거짓이다

 AND연산자는 왼쪽항이 거짓인 경우, 오른쪽 항을 계산하지 않으며, OR연산자 역시 왼쪽항이 참이면 오른쪽 항을 계산하지 않습니다.


- 비트 연산자

비트 연산자는 이진수의 계산에서 사용되며, 6가지가 있습니다.

 비트 연산자

표기 

 의미

비트 단위 AND 연산 

 비교하는 비트가 모두 1일경우 1

비트 단위 OR 연산

 비교하는 비트중 하나라도 1일경우 1

비트단위 XOR 연산

 비교하는 비트가 다를경우 1 같을경우 0

비트단위 NOT 연산 

 비트를 반전 1->0, 0->1

왼쪽으로 시프트

<< 

 왼쪽으로 시프트하면 시프트하는만큼 비트가 이동

오른쪽으로 시프트 

>> 

  왼쪽으로 시프트하면 시프트하는만큼 비트가 이동

 시프트 연산은 왼쪽으로 1번 시프트할경우 2배 증가되며 오른쪽은 2배 감소합니다.


* 출처 : 한국기술교육대학교 온라인평생교육원 C 프로그래밍_1 

          스타일 C프로그래밍 저.김종훈,김종진 출.WellBook




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

[C] 반복문  (0) 2016.12.18
[C] 조건문  (0) 2016.12.17
[C] 입출력함수, 기본자료형, 형변환  (0) 2016.12.15
[C] C 기본개념(2) 라이브러리와 변수  (0) 2016.12.12
[C] C 기본개념 및 실습환경  (0) 2016.12.07

+ Recent posts