C언어 Printf함수와 출력타입

Posted by 미니송
2017.10.03 13:52 IT/프로그래밍

C언어 Printf함수와 출력타입




이번 포스팅은 C언어 Printf함수에 대해 하겠습니다. 가장 기초적으로 사용하는 함수이며 기본적인 코딩인 Hello World를 출력할 때 사용합니다. 정말 기초가 되는 함수이기 때문에 많은 설명은 필요 없으나 출력 시 필요한 코드들에 대해서 정리를 해보도록 하겠습니다.


2017/07/12 - [IT] - C언어 - 역사 및 특징

2017/07/22 - [IT] - C언어 기초 - 컴파일러 및 자료형


 

기본적인 사용형태는 다음과 같습니다.


int printf(const char *format, ...)


printf 함수는 일반적으로 몇 가지 프로그래밍 언어와 연결된 함수입니다. 다양한 자료형 변수를 문자열로 변환하는 방식을 지정해주는 형식 문자열(format string)인 문자열 변수를 받아들이며 출력할 수 있습니다.

 

%문자를 통해서 출력타입을 받을 수 있습니다. 문자의 형을 지정할 수 있는데 다음과 같은 형태를 볼 수 있습니다. 출력타입을 지정해주고 뒤에서 순서대로 가져오게 됩니다.


%s - 문자열

%d - 정수(10진수)

%x - 16진수

%o - 8진수

%u - 부호없는 10진수

%g - 실수형 자동출력

%p - 포인터의 주소

%c - 문자 1

%f - 실수형


이 정도가 출력타입을 지정하는 문자입니다. 더 많은 지정 문자들이 있지만 자주 사용하는 출력타입만을 적어 보았습니다.

이 출력문자들이 printf함수와 같이 사용할 수 있습니다.


printf(" %f ",3.14);

만약 printf 3.14를 출력하고 싶다면 실수형이기 때문에 %f를 이용해야 합니다. 또한 다음과 같이 사용할 수 있습니다.


이렇게 표현한다면 뒤에 있는 3.14 %f의 위치에 들어가게 되며 프로그램 상에서는 3.14라고 출력되게 됩니다. 하지만 3.140000라고 출력되는 경우를 볼 수 있습니다. 이것은 소수점을 정해주지 않아서 생기는 일입니다.


printf("%f.2", 3.14);

위와 같이 코딩을 하게 되면 .2라는 것이 소수점 둘째 자리까지 표현되므로 프로그램 상에서 3.14라고 출력되는 것을 볼 수 있습니다.

 

printf("실수형 %f 정수형 %d", 3.14, 10);


위와 같이 코딩을 하게 된다면 %f에는 3.14가 들어가게 되고 %d에는 10이 들어가게 됩니다. 따라서 프로그램상에서는 실수형 3.14 정수형 10 이라고 출력이 됩니다.


이렇게 여러가지 출력문자를 조합해서 프로그램 상에 출력을 할 수 있습니다. 아주 기초적인 부분이며 코딩을 직접해보고 프로그램상에서 어떻게 동작하는지를 알아야 이해하고 넘어갈 수 있습니다.


만약 출력타입을 잘못 지정해서 실수형인데 정수형을 쓰거나 정수형인데 문자형을 쓴다면 다른값이 출력될 수 있습니다. 따라서 출력타입의 지정은 정확하게 해주는 것이 중요합니다.


프로그래밍에서 아주 기초적인 printf와 출력타입에 대해 알아보았습니다. 기초가 되는 부분이기 때문에 이해하고 넘어가는 것이 좋습니다. 또한 프로그래밍으로 직접 해보며 어떻게 달라지는지 보는 것도 좋습니다.

 

이 댓글을 비밀 댓글로