Chapter 8. C언어 : 연산자, 사칙 연산부터 비교 연산까지!

2026. 4. 19. 19:26·지식 아카이브/C언어


  이번 글에서는 연산자에 대해 알아보겠습니다. 연산자란 +, -와 같은 덧셈, 뺄셈 외에도 그리고에 해당하는 and 연산, or 연산 등의 논리 연산이 존재합니다. C언어에서는 어떤 다양한 연산자가 있고, 연산자들을 어떻게 표현하는 지 보도록 하겠습니다.

∨ 연산자

   연산자란 값을 가지고 특정 연산을 수행하여 결과를 만들어내는 기호를 의미합니다. 예를 들어 + 연산자는 두 값을 더하여 그 합을 결과로 반환합니다. 이때 연산자의 대상이 되는 값을 피연산자라고 합니다. 예를 들어 2 + 3이라는 연산에서 + 연산자의 대상이 되는 값은 2와 3이며, 이 둘을 피연산자라고 합니다.

 

<그림>

 

  C언어에서 연산자는 대략적으로 다음과 같이 나눌 수 있습니다.

C언어 연산자 종류
종류 연산자 설명
산술 연산자 + - * / % 사칙연산 및 나머지
증감 연산자 ++ -- 1 증가 / 1 감소
대입 연산자 = += -= *= /= %= 값 저장 및 복합 연산
비교 연산자 == != > < >= <= 값 비교
논리 연산자 ! && || 논리(True, False) 연산
비트 연산자 & | ^ ~ << >> 비트 단위 연산
조건(삼항) 연산자 ? : 조건에 따라 값 선택
sizeof 연산자 sizeof 변수/자료형 크기 반환
형 변환 연산자 (type) 자료형 변환
포인터 연산자 * & 주소/참조 관련
멤버 접근 연산자 . -> 구조체 멤버 접근

 

  이 중에서 주요한 것들을 순서대로 알아가보도록 하겠습니다.

 

∨ 산술 연산자

  산술 연산자는 두 값을 이용하여 사칙연산을 수행하는 연산자로, C언어에서는 +, -, *, /, %가 해당됩니다. 이는 각각 다음과 같습니다.

  • + : 덧셈
  • - : 뺄셈
  • * : 곱셈
  • / : 나눗셈
  • % : 나머지 연산.

  여기서 나머지 연산자 %는 나눗셈을 한 후의 나머지를 반환하는 나머지입니다. 104를 10으로 나눈 나머지는 4입니다. 100은 10으로 나눠지고 나눠지지 않는 나머지가 4

 

 

산술 연산은 피연산자의 자료형에 따라 결과가 달라지는데, 정수끼리 연산할 경우 결과도 정수로 나오며 특히 나눗셈에서는 소수점 이하가 버려집니다(예: 5 / 2 = 2). 반면 실수형이 포함되면 결과도 실수로 계산되며(예: 5.0 / 2 = 2.5), 정수와 실수가 함께 연산되는 경우에는 정수가 실수로 자동 변환되어 계산됩니다(예: 5 / 2.0 = 2.5). 또한 나머지 연산자 %는 정수형에서만 사용할 수 있으며 실수에는 사용할 수 없습니다(예: 5 % 2 = 1).

∨ 증감 연산자

증감 연산자는 변수의 값을 1 증가시키거나 1 감소시키는 연산자로, C언어에서는 ++와 --를 사용합니다. ++는 값을 1 증가시키고 --는 값을 1 감소시킵니다. 이 연산자는 주로 반복문에서 많이 사용되며, 변수를 빠르게 증가/감소시키는 용도로 활용됩니다.

증감 연산자는 위치에 따라 동작이 달라질 수 있습니다. 변수 앞에 오는 전위 연산자(++x, --x)는 해당 줄에서 바로 값이 증가/감소된 후 사용되며, 변수 뒤에 오는 후위 연산자(x++, x--)는 현재 값을 먼저 사용한 뒤 증가/감소가 이루어집니다.

예를 들어 int x = 5;일 때 ++x는 x가 먼저 6이 된 후 사용되고, x++는 5가 먼저 사용된 뒤 x가 6이 됩니다. 이 차이는 함수나 출력문에서 결과에 영향을 줄 수 있습니다.

∨ 대입 연산자, 복합 대입 연산자

대입 연산자는 변수에 값을 저장하는 연산자로, C언어에서는 = 기호를 사용합니다. 대입 연산자는 오른쪽에 있는 값을 왼쪽 변수에 저장하는 역할을 하며, 이를 “할당한다”라고도 표현합니다. 예를 들어 x = 5;는 변수 x에 값 5를 저장하는 의미입니다.

대입 연산자에서 중요한 점은 수학의 등호(=)와 의미가 다르다는 것입니다. 수학에서는 =가 좌우가 같다는 의미이지만, C언어에서는 “같다”가 아니라 “저장한다”는 의미입니다. 따라서 비교를 할 때는 == 연산자를 사용해야 합니다.

