반올림과 절댓값
floor, ceil, round, fabs를 배워 보세요.
반올림과 절댓값은(는) CoddyKit의 무료 C Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
반올림과 절댓값
이 단원에서는 수를 조정하는 함수인 반올림용 floor, ceil, round, trunc와 절댓값용 fabs를 다룹니다.
이 함수들은 모두 math.h에 있으며 double 값에 사용할 수 있습니다.
floor 함수
floor(x)는 가장 가까운 정수로 내림하며, 음의 무한대 방향으로 이동합니다.
따라서 floor(3.9)는 3.0이고 floor(-1.2)는 -2.0입니다.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", floor(3.9));
printf("%.1f\n", floor(-1.2));
return 0;
}ceil 함수
ceil(x)는 가장 가까운 정수로 올림하며, 양의 무한대 방향으로 이동합니다.
따라서 ceil(3.1)은 4.0이고 ceil(-1.8)은 -1.0입니다.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", ceil(3.1));
printf("%.1f\n", ceil(-1.8));
return 0;
}round 함수
round(x)는 가장 가까운 정수로 반올림합니다. 정확히 중간인 경우에는 0에서 먼 방향으로 반올림합니다.
따라서 round(2.5)는 3.0이고 round(2.4)는 2.0입니다.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", round(2.5));
printf("%.1f\n", round(2.4));
return 0;
}trunc 함수
trunc(x)는 소수 부분을 단순히 잘라 내며, 항상 0을 향해 이동합니다.
따라서 trunc(3.9)는 3.0이고 trunc(-3.9)는 -3.0입니다.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", trunc(3.9));
printf("%.1f\n", trunc(-3.9));
return 0;
}네 함수 비교하기
값이 2.7일 때 결과는 서로 다릅니다:
floor(2.7)= 2.0 (down)ceil(2.7)= 3.0 (올림)round(2.7)= 3.0 (가장 가까운 값)trunc(2.7)= 2.0 (0을 향함)
의도에 맞는 함수를 선택하세요.
fabs로 절댓값 구하기
fabs(x)는 부동 소수점 수의 절댓값을 반환합니다. 0에서 떨어진 거리이므로 항상 음수가 아닙니다.
따라서 fabs(-7.5)는 7.5입니다.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", fabs(-7.5));
printf("%.1f\n", fabs(7.5));
return 0;
}fabs와 abs 비교
주의하세요. abs(stdlib.h에 있음)는 정수에 사용하고, fabs(math.h에 있음)는 double에 사용합니다.
double에 abs를 사용하면 먼저 소수 부분이 잘립니다. 부동 소수점 수에는 항상 fabs를 사용하세요.
int로 변환하기
이 함수들은 double을 반환합니다. 정수를 int로 저장하려면 결과를 형 변환하세요.
먼저 round한 다음 형 변환하는 것이 가장 안전합니다. 그래야 2.999 같은 값이 실수로 2가 되는 일을 막을 수 있습니다.
#include <stdio.h>
#include <math.h>
int main(void) {
double x = 4.6;
int whole = (int)round(x);
printf("whole = %d\n", whole);
return 0;
}거리 예제
fabs는 어느 값이 더 큰지와 관계없이 두 값이 얼마나 떨어져 있는지 측정할 때 유용합니다.
여기서는 두 온도 사이의 차이를 구합니다.
#include <stdio.h>
#include <math.h>
int main(void) {
double a = 5.0, b = 12.5;
printf("gap = %.1f\n", fabs(a - b));
return 0;
}소수 자릿수에 맞춰 반올림하기
소수점 둘째 자리까지 반올림하려면 100을 곱하고 반올림한 다음 100으로 나누세요.
이 방법은 round를 사용하여 금액처럼 표시되는 값을 깔끔하게 정리합니다.
#include <stdio.h>
#include <math.h>
int main(void) {
double price = 3.14159;
double r = round(price * 100.0) / 100.0;
printf("%.2f\n", r);
return 0;
}빠른 확인
각 반올림 함수가 어떻게 동작하는지 떠올려 보세요.
복습
floor(내림), ceil(올림), round(가장 가까운 값), trunc(0을 향함), 그리고 double의 절댓값을 구하는 fabs를 배웠습니다.
부동 소수점 수에는 abs 대신 fabs를 사용하고, 정수가 필요할 때는 int로 형 변환하세요. math.h 과정을 끝까지 잘 마쳤습니다!
자주 묻는 질문
“반올림과 절댓값” 강의는 무료인가요?
네 — “반올림과 절댓값” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C Academy 강의 전체를 잠금 해제할 수 있습니다. C Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“반올림과 절댓값”에서 뭘 배우나요?
floor, ceil, round, fabs를 배워 보세요. 브라우저에서 직접 실행하는 실습 코드로 C Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
C Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 C Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“반올림과 절댓값” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 C Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 C Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- math.h 포함하기
- 거듭제곱과 제곱근
- 삼각 함수와 로그
- 반올림과 절댓값