2022. 2. 17. 11:08ㆍC
연산자는 변수와 값의 연산을 위해 사용됩니다.
C언어의 연산자는 크게 6가지로 나뉩니다.
- 산술 연산자 (증감 연산자 포함)
- 대입 연산자
- 관계 연산자
- 논리 연산자
- 비트 연산자
- 조건 연산자
산술 연산자
제일 쉬운 연산자입니다. 기본적인 사칙연산을 하는 연산자입니다.
연산자 | 이름 | 설명 | 예시 |
+ | 덧셈 | + 앞뒤에 있는 숫자를 더함 | x + y |
- | 뺄셈 | - 앞뒤에 있는 숫자를 뺌 | x - y |
* | 곱셈 | * 앞뒤에 있는 숫자를 곱함 | x * y |
/ | 나눗셈 | / 앞뒤에 있는 숫자를 나눔 | x / y |
% | 나머지 | % 앞뒤에 있는 숫자를 나눈 결과의 나머지를 구함 | x % y |
++ | 증가 | 변수의 값을 1만큼 증가시킴 | x++ |
-- | 감소 | 변수의 값을 1만큼 감소시킴 | x-- |
대입 연산자
대입 연산자는 변수에 값을 대입(지정)할 때 사용합니다.
변수 편에서 나왔던 이 구문에도 대입 연산자가 사용됐습니다.
int a = 1;
바로 a 라는 정수형 변수에 1을 대입한 것입니다.
대입 연산자는 = 말고도 많은데, 모두 번거로운 타이핑을 줄여주기 위한 의도로 만들어졌습니다.
예를 들어서,
int a = 1;
a = a + 1;
이라는 코드가 있습니다.
그런데, a = a + 1; 을 작성하는게 번거로울 수 있습니다.
그래서, 다음과 같은 구문이 나오게 됩니다.
a += 1;
a = a + 1; 과 역할은 같은 구문이지만 훨씬 간단해졌습니다.
연산자 | 예시 | 다음과 같음 |
= | a = 1 | a = 1 |
+= | a += 1 | a = a + 1; |
-= | a -= 1 | a = a - 1; |
*= | a *= 1 | a = a * 1; |
/= | a /= 1 | a = a / 1; |
%= | a %= 1 | a = a % 1 |
&= | a &= 1 | a = a & 1 |
|= | a |= 1 | a = a | 1 |
^= | a ^= 1 | a = a ^ 1 |
>>= | a >>= 1 | a = a >> 1 |
<<= | a << = 1 | a = a << 1 |
%= 이후에는 모르는 연산자들이 나오는데, 곧 다룰 비트 연산자들입니다.
관계 연산자
두 값을 비교하는데 사용됩니다. 비교 연산자라고도 합니다.
관계 연산자로 비교를 했을 때는 0 (False, 거짓) 또는 1 (True, 참)을 출력하게 되는데,
다음 예시를 보면
int a = 2;
int b = 3;
printf("%d", a > b");
> 라는 관계 연산자를 사용해서 a가 b보다 큰지 확인했습니다.
a는 2이고 b는 3인데 2는 3보다 작으므로 출력값은 0 입니다.
연산자 | 명칭 | 예시 |
== | 같다 | a == b |
!= | 같지 않다 | a != b |
> | ~보다 크다 | a > b |
< | ~보다 작다 | a < b |
>= | ~보다 작지 않다 | a >= b |
<= | ~보다 크지 않다 | a <= b |
논리 연산자
논리 연산자는 두 변수 또는 값 사이의 논리 관계를 파악하는 연산자입니다.
연산자 | 이름 | 설명 | 예시 |
&& | 그리고 | 두 조건이 모두 참이면 1반환 | a > b && b > c |
|| | 또는 | 두 조건 중 하나라도 참이면 1 반환 | a > b || b < c |
! | 아니다 | 참(1)이면 거짓(0)을, 거짓(0)이면 참(1)을 반환 |
!(a > b && b > c) |
비트 연산자
비트 연산자는 데이터를 비트 단위로 처리하는 연산자입니다. 비트 연산자에는 비트 논리 연산자와 비트 이동 연산자가 있습니다. 비트 논리 연산자에는 &(AND, 논리곱), |(OR, 논리합), ^(XOR, 배타적 논리합), ~(NOT, 부정)연산자가 있고 비트 이동 연산자에는 왼쪽 시프트(<<)연산자와 오른쪽 시프트(>>)연산자가 있습니다.
비트 연산자는 어려운 개념이고, 기초저인 C 프로그램을 할 때는 거의 필요하지 않아 추후 비트의 개념에 대해 알아보며 다시 돌아오겠습니다.
sizeof() 함수
연산자이자 함수입니다. 필수적으로 외워야 하는 함수 중 하나라고 생각해 작성합니다.
이 함수는 자료형이나 변수의 메모리 크기를 바이트로 나타냅니다.
메모리에 대해선 추후 강의에서 자세히 설명하겠으나, 지금은 변수 편에서 알아본 변수 표를 사용해 맛만 보겠습니다.
2022.02.16 - [C] - 4. C 변수와 자료형
4. C 변수와 자료형
변수의 사전적 의미는 "변할 수 있는 수" 입니다. 하지만 코딩에서 변수는 데이터 값을 담는 상자라고 보면 편합니다. C 언어에서는 서로 다른 키워드로 표현되는 여러 가지 종류의 변수가 있습
tjwhang.tistory.com
int integer;
float floatingPoint;
double doubleFloat;
char character;
printf("%lu\n", sizeof(integer));
printf("%lu\n", sizeof(floatingPoint));
printf("%lu\n", sizeof(doubleFloat));
printf("%lu\n", sizeof(character));
실행 결과는?
4
4
8
1
이 코드에서 메모리 크기를 출력하기 위해 사용한 %lu는 unsigned long 형을 출력하는 형식 지정자입니다.
%d 연산자를 사용해도 실행이 될테지만, %lu를 사용하는 것이 더 안전합니다.
다음 강의에서는 조건문에 대해 알아보도록 하겠습니다.
'C' 카테고리의 다른 글
7. C 반복문 (0) | 2022.02.21 |
---|---|
6. C 조건문 (if, else, else if, switch) (0) | 2022.02.19 |
4. C 변수와 자료형 (0) | 2022.02.16 |
3. C 출력 (글자 띄우기) - printf() 함수 (0) | 2022.02.16 |
2. C의 문법 (0) | 2022.02.16 |