또한 대입 연산자는 여러 번 사용할 수 있으며, 새로운 값이 저장되면 기존 값은 사라지고 마지막에 저장된 값만 남습니다. 예를 들어 x = 5; x = 10;이면 최종적으로 x에는 10이 저장됩니다.

대입 연산자는 다른 연산자와 결합하여 사용할 수도 있습니다. 예를 들어 +=, -=, *=, /=, %=와 같은 복합 대입 연산자는 기존 값을 기반으로 연산한 후 결과를 다시 저장하는 방식입니다.

∨ 비교 연산자

비교 연산자는 두 값을 비교하여 그 결과를 참(true) 또는 거짓(false)으로 반환하는 연산자입니다. C언어에서는 ==, !=, >, <, >=, <=가 비교 연산자에 해당합니다.

==는 두 값이 같은지를 비교하며, 같으면 참, 다르면 거짓을 반환합니다. !=는 두 값이 다른지를 비교하는 연산자입니다. >는 왼쪽 값이 오른쪽 값보다 큰지, <는 작은지를 비교합니다. 또한 >=는 크거나 같은지, <=는 작거나 같은지를 판단합니다.

비교 연산자의 결과는 일반적으로 0 또는 1로 표현됩니다. 조건이 참이면 1, 거짓이면 0으로 처리됩니다. 예를 들어 5 > 3은 참이므로 1, 5 < 3은 거짓이므로 0이 됩니다.

비교 연산자는 조건문(if)이나 반복문(while, for)에서 매우 중요한 역할을 하며, 프로그램의 흐름을 결정하는 데 사용됩니다.

∨ 논리 연산자

논리 연산자는 여러 개의 조건을 결합하거나 조건의 참/거짓을 반대로 바꾸는 데 사용하는 연산자입니다. C언어에서는 &&, ||, !가 논리 연산자에 해당합니다.

&&는 AND 연산자로, 두 조건이 모두 참일 때만 전체 결과가 참이 됩니다. 하나라도 거짓이면 결과는 거짓이 됩니다. 예를 들어 (5 > 3) && (2 < 4)는 두 조건이 모두 참이므로 결과는 참입니다.

||는 OR 연산자로, 여러 조건 중 하나라도 참이면 전체 결과가 참이 됩니다. 예를 들어 (5 < 3) || (2 < 4)는 두 번째 조건이 참이므로 결과는 참입니다.

!는 NOT 연산자로, 참을 거짓으로, 거짓을 참으로 바꾸는 역할을 합니다. 예를 들어 !(5 > 3)은 원래 참인 조건을 반대로 바꾸므로 거짓이 됩니다.

논리 연산자는 주로 조건문(if)에서 여러 조건을 동시에 판단할 때 사용되며, 프로그램의 흐름을 세밀하게 제어하는 데 중요한 역할을 합니다.

 

∨ 비트 연산자

  상세한 설명은 해당 글 참고

Chapter 8.5. C언어 : 비트 연산자 부연 설명. 하드웨어적 연산 비트 연산! — 검정부기 https://alittleboogie.tistory.com/96

 

 

비트 연산자는 정수를 2진수(비트) 단위로 나누어 직접 연산하는 연산자입니다.일반적인 산술 연산이 값 자체를 계산하는 것이라면, 비트 연산자는 숫자를 구성하는 0과 1의 비트를 대상으로 연산을 수행합니다.C언어에서는&, | , ^, ~, << , >> 가 비트 연산자에 해당합니다.

& 는 AND 비트 연산자로, 두 비트가 모두 1일 때만 1이 됩니다. | 는 OR 비트 연산자로, 두 비트 중 하나라도 1이면 1이 됩니다. ^ 는 XOR 연산자로, 두 비트가 서로 다를 때만 1이 됩니다. ~는 NOT 연산자로, 비트를 반전시켜 0은 1로, 1은 0으로 바꿉니다.

또한 << 는 왼쪽 시프트 연산자로 비트를 왼쪽으로 이동시키며 값이 2배씩 증가하는 효과가 있고, >> 는 오른쪽 시프트 연산자로 비트를 오른쪽으로 이동시켜 값을 절반으로 줄이는 효과가 있습니다.

비트 연산자는 일반적인 계산에서는 자주 사용되지는 않지만, 하드웨어 제어, 최적화, 데이터 압축, 플래그 처리 등 저수준 프로그래밍에서 매우 중요한 역할을 합니다.




조건 연산자는 C언어에서 유일한 삼항 연산자로, 조건에 따라 서로 다른 값을 선택하여 반환하는 연산자입니다.기호는 ? : 형태로 사용됩니다.

조건 연산자의 기본 구조는 다음과 같습니다.
조건식 ? 값1 : 값2

조건식이 참이면 값1이 선택되고, 거짓이면 값2가 선택됩니다.예를 들어 5 > 3 ? 10 : 20은 조건식 5 > 3이 참이므로 결과는 10이 됩니다.

