산술 연산자 — 사칙연산·정수 나눗셈과 나머지 연산자 | 기초 C언어 5.1.1
기초 C언어Chapter 05 연산자 › Section 01 기본 연산자 › 01
5.1.1 산술 연산자
수학에서 쓰던 그 기호들. 다만 정수끼리 나누면 소수점 아래가 반올림 없이 버려지고, 나머지는 %로 따로 구함.
01받아 온 값으로 계산 — 다섯 산술 연산자교재 120p
- 4.3.3 에서 받아 온 값 — 이제 그 값으로 계산을 하는 자리.
- 산술 연산자(Arithmetic Operators) — 덧셈 · 뺄셈 · 곱셈 · 나눗셈 같은 기본 수학 계산을 하는 기호.
- 앞의 셋은 수학 그대로 — 곱셈만 가위표가 아니라 별표 * 를 씀.
- 뒤의 둘이 조심할 자리 — / 와 % 는 정수를 다룰 때 특별한 규칙이 있음.
| 연산자 | 하는 일 | 예시 |
|---|---|---|
| + - * | 덧셈 · 뺄셈 · 곱셈 | 3 + 5 |
| / | 첫 값을 두 번째 값으로 나누기 | 8 / 2 |
| % | 나눈 나머지를 구하기 | 9 % 4 |
02정수끼리 나누면 정수교재 120p
- 결과가 앉을 자리도 정수 — 정수와 정수를 나누면 결과는 항상 정수. 소수점 이하를 담을 곳이 아예 없음.
- 10 / 3 은 3 — 3.333… 이 아니라 몫 3 만 남음.
printf("10 / 3의 결과: %d\n", 10 / 3);
여기서 자주 틀림
반올림이 아니라 잘라 버림. 11 / 3 은 3.666… 이므로 반올림이라면 4 여야 하지만, 소수점 이하가 그대로 버려져 결과는 그냥 3 임.
03실수 값을 얻으려면교재 120p~121p
- 둘 중 하나 이상을 실수로 — 나누는 수나 나눠지는 수 하나만 10.0 같은 실수여도 실수 나눗셈이 됨.
- 변환 지정자도 함께 — %d 가 아니라 %f. 계산하는 쪽과 찍어 내는 쪽 두 군데를 다 맞출 것.
printf("%f\n", 10.0 / 3);
전체 코드와 줄별 해설은 교재 120p~121p CODE 5.1 에 있습니다.
04나머지를 구하는 % 연산자교재 121p
- 나머지 연산자(Modulus Operator) — 나눗셈의 나머지 값을 구해 주는 기호.
- 9 % 4 는 1 — 9 안에 4 가 두 번 들어가고 1 이 남기 때문. 같은 나눗셈에서 / 는 몫을, % 는 남은 조각을 집어 옴.
- 정수 전용 — 오직 정수형 데이터에만 쓸 수 있음. 실수에 쓰면 컴파일 오류.
05나머지로 알 수 있는 것교재 121p~122p
- 배수 찾기 — 어떤 수 % n 의 결과가 0 이면 그 수는 n 의 배수.
- 짝수 · 홀수 판별 — 어떤 수 % 2 의 결과가 0 이면 짝수, 1 이면 홀수. 6장 조건문에서 실제로 쓰게 됨.
여기서 자주 틀림
a = 10, b = 4 일 때 a / b 도 2, a % b 도 2. 숫자가 같아도 앞은 몫, 뒤는 나머지이므로 뜻이 서로 다름.
전체 코드와 줄별 해설은 교재 121p~122p CODE 5.2 에 있습니다.
이 절의 핵심 정리
- 산술 연산자는 + - * / % 다섯 개다.
- 곱셈은 수학의 가위표가 아니라 * 를 쓴다.
- 정수끼리 나누면 10 / 3 은 3, 소수점 이하는 반올림 없이 버린다.
- 실수 값은 한쪽을 10.0 으로, 지정자도 %f 로 맞춰야 얻는다.
- % 는 나머지를 구하며 정수형에만 쓸 수 있다.
강의 자료5.1.1 산술 연산자
1 / 10
번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다

댓글
댓글 쓰기