C 언어 루트 - c eon-eo luteu

안녕하세요. BlockDMask 입니다

오늘은 (저는) 자주 쓰지는 않지만 꼭 알아둬야하는 함수를 두개 묶어서 가지고왔습니다.

바로pow, sqrt 함수인데요. 중학교때 제곱과 제곱근(루트) 배우셨죠?

그걸이제 C언어, C++에서 사용해 볼겁니다! 그럼 시작해보겠습니다.

1. C/C++ pow 함수 원형과 사용법

- 헤더파일 : C언어 <math.h> / C++ <cmath>

- C언어에서의 함수 원형 : double pow(double base, double n)

- C++11에서의 함수 원형

1. double        pow(double base, double n)

2. float           pow(float base, float n)

3. long double pow(long double base, long double n)

(C++에서는 함수 오버로딩이 가능하기 때문에 같은 이름의 함수라도 매개변수를 다르게 선언할 수 있습니다.) 

- pow 함수가 하는일 : base가 되는 숫자의 n 제곱을 구하는 것입니다

(base의 n승이라고도 표현하고, 기호로는 base ^ n 으로도 표현합니다.)

- 저희한테 익숙한 표현방법은 이것이죠

C 언어 루트 - c eon-eo luteu
 

- pow 함수 사용법

1)10의 2제곱을 구한다고 했을 때.
-> pow(10, 2)
// 암묵적 형변환에 의해서 10은 (float)10 이런식으로 들어갈 것 입니다.

2) 2.2의 3.3 제곱을 구한다고 했을 때.
-> pow(2.2, 3.3)

2. pow 함수 예시

1) 소스코드

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

//C언어만 사용하시는 분들은 해당 헤더만 포함하세요.

//#include<stdio.h> 

//#include<math.h>

//C++용 헤더

#include<iostream>

#include<cmath>

using namespace std;

int main(void)

{

printf("> C언어\n");

printf("10 ^ 2 = %f\n", pow(102));

printf("2.2 ^ 3.3 = %f\n\n", pow(2.23.3));

//아래는 C++사용자들을 위한 코드 입니다.

cout << "> C++" << endl;

cout << "10 ^ 2 = " << pow(102<< endl;

cout << "2.2 ^ 3.3 = " << pow(2.23.3<< endl;

system("pause");

return 0;

}

cs

2) 결과

3. C/C++ sqrt 함수 원형과 사용법

- 헤더파일 : C언어 <math.h> / C++ <cmath>

- C언어에서의 함수 원형 : double sqrt(double x)

- C++11에서의 함수 원형

1. double        sqrt(double x)

2. float           sqrt(float x)

3. long double sqrt(long double x)

4. double        sqrt(T x) // T는 template를 뜻합니다. (template는 아래 링크 남겨두겠습니다.)

(C++에서는 함수 오버로딩이 가능하기 때문에 같은 이름의 함수라도 매개변수를 다르게 선언할 수 있습니다.) 

- sqrt 함수가 하는일 : 매개변수 x로 들어온 숫자에 루트를 씌워서 계산한 값을 반환해주는 일을 합니다.

즉, 루트 x를 구해주는 함수입니다. 를 구해주는 함수입니다. (제곱근을 구해주는 함수)

- sqrt 함수 사용법

1)루트 9를 구한다고 했을때

-> sqrt(9)

2) 루트 85.4를 구한다고 했을때

-> sqrt(85.4)

4. sqrt 함수 예시

1) 소스코드

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

//C언어만 사용하시는 분들은 해당 헤더만 포함하세요.

//#include<stdio.h> 

//#include<math.h>

//C++용 헤더

#include<iostream>

#include<cmath>

using namespace std;

int main(void)

{

double a = 9;

double b = 85.4;

printf("> C언어\n");

printf("sqrt(9) = %f\n", sqrt(a));

printf("sqrt(85.4) = %f\n",sqrt(b));

//아래는 C++사용자들을 위한 코드 입니다.

cout << "> C++" << endl;

cout << "sqrt(9) = " << sqrt(a) << endl;

cout << "sqrt(85.4) = " << sqrt(b) << endl;

system("pause");

return 0;

}

cs

2) 결과

- 주저리

C언어랑 C++을 분리한다고는 했는데, 사실 뭐 C++에서는 C에 있는걸 다 포함 합니다. 

C++의 표준 입출력인 cin, cout을 사용하는 것을 보여드리고 싶기도 했고, 헤더도 다르다는 것을 알려드리기 위해서 위의 예제에서 분리를 해 보았습니다.

C++에서도 서식을 지정해서 출력하고 싶은 경우에 printf를 사용해도 무방합니다. 

- 글 읽어주셔서 감사합니다. 질문같은게 있다면 댓글 남겨주세요~