티스토리 뷰

프로그래밍/c 언어

c언어 정리 기초 - 연산자

주식하는 개발자 2020. 2. 1. 21:50

c언어 정리 기초 - 연산자 

오늘은 c언어에서 값을 비교하거나 계산하는데 사용되는 연산자에대해 알아보겠습니다.

 

 

 

[대입 연산자]

먼저 대입 연사자 입니다.

c언어에서 = 기호를 대입 연산자라고 합니다.

변수에 값을 넣거나 변수에 다른 변수의 값을 넣을때 사용합니다.

다음과 같이

a = 3;

라고 쓰였을 때

 

3을 변수a에 대입한다는 뜻입니다.

이와 같이 =은 오른쪽의 값을 왼쪽에 대입한다는 뜻입니다.

여기서 주의해야할 점은 a는 3과 같다는 뜻이 아니라는 것 입니다.

이것은 뒤에 설명하겠지만, 조건문에서 a와 3이 같다고 표현하려면

a == 3 이와 같이 표현합니다.

 

 

 

[산술 연산자]

+ 더하기 기능
- 빼기 기능
* 곱하기 기능
/ 나눗셈의 몫을 구하는 기능
% 나눗셈의 나머지를 구하는 기능

산술 연산자의 종류는 위의 표와 같습니다.

 

 

예를 들어보면

a = 10+2; // 10에서 2를 더해 a에 대입

a = 10-2; // 10에서 2를 빼서 a에 대입

 

a = 10*2; // 10에서 2를 곱해 a에 대입

 

a = 10/2 // 10에서 2를 나눈 후 몫을 a에 대입

 

a = 10%2 // 10에서 2를 나눈 후 나머지를 a에 대입

위와 같은 예로 쓰일 수 있습니다.

 

 

 

[증감 연산자]

++ 증가 연산자 변수가 가지고 있는 값을 1 증가
-- 감소 연산자 변수가 가지고 있는 값을 1 감소

 

a++ , a-- 이와 같이 쓰이는 것을 증감 연산자라고 합니다.

++를 붙이면 1을 증가시키고,

-- 를 붙이면 1을 감소시키는 역할을 합니다.

 

a++,a-- 이와 같이 연산자가 뒤에 붙는 경우를 후위형이라 하고

++a, --a 이와 같이 연산자가 앞에 붙는 경우를 전위형이라고 합니다.

 

 

 

[관계 연산자]

관계 연산자는 두 값의 크기를 비교하는 역할을 합니다.

< 왼쪽이 오른쪽보다 작으면 참
> 왼쪽이 오른쪽보다 크면 참
<= 왼쪽이 오른쪽보다 작거나 같으면 참
>= 왼쪽이 오른쪽보다 크거나 같으면 참
== 두 값이 같으면 참
!= 두 값이 다르면 참

관계 연산자는 두가지 값을 비교하여 참이면 1이 반환되고 거짓이면 0이 반환됩니다.

 

 

 

[논리 연산자]

&& (and) 양쪽 모두 참이면 참
|| (or) 양쪽 중 하나이상 참이면 참
! (not) 참이면 거짓, 거짓이면 참

논리 연산자는 위와 같이 3가지가 있고 결과를 표로 나타내어 보자면

 

A B && || !
0 0 0 0 1
0 1 0 1 1
1 0 0 1 0
1 1 1 1 0

0은 거짓, 1은 참을 나타냅니다.

 

위와 같은 논리 연산자는 공대생들이라면 매우 친숙한 연산자일 것입니다.

 

 

 

 

[비트 연산자]

& 비트 연산자 AND
| 비트 연산자 OR
   
<< 왼쪽으로 비트 이동
>> 오른쪽으로 비트 이동

 

비트 연산자에 대한 예로

◎ & 연산자는 다음 표와 같습니다.

A B 결과
0 0 0
0 1 0
1 0 0
1 1 1

예를 들어 10진수 값 13과 27을 2진수로 바꾸면

00001101 과 00011011 로 나타낼 수 있습니다.

이 두숫자를 &연산해보면 아래와 같이 9가 나오게 됩니다.

 

    00001101

 & 00011011    

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

    00001001     이와 같은 결과를 볼 수 있습니다.

 

 

 

◎ OR 연산자는 다음과 같습니다.

A B 결과
0 0 0
0 1 1
1 0 1
1 1 1

OR 연산자도 마찬가지로 13과 27로 연산해보면

 

   00001101

& 00011011

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

   00011111           결과가 31이 됩니다.

 

 

 

 

◎ XOR 연산자는 다음과 같습니다.

A B 결과
0 0 0
0 1 1
1 0 1
1 1 0

XOR 연산자는

   

   00001101

& 00011011

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

   00010110   결과가 22가 됩니다.

 

 

 

이상 C언어에서 사용되는 다양한 연산자에대해 정리해보았습니다~:)