조건 연산자는 if - else 문을 간단하게 한 줄로 표현할 수 있다는 특징이 있습니다.예를 들어 다음과 같은 if - else 문은


if (x > 0) {
y = 1;
}
else {
y = -1;
}

조건 연산자를 사용하면 아래와 같이 줄일 수 있습니다.


y = (x > 0) ? 1 : -1;

이처럼 조건 연산자는 간단한 조건 분기에서 코드의 길이를 줄이고 가독성을 높이는 데 사용됩니다.

∨ 형변환 연산자
형변환 연산자는 하나의 자료형을 다른 자료형으로 변환하는 연산자입니다.C언어에서는(type) 형태로 사용하며, 원하는 자료형을 괄호 안에 적어 값을 강제로 변환합니다.

형변환은 크게 자동 형변환과 강제 형변환(명시적 형변환)으로 나눌 수 있습니다.자동 형변환은 서로 다른 자료형이 연산될 때 컴퓨터가 자동으로 더 큰 범위의 자료형으로 변환하는 경우입니다.예를 들어 int와 float이 함께 연산되면 int가 float으로 변환되어 계산됩니다.

반면 형변환 연산자는 사용자가 직접 자료형을 지정하여 변환하는 방식입니다.예를 들어(float)5는 정수 5를 실수 5.0으로 변환합니다.또한 5 / 2는 정수 나눗셈이지만(float)5 / 2로 작성하면 5.0이 되어 결과가 2.5로 나옵니다.

형변환 연산자는 자료형의 차이로 인해 발생하는 연산 결과의 왜곡을 제어할 때 사용되며, 특히 정밀한 계산이 필요한 실수 연산에서 자주 사용됩니다.


∨ 퀴즈
∨ 정리

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'지식 아카이브 > C언어' 카테고리의 다른 글

Chapter 10. C언어 : 조건문. 프로그램의 실행 흐름의 분기. if문의 모든것.  (0) 2026.04.19
Chapter 8.5. C언어 : 비트 연산자 부연 설명. 하드웨어적 연산 비트 연산!  (0) 2026.04.19
Chapter6. C언어 : 변수의 자료형, unsigned vs signed  (0) 2026.04.15
Chapter5. C언어 : 변수의 선언, 대입, 초기화, 참조.  (0) 2026.04.15
Chapter4. C언어 : only 실습 모드  (0) 2026.04.15
'지식 아카이브/C언어' 카테고리의 다른 글
  • Chapter 10. C언어 : 조건문. 프로그램의 실행 흐름의 분기. if문의 모든것.
  • Chapter 8.5. C언어 : 비트 연산자 부연 설명. 하드웨어적 연산 비트 연산!
  • Chapter6. C언어 : 변수의 자료형, unsigned vs signed
  • Chapter5. C언어 : 변수의 선언, 대입, 초기화, 참조.
검정부기
검정부기
안녕하세여. 한성대학교 AI응용학과에 재학중인 대학생입니다!! 공부 내용 개인적으로 정리하고, 도움이 될만한 내용은 공유하기 위해 개인적으로 만든 블로그입니다. 댓글 아무거나 쓰셔도 상관없습니다. 무엇이든 질문하셔도 됩니다, 틀린 질문도 괜찮습니다, 성실히 답변해드리겠습니다!
  • 검정부기
    검정부기
    검정부기
  • 전체
    오늘
    어제
    • 분류 전체보기 (55)
      • 강의 아카이브 (11)
        • Python for AI (1)
        • 선형대수 (2)
        • 컴퓨터 프로그래밍 (4)
        • 웹프로그래밍기초 (2)
        • 확률 및 통계 (2)
        • 사회데이터의 이해 (0)
        • 생활 속의 인공지능 (0)
        • 생활 속의 빅데이터 (0)
      • 지식 아카이브 (12)
        • 파이썬 (1)
        • C언어 (11)
        • 웹프로그래밍 (0)
        • 확률 통계 (0)
        • 선형대수 (0)
        • git & github (0)
        • 리눅스 (0)
        • 컴퓨터 구조 (0)
        • 운영체제 (0)
        • 네트워크 (0)
      • Daily 아카이브 (29)
        • 공부일지 (22)
        • IT 에세이 (0)
        • 프로젝트 (1)
        • 아무거나 쓰는 곳 (4)
        • 연습 일지 (0)
        • 일기 (2)
      • 알쓸 아카이브 (2)
        • 군대 (IT) (2)
  • 블로그 메뉴

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

  • 공지사항

    • 블로그 사용법
    • 안녕하세용. 반갑습니다.
  • 인기 글

  • 태그

    서류심사
    강의
    ai
    육군
    파이썬
    ai학과
    수업정보
    시험대비
    정보보호병
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
검정부기
Chapter 8. C언어 : 연산자, 사칙 연산부터 비교 연산까지!
상단으로

티스토리툴바