C언어/기초

C언어 printf, puts, putchar 출력 함수 정리

creator6556 2025. 5. 7. 06:26

1 printf 함수

1) 정의

표준 출력(stdout)에 다양한 타입의 데이터를 형식화하여 출력할 수 있는 함수


2) 기본 포맷 지정자

포맷 지정자 데이터 타입 설명
%d int 10진수 정수 출력
%f float, double 소수점 포함 실수 출력
%c char 문자 출력
%s 문자열 (char []) 문자열 출력
%x, %X unsigned int 16진수 (소문자/대문자)
%o unsigned int 8진수 출력
%% 없음 % 기호 출력

1-1 코드

#include <stdio.h>

int main(void) {
	int num1 = 10;
	double num2 = 3.14;
	char val = 'A';
	char str[] = "hello";
	unsigned int num3 = 10;

	printf("num1 : %d\n", num1);
	printf("num2 : %f\n", num2);
	printf("val : %c\n", val);
	printf("str : %s\n", str);
	printf("16진수 num3 : %x\n", num3);
	printf("8진수 num3 : %o\n", num3);
	printf("%%");

	return 0;
}

1-1 결과


3) 고급 포맷 지정자

포맷 지정자 데이터 타입 설명
&u unsigned int 부호 없는 10진수 정수 출력
%p 포인터 메모리 주소 출력
%e, %E float, double 지수 표기법 (e 또는 E)
%g, %G float, double 자동으로 %f 또는 %e 선택
%ld long int 긴 정수 출력
%lld long long int 매우 긴 정수 출력
%Lf long double 긴 실수 출력

1-2 코드

#include <stdio.h>

int main(void) {
	unsigned int num1 = 10;
	int* ptr = &num1;
	double num2 = 1.23e+45;
	long int num3 = 1234567;
	long long int num4 = 12345678901;
	long double num5 = 123456.78;

	printf("num1 : %u\n", num1);
	printf("ptr : %p\n", ptr);
	printf("num2 : %e\n", num2);
	printf("num3 : %ld\n", num3);
	printf("num4 : %lld\n", num4);
	printf("num5 : %Lf\n", num5);

	return 0;
}

1-2 결과


3) 출력 형식 제어

1-3 코드 : 최소 너비와 정렬

#include <stdio.h>

int main(void) {
	printf("%5d\n", 12);
	printf("%-5d\n", 12);

	return 0;
}

1-3 결과

1-4 코드 : 소수점 자리수 지정

#include <stdio.h>

int main(void) {
	printf("%.2f\n", 3.1415);

	return 0;
}

1-4 결과

1-5 코드 : 빈 자리 0으로 채우기

#include <stdio.h>

int main(void) {
	printf("%05d\n", 12);

	return 0;
}

1-5 결과


2 puts 함수

→ 문자열을 출력하고 자동으로 줄바꿈(\n)을 추가

→ 숫자 등 다른 타입은 출력 불가

2-1 코드

#include <stdio.h>

int main(void) {
	puts("hello, world!");

	return 0;
}

2-1 결과


3 putchar 함수

→ 문자 하나만 출력할 수 있는 함수

→ 반복문과 함께 사용

3-1 코드

#include <stdio.h>

int main(void) {
	char ch = 'A';
	putchar(ch);

	return 0;
}

3-1 결과


C언어 출력에 대해 더 알고 싶은 분들은 아래 링크에 접속

https://m.blog.naver.com/math717/223672608149


C언어의 다른 기능 혹은 다른 프로그래밍 언어에 대해 더 알고 싶은 분들은 아래 링크에 접속하여 원하는 부분의 링크로 접속

https://m.blog.naver.com/math717/223839406931