C 언어에서 수학 연산을 수행할 때 자주 사용되는 표준 라이브러리 중 하나가 math.h
입니다. 이 라이브러리는 다양한 수학 함수들을 제공하며, 이를 활용하면 복잡한 계산을 보다 효율적으로 수행할 수 있습니다.
이번 글에서는 math.h
라이브러리의 개요와 함께 기본적인 수학 연산을 수행하는 함수들인 sqrt
, pow
, exp
, log
, log10
에 대해 설명하고, 예제 코드와 함께 각각의 함수가 어떻게 동작하는지 살펴보겠습니다.
1. math.h
개요
math.h
는 수학 연산을 위한 함수들을 제공하는 C 표준 라이브러리입니다. 해당 라이브러리를 사용하려면 #include <math.h>
를 소스 코드에 포함해야 합니다.
또한, math.h
의 함수들을 사용할 때 일부 함수는 double
을 반환하므로, 컴파일할 때 -lm
옵션을 추가해야 하는 경우가 있습니다. 예를 들어, GCC를 사용할 경우 다음과 같이 컴파일해야 합니다.
gcc program.c -o program -lm
이제 math.h
의 기본적인 수학 함수들을 살펴보겠습니다.
2. 제곱근 계산: sqrt
함수 원형
double sqrt(double x);
sqrt
함수는 주어진 값의 제곱근을 반환합니다. 만약 x
가 음수라면 결과는 정의되지 않으며, 일반적으로 NaN
(Not a Number)을 반환합니다.
예제 코드
#include <stdio.h>
#include <math.h>
int main() {
double num = 25.0;
double result = sqrt(num);
printf("sqrt(%.2f) = %.2f\n", num, result);
return 0;
}
실행 결과
sqrt(25.00) = 5.00
3. 거듭제곱 계산: pow
함수 원형
double pow(double base, double exponent);
pow
함수는 주어진 base
값을 exponent
만큼 거듭제곱한 값을 반환합니다.
예제 코드
#include <stdio.h>
#include <math.h>
int main() {
double base = 2.0, exponent = 3.0;
double result = pow(base, exponent);
printf("pow(%.2f, %.2f) = %.2f\n", base, exponent, result);
return 0;
}
실행 결과
pow(2.00, 3.00) = 8.00
4. 지수 함수 계산: exp
함수 원형
double exp(double x);
exp
함수는 자연로그의 밑인 e
의 x
제곱을 반환합니다. 즉, 수학적으로 e^x
를 계산합니다.
예제 코드
#include <stdio.h>
#include <math.h>
int main() {
double x = 2.0;
double result = exp(x);
printf("exp(%.2f) = %.2f\n", x, result);
return 0;
}
실행 결과
exp(2.00) = 7.39
5. 자연로그 계산: log
함수 원형
double log(double x);
log
함수는 주어진 x
의 자연로그(ln, 밑이 e인 로그) 값을 반환합니다. x
가 0 이하일 경우 정의되지 않으며, 일반적으로 NaN
또는 오류를 반환합니다.
예제 코드
#include <stdio.h>
#include <math.h>
int main() {
double x = 10.0;
double result = log(x);
printf("log(%.2f) = %.2f\n", x, result);
return 0;
}
실행 결과
log(10.00) = 2.30
6. 상용로그 계산: log10
함수 원형
double log10(double x);
log10
함수는 주어진 x
의 상용로그(밑이 10인 로그) 값을 반환합니다.
예제 코드
#include <stdio.h>
#include <math.h>
int main() {
double x = 100.0;
double result = log10(x);
printf("log10(%.2f) = %.2f\n", x, result);
return 0;
}
실행 결과
log10(100.00) = 2.00
7. 정리 및 마무리
이번 글에서는 math.h
라이브러리의 기본적인 수학 연산 함수인 sqrt
, pow
, exp
, log
, log10
에 대해 살펴보았습니다.
각 함수는 수학적인 연산을 보다 쉽게 수행할 수 있도록 도와주며, 실제 프로그램에서 다양한 계산을 수행할 때 유용하게 사용됩니다.
'c 언어 > c 표준 라이브러리(Standard C Library)' 카테고리의 다른 글
C math.h의 절댓값 및 기타 함수 설명 (0) | 2025.02.21 |
---|---|
C언어 `math.h`의 삼각 함수 정리 (0) | 2025.02.20 |
C 언어 `stdlib.h`의 메모리 조작 함수 완벽 정리 (0) | 2025.02.18 |
C `stdlib.h` 개요 및 동적 메모리 할당 (0) | 2025.02.17 |
C 언어 `string.h`의 문자열 숫자 변환 함수: `strtol`과 `strtod` (0) | 2025.02.16 |