C 언어에서 함수는 크게 두 가지 유형으로 나눌 수 있습니다.
- 사전 정의 함수(Predefined functions)
- 사용자 정의 함수(User defined functions)
사전 정의 함수(라이브러리 함수)란?
- 시스템 라이브러리에 이미 정의되어 있는 함수를 말합니다.
- 프로그래머는 시스템 라이브러리에 이미 존재하는 코드를 그대로 재사용함으로써 오류 없는 코드를 더 쉽게 작성할 수 있습니다.
- 다만 라이브러리 함수를 사용하려면 해당 함수의 문법(구문)을 반드시 알고 있어야 합니다.
예시 −
sqrt()함수는math.h헤더 파일에 포함되어 있으며, 사용 방법은 다음과 같습니다.
y = sqrt(x)
x는 반드시 양수여야 합니다.
예: y = sqrt(25)
이면 y = 5
printf()는stdio.h라이브러리에 포함되어 있습니다.clrscr()은conio.h라이브러리에 포함되어 있습니다.
예제 1: sqrt, printf, clrscr 함수 활용
아래는 사전 정의 함수인 sqrt, printf, clrscr을 사용한 C 프로그램입니다.
#include <stdio.h>
#include <conio.h>
#include <math.h>
main(){
int x, y;
clrscr();
printf("enter a positive number");
scanf("%d", &x);
y = sqrt(x);
printf("squareroot = %d", y);
getch();
}
실행 결과
프로그램을 실행하면 다음과 같은 결과를 볼 수 있습니다 −
Enter a positive number 25
Squareroot = 5
자주 사용되는 기타 사전 정의 함수
cbrt(x): x의 세제곱근log(x): e를 밑으로 하는 x의 자연로그ceil(x): x보다 작지 않은 가장 작은 정수로 올림pow(x, y): x의 y제곱
예제 2: 여러 수학 함수 활용
다음은 다양한 사전 정의 함수를 한 번에 활용한 C 프로그램입니다.
#include <stdio.h>
#include <math.h>
main(){
int x, y, z, k, p, r, q;
printf("enter x and n values:");
scanf("%d%d", &x, &r);
y = cbrt(x);
z = exp(x);
k = log(x);
p = ceil(x);
q = pow(x, r);
printf("cuberoot = %d", y);
printf("exponent value = %d", z);
printf("logarithmic value = %d", k);
printf("ceil value = %d", p);
printf("power = %d", q);
getch();
}
실행 결과
실행 결과는 다음과 같습니다 −
enter x and n values:9 2
cuberoot = 2
exponent value = 8103
logarithmic value = 2
ceil value = 9
power = 81