C언어 : 5. 연산자

2026. 5. 19. 00:06·C/Study

안녕하세요.

이번에는 변수와 변수의 연결고리인 연산자를 정리하겠습니다.

 

1. 용어 정리

int num;
num = 210;

> 참고 예제

 

 1) 좌변값(L-Value)

  • 좌변값은 대입 연산자 왼쪽에 올 수 있는 값을 말합니다.
  • 위의 변수 num 을 예로 들 수 있습니다.
  • 실제 주소를 가진 데이터 객체입니다.
  • 변수만이 올 수 있고, 상수는 올 수 없습니다.(상수는 저장 위치 변경 대상이 아니기 때문입니다.)

 2) 우변값(R-Value)

  • 우변값은 대입 연산자 오른쪽에 올 수 있는 값을 말합니다.
  • 위의 상수 210 을 예로 들 수 있습니다.
  • 읽기만 가능한 값만을 사용할 수 있습니다.
  • 따라서 상수와 변수 전부 올 수 있습니다.

 3) 피연산자(Operand)

  • 연산자의 대상이 되는 것들을 의미합니다.
  • 위의 예에서는 변수 num 과 상수 210 이 피연산자라고 볼 수 있습니다.

2. 이항 연산자

  • 이항 연산자란 피연산자가 2개인 연산자를 말합니다.
  • 예를 들어 1 + 2 라는 덧셈을 보았을 때, + 가 연산자, 1 과 2는 피연산자가 됩니다.
더보기

1. 대입 연산자 : =

 1) 의미

  • 대입 연산자란 변수에 값을 대입하는 것을 말합니다.

 2) 사용구조

int num;
num = 210;

> 여기서 "=" 가 대입 연산자 입니다.


2. 덧셈 연산자 : +

 1) 의미

  • 덧셈 연산자란 좌우의 두 값을 더 하는 연산자를 말합니다.

 2) 상수 + 상수

printf("%d", 15 + 120);

 

 3) 변수 + 변수

int income;
int salary = 2500000;
int incentive = 5000000;
income = salary + incentive;

 

4) 상수 + 변수(변수 + 상수)

int a;
a = a + 1;

3. 뺄셈 연산자 : -

 1) 의미

  • 뺄셈 연산자란 앞에 있는 수에서 뒤에 있는 수를 빼는 연산자를 말합니다.

 2) 사용예

int deposit = 10000000;
int withdraw = 1200000;

deposit = deposit - withdraw;

4. 곱셈 연산자 : *

 1) 의미

  • 곱셈 연산자란 좌우의 두 값을 곱하는 연산자를 말합니다.

 2) 사용예

double stock = 1000000;
stock = stock * 1.5;

5. 나눗셈 연산자 : /

 1) 의미

  • 나눗셈 연산자란 오른쪽에 있는 값으로 왼쪽에 있는 값을 나누는 것을 말합니다.

 2) 부동소수점형의 나눗셈

double ImSeven;
ImSeven = 56.0/8.0;

> 이 경우 7 이 나오게 됩니다.

 

 3) 정수형의 나눗셈

  • 정수형은 소수부를 가질 수 없으므로 소수부는 전부 버려집니다.
int num;
num = 5/3;

> 이 경우 1 이 나오게 됩니다.

> 5/3 는 수학적으로 1.666666... 이 나오게 되는데, 이 때 0.66666... 의 소수부를 전부 버리는 것을 알 수 있습니다.


6. 나머지 연산자 : %

 1) 의미

  • 나머지 연산자란 오른쪽에 있는 정수로 왼쪽에 있는 정수를 나누었을 때의 나머지를 구하는 연산자입니다.

 2) 정수형

  • 나머지 연산자는 정수형 연산만 가능하고, 부동소수점형 연산은 불가능합니다.

 3) 사용예

int num;
num = 19%3;

> 이 경우 나머지는 1 이 나오게 됩니다.


7. 관계 연산자 : >, <, >=, <=, ==, !=

 1) 의미

  • 관계 연산자란 왼쪽에 있는 값과 오른쪽에 있는 값을 비교하여 참(1) 또는 거짓(0)의 결과로 반환하는 연산자입니다.

  2) 종류 및 사용 예

int a = 10;
int b = 5;

a > b; // true(1)
a < b; // false(0)
a >= b; // true(1)
a <= b; // false(0)
a == b; // false(0)
a != b; // true(1)

 

 3) 대입 연산자

  • 관계 연산자 중 "==" 는 대입 연산자 "=" 와 이항 연산자라는 공통점이 있지만 사용구조에는 차이가 있습니다.
  • 전자는 두 값의 관계를 판단하는 거라면, 후자는 오른쪽의 값을 왼쪽에 대입합니다.
  • 해당 실수는 빈번히 나타나기 때문에 아래의 예처럼 상수를 왼쪽에, 변수를 오른쪽에 두면 관계 연산의 의도는 작동하지만 대입 연산의 의도는 차단할 수 있기 때문에 아래처럼 사용하는 것을 추천합니다.
int a = 10;

// 관계 연산 가능
11 == a;

// 대입 연산 불가능
11 = a;

3. 단항 연산자

  • 단항 연산자란 피연산자가 1개인 연산자를 말합니다.
더보기

1. 부호 연산자 : +, -

 1) 의미

  • 부호 연산자는 피연산자가 부호를 나타내는 연산자입니다.

 2) 부호 연산자 : -

  • 변수의 부호 연산자 - 를 붙이게 되면 변수는 음수가 됩니다.
min = -10;

 

 3) 부호 연산자 : +

  • 변수의 부호 연산자 + 를 붙이게 되면 변수는 양수가 됩니다.
  • 이는 생략이 가능합니다

2.  크기 연산자 : sizeof

 1) 의미

  • 크기 연산자는 피연산자의 크기를 바이트 단위로 반환해주는 연산자입니다.

 2) 데이터형 크기

sizeof(char) // 1
sizeof(int) // 4
sizeof(float) // 4
sizeof(double) // 8

 

 3) 변수 크기

int num = 10;
double dec = 3.14;

sizeof(num); // 4
sizeof(dec); // 8

> 변수의 크기를 구할 때는 () 를 생략 가능합니다.


3. 증감 연산자 : ++, --

 1) 의미

  • 증가 연산자는 피연산자의 값을 1만큼 증가시키는 연산자입니다.
  • 감소 연산자는 피연산자의 값을 1만큼 감소시키는 연산자입니다.

 2) 전위

  • 전위란 피연산자의 앞에 위치하는 경우를 의미합니다.
  • 이 경우 값을 증감한 후 다른 연산에 사용합니다.
int num;
int a = 0;

num = 2 * ++a; // 증가연산 -> 곱셈연산 -> 대입연산
num = 2 * --a; // 감소연산 -> 곱셈연산 -> 대입연산

 

 3) 후위

  • 후위란 피연산자의 뒤에 위치하는 경우를 의미합니다.
  • 이 경우 다른 연산이 끝난 후 값을 증감시킵니다.
int num;
int a = 0;

num = 2 * a++; // 곱셈연산 -> 대입연산 -> 증가연산
num = 2 * a--; // 곱셈연산 -> 대입연산 -> 감소연산

4. 논리 연산자

더보기

1. 논리곱 연산자 : &&

 1) 의미

  • 논리곱 연산자는 왼쪽 값과 오른쪽 값이 전부 True 인 경우 True 를 반환하는 연산자입니다.
  • 이항 연산자입니다.

 2) 사용예

int a = 4;
int b = 2;
a > 3 && b < 5 // True
a < 3 && b < 5 // False
a < 3 && b > 5 // False

2. 논리합 연산자 : ||

 1) 의미

  • 논리합 연산자는 왼쪽 값과 오른쪽 값 중 하나라도 True 라면 True 를 반환하는 연산자입니다.
  • 이항 연산자입니다.

 2) 사용예

int a = 4;
int b = 2;
a > 3 || b < 5 // True
a < 3 || b < 5 // True
a < 3 || b > 5 // False

3. 논리부정 연산자 : !

 1) 의미

  • 논리부정 연산자는 값의 참과 거짓을 반전시키는 연산자입니다.
  • 단항 연산자입니다.

 2) 사용예

int a = 4;
a > 3 // True
!(a > 3) // False

int b = 2;
b > 5 // False
!(b > 5) // True

5. 연산자 우선순위

  • 연산자는 전체적으로 괄호 연산자 > 단항 연산자 > 이항 연산자 순입니다.
우선순위 연산자 종류
1 () 괄호
2 a++, a-- 증감(후위)
3 ++a, --a, +a, -a, sizeof, ! 증감(전위) / 부호 / 크기 / 논리부정
4 *, /, % 곱셈, 나눗셈, 나머지
5 +, - 덧셈, 나눗셈
6 >, <, >=, <=,  관계(대소비교)
7 ==, != 관계(동등비교)
8 && 논리곱
9 || 논리합
10 = 대입

 

'C > Study' 카테고리의 다른 글

C언어 : 7. 분기 제어문  (0) 2026.05.19
C 언어 : 6. 루프 제어문  (0) 2026.05.19
C언어 : 4. 문자열과 입출력  (0) 2026.05.18
C언어 : 3. 데이터형  (0) 2026.05.18
C언어 : 2. 첫 프로그램으로 보는 구조  (0) 2026.05.18
'C/Study' 카테고리의 다른 글
  • C언어 : 7. 분기 제어문
  • C 언어 : 6. 루프 제어문
  • C언어 : 4. 문자열과 입출력
  • C언어 : 3. 데이터형
m_Dev
m_Dev
  • m_Dev
    m_Dev
    m_Dev
  • 전체
    오늘
    어제
    • 분류 전체보기
      • MAIN STUDY
        • 정보보안
        • 빅데이터
        • 정보처리
        • 컴퓨터 구조
        • 기타
      • JOB
        • Study
        • Project
      • LMS 7
        • 개발일지
      • FRAMEWORK
        • Qt
        • MFC
        • Winform
        • WPF
        • MAUI
      • NETWORK
        • Study
        • Assignment
      • PYTHON
        • Set
        • Study
        • Assignment
        • Project
      • C
        • Set
        • Study
        • Assignment
        • Project
      • C++
        • Set
        • Study
        • Assignment
        • Project
      • C#
        • Set
        • Study
        • Assignment
        • Project
      • DATABASE
        • MySQL
        • SQLite
      • IDE
        • VisualStudioCode
        • VisualStudio
        • Pycharm
        • Colab
      • 기타
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
m_Dev
C언어 : 5. 연산자
상단으로

티스토리툴바