Lesson 사칙연산의 기본과 정수 나눗셈·나머지
사칙연산이란
덧셈 +, 뺄셈 -, 곱셈 *, 나눗셈 /, 그리고 나머지 %. 이 다섯이
계산의 기본입니다. 언어마다 나눗셈과 나머지의 미묘한 규칙 차이가 있어,
그 차이를 아는 것이 이 단원의 핵심입니다.
1. 다섯 연산자
int a = 7, b = 2;
cout << a + b << '\n'; // 9
cout << a - b << '\n'; // 5
cout << a * b << '\n'; // 14
cout << a / b << '\n'; // 3 ← 정수 나눗셈(소수점 버림)
cout << a % b << '\n'; // 1 ← 나머지
a, b = 7, 2
print(a + b, a - b, a * b) # 9 5 14
print(a / b) # 3.5 ← 파이썬 / 는 항상 실수
print(a // b) # 3 ← // 가 정수 나눗셈
print(a % b) # 1 ← 나머지
C++의 / 는 정수끼리면 정수 나눗셈(소수점 버림), 파이썬의 / 는 항상
실수 나눗셈이고 정수 나눗셈은 // 라는 점이 가장 큰 차이입니다.
2. 실수 나눗셈이 필요할 때 (C++)
int a = 7, b = 2;
cout << (double)a / b << '\n'; // 3.5 — 한쪽을 double로 형변환
한쪽만 double 이면 나머지도 실수로 계산됩니다. 평균 (a+b)/2 가 정수로
잘리는 실수가 여기서 자주 납니다.
3. 나머지(%)의 쓸모
% 는 주기·짝홀·자릿수 문제의 핵심 도구입니다.
if (x % 2 == 0) { /* 짝수 */ }
int last = n % 10; // n의 일의 자리
int rest = n / 10; // 일의 자리를 뗀 나머지
if x % 2 == 0:
pass
last = n % 10
rest = n // 10
\(n\)을 \(10\)으로 나눈 나머지는 일의 자리, \(10\)으로 나눈 몫은 나머지 자릿수 —
이 조합으로 자릿수를 하나씩 분해합니다.
4. 연산자 우선순위
*, /, % 가 +, - 보다 먼저입니다. 순서를 바꾸려면 괄호를 쓰세요.
cout << 2 + 3 * 4 << '\n'; // 14 (곱셈 먼저)
cout << (2 + 3) * 4 << '\n'; // 20 (괄호로 덧셈 먼저)
헷갈리면 괄호를 넉넉히 쓰는 게 안전합니다.
정리
- 다섯 연산:
+ - * / %. - C++
int/int= 정수 나눗셈, 파이썬/= 실수·//= 정수. %는 짝홀·주기·자릿수 분해의 핵심.- 우선순위가 헷갈리면 괄호로 명시.