728x90
C 언어에서 산술 연산자는 숫자 타입 간의 연산을 수행하며, 결과의 타입은 피연산자에 따라 결정됩니다. 특히 서로 다른 타입의 피연산자가 연산에 사용될 때는 자동 형 변환(type promotion) 이 일어나게 됩니다.
산술 연산자의 기본 동작
1. 연산자의 결과 타입
- int + int → 결과도 int
- int + float → int가 float으로 변환되고, 결과는 float
int a = 3;
float b = 2.5;
float result = a + b; // a는 float으로 변환되어 result는 5.5
2. 주요 산술 연산자
연산자설명
+ | 덧셈 |
- | 뺄셈 |
* | 곱셈 |
/ | 나눗셈 |
% | 나머지(정수형 전용) |
할당과 업데이트 연산자
단순 할당
x = 3 + 4; // x에 7이 저장됨
업데이트가 포함된 할당
x += 3; // x = x + 3;
x *= 2; // x = x * 2;
증분(++)과 감소(--) 연산자
이 연산자는 변수의 값을 1 증가 또는 감소시킬 때 사용합니다.
x++; // x = x + 1;
x--; // x = x - 1;
이때 가장 많이 헷갈리는 개념이 사전증분(prefix) 과 사후증분(postfix) 입니다.
사전증분 (++x) vs 사후증분 (x++)
구분 | 설명 | 실행 순서 |
사전증분 | 값을 먼저 1 증가시킨 후, 그 값을 사용함 | 증가 → 사용 |
사후증분 | 현재 값을 먼저 사용한 후, 나중에 1 증가시킴 | 사용 → 증가 |
예제 코드
#include <stdio.h>
int main() {
int x = 5;
int a = ++x; // 사전증분: x는 6으로 증가하고, a도 6
int b = x++; // 사후증분: b는 6, 그 다음 x는 7
printf("a: %d\n", a); // 6
printf("b: %d\n", b); // 6
printf("x: %d\n", x); // 7
return 0;
}
요약 정리
- 산술 연산 시 타입이 다르면 자동 형 변환이 발생
- +=, -=, *=, /=, %= 는 축약 표현으로 코드 간결화
- ++, -- 는 사전(prefix) 과 사후(postfix) 개념 주의
- 사전증분: 먼저 증가 → 값 사용 / 사후증분: 값 사용 → 나중에 증가
728x90
'개발이야기 > C언어' 카테고리의 다른 글
[C언어] 조건문과 반복문 (0) | 2025.06.14 |
---|---|
[C언어] 언어 표준 입출력 함수 (1) | 2025.06.14 |
[C언어] 변수와 데이터타입 (0) | 2025.06.14 |
VS Code에서 C 언어 스니펫 설정하는 방법 (Windows 기준) (0) | 2025.06.14 |
Windows에서 VS Code + MinGW로 C언어 개발 환경 설정하기 (0) | 2025.06.14 |