005. CASTING

Posted on by pkchan

005-01 // ARITHMETIC CONVERSION

/*
example 005-01
C language arithmetic conversion
*/

#include <stdio.h>

int main (void) {

          int n1 = 5;
          float n2 = 3.5;

          printf("n1 / n2 = %f\n", n1/n2);
          printf("n2 / n1 = %f\n", n2/n1);

          return 0;

}

example 05-1을 실행해보면 정수의 자료형인 int와 실수의 자료형인 double 을 연산해도 오류가 나지 않습니다. 산술변환이라는 과정을 거친 결과입니다.
산술변환이란 서로 다른 두 자료형의 변수를 연산할 때 수의 표현 범위가 작은 자 료형이 수의 표현 범위가 큰 자료형으로 변환되어 연산됩니다. 결과도 큰 자료형 으로 출력됩니다.

005-02 // CASTING

자 그러면 정수의 자료형을 가진 변수 두 개를 연산하여 실수형으로 출력하면 어떻게 될까요. 수의 표현 범위가 같은 자료형 두 개의 연산에서는 산술변환이 이루어지지 않습니다. 이 같은 경우에는 형 변환(casting)을 해줍니다. (변환할 자료 형) (변수 이름) 형식으로 사용합니다.

(변환할 자료형) (변수이름)

/*
example 005-02
C language casting
*/

#include <stdio.h>

int main (void) {

          int n1 = 5;
          int n2 = 3;

          printf("n1 / n2 = %f\n", (double)n1/n2);

          return 0;

}

005-03 // REVIEW EXERCISES

1. 두개의 정수를 입력받고 나누어 소수점이하 두자리의 실수로 출력 하세요.

두개의 정수를 입력하세요. : 5 2
2.50

1. 임의의 실수를 입력받아 소수점이하 두자리를 추출하여 정수형 변수 에 대입하고 출력하세요.

실수를 입력하세요. : 3.141592
14

Leave a Reply