티스토리 뷰

 C언어는 헤더파일 형태로 많은 기능을 제공해주고 있어 편리합니다. 하지만 때로는 내가 원하는 기능이 어떤 헤더파일에 속해있는지 알지 못해 곤란해지는 경우가 자주 발생합니다. 프로그래밍을 공부하는 학생들에게 가급적 많은 기능을 포함시켜서 공부해볼 것을 조언하고, 많은 헤더파일을 사용하면서 그 헤더파일에 기능을 익혀두라고 조언하고 있습니다. 많은 기능을 사용해본 경험이 있다면, 내가 그 기능을 필요로할때 검색을 통해 남들보다 쉽게 찾을 수 있기 때문입니다.

 그래서 오늘은 C언어의 기본 제공 헤더파일은 math.h헤더파일내에 있는 함수들을 소개하려고합니다. 정말 초급수준의 프로그래머라면 단지 math.h내에서 pi의 값만을 불러오고 있을 것입니다. 하지만 실제로 math.h내에는 수학과 관련된 기능을 담당하는 많은 함수들이 있습니다.

◇ math.h헤더 파일의 함수들


 기본적으로 math.h의 헤더파일을 수학과 관련된 정보를 포함하고 있습니다. 수학연산을 위한 프로그램을 만들경우 반드시 math.h가 필요할 정도입니다. 우리가 흔히 사용하는 pi(원주율)또한 math.h헤더파일안에 이미 정의되어 있어서 전처리기에서 math.h를 불러옴으로써 쉽게 사용할 수 있습니다. 단, math.h의 함수들은 전부 double형으로 선언되어 있으니 주의하세요. 그렇다면 math.h헤더파일에는 어떠한 함수들이 있을까요?

  • double fabs( double x )
    - x의 절대값을 반환하는 함수입니다.
  • double ceil( double x )
    - x보다 작지 않은 최소 크기의 정수를 반환합니다.
  • double floor( double x )
    - x보다 크지 않은 최대크기의 정수를 반환합니다.
  • double exp( double x )
    - 무리수 e의 x제곱을 반환합니다.
  • double pow( double x, double y )
    - x의 y제곱의 값을 반환합니다.
  • double log( double x 
    - 자연로그 x의 값을 반환합니다.
  • double log10( double x )
    - log10 의 x값을 반환합니다.
  • double sqrt( double x )
    루트 x(x의 제곱근)을 반환합니다.
  • double cos( double x )
    - x의 코사인(cos) 값을 반환합니다.
  • double sin( double x 
    - x의 사인(sin) 값을 반환합니다.
  • double tan( double x )
    - x의 탄젠트(tan) 값을 반환합니다.
  • double cosh( double x )
    - x의 쌍곡선 코사인(cos) 값을 반환합니다.
  • double sinh( double x )
    - x의 쌍곡선 사인(sin) 값을 반환합니다.
  • double tanh( double x )
    - x의 쌍곡선 탄젠트(tan) 값을 반환합니다.
  • double acos( double x )
    - x의 아크 코사인값을 반환합니다.
  • double asin( double x )
    - x의 아크 사인값을 반환합니다.
  • double atan( double x )
    - x의 아크 탄젠트값을 반환합니다.
  • double acosh( double x )
    - x의 쌍곡선 아크 코사인값을 반환합니다.
  • double asinh( double x )
    - x의 쌍곡선 사인값을 반환합니다.
  • double atanh( double x )
    - x의 쌍곡선 아크 탄젠트값을 반환합니다.


 이처럼 math.h헤더파일안에는 수학과 관련된 함수들이 이미 정의되어있습니다. 프로그램을 만드실때 필요에 따라 함수를 가져다 쓰시면됩니다. 만약 math.h의 헤더파일 내부의 함수들을 알지 못한다면 일일히 기능을 구현해야하기때문에 많은 시간이 필요할 것입니다. 헤더파일 내의 함수의 기능을 익히셔서 프로그램을 만드실때 도움이 되셨으면합니다.

※공감은 블로거에게 큰힘이 됩니다.

'나는 오늘도 공부한다 > C언어&CPP' 카테고리의 다른 글

C언어 변수의 종류  (16) 2015.10.28
C언어 연습문제  (6) 2015.10.14
C언어 화면지우기  (6) 2015.10.14
C언어 연습문제  (3) 2015.10.12
C언어 시간지연 함수  (2) 2015.10.07
댓글