티스토리 뷰
🔷 C언어 printf 소수점 출력 완전 정리입니다
📌 printf로 숫자를 출력하려면 형식을 지정해야 합니다
C언어에서 printf 함수는 사람이 읽을 수 있는 형태로 숫자를 화면에 출력하는 함수입니다.
숫자는 메모리에 이진수로 저장되므로, 이를 사람이 읽을 수 있는 문자열로 출력하려면 반드시 형식을 지정해야 합니다.
서식 지정자를 사용해야 하며, 정수는 %d, 실수는 %f를 사용합니다.
🔷 실수 출력 기본: %f입니다
실수를 출력할 때는 서식 지정자 %f를 사용합니다.
아래는 가장 기본적인 예제입니다.
#include
int main() {
double pi = 3.14;
printf("%f", pi);
return 0;
}
📤 출력 결과
3.140000
%f를 사용하면 소수점 이하 6자리까지 출력됩니다.
예를 들어 변수 값이 3.14라 하더라도 출력 결과는 3.140000으로 나타납니다.
이것이 printf의 기본 동작입니다.
🔷 소수점 자리수 지정: %.숫자f입니다
소수점 자리수를 지정하려면 %.숫자f를 사용합니다.
. 뒤에 오는 숫자는 소수점 이하 몇 자리까지 출력할지를 나타납니다.
아래 예제처럼 사용합니다.
#include
int main() {
printf("%.2f\n", 3.141592);
return 0;
}
📤 출력 결과
3.14
다른 자리수의 예시는 다음과 같습니다.
#include
int main() {
printf("%.0f\n", 3.141592);
printf("%.1f\n", 3.141592);
printf("%.3f\n", 3.141592);
printf("%.6f\n", 3.141592);
return 0;
}
📤 출력 결과
3
3.1
3.142
3.141592
이처럼 자리수에 따라 출력 형식이 달라지고, 지정한 자리수보다 뒤쪽 숫자는 자동으로 반올림됩니다.
🔷 출력 폭 지정: %숫자.숫자f입니다
출력 폭을 지정하면 출력 문자열의 최소 길이를 지정할 수 있습니다.
폭이 출력될 숫자보다 크면 남는 칸만큼 왼쪽에 공백이 붙습니다.
폭이 출력될 숫자보다 작으면 폭 지정은 무시됩니다.
1️⃣ 출력 폭이 숫자보다 큰 경우입니다
#include
int main() {
printf("%8.2f\n", 12.3);
return 0;
}
📤 출력 결과
12.30
12.30은 5글자입니다. 폭이 8이므로 남는 3칸이 왼쪽에 공백으로 채워집니다.
2️⃣ 출력 폭이 숫자보다 조금 큰 경우입니다
#include
int main() {
printf("%6.2f\n", 12.3);
return 0;
}
📤 출력 결과
12.30
12.30은 5글자입니다. 폭이 6이므로 왼쪽에 공백 1칸이 붙습니다.
3️⃣ 출력 폭이 숫자와 같은 경우입니다
#include
int main() {
printf("%5.2f\n", 12.3);
return 0;
}
📤 출력 결과
12.30
12.30은 5글자입니다. 폭과 같기 때문에 공백이 붙지 않습니다.
4️⃣ 출력 폭이 숫자보다 작은 경우입니다
#include
int main() {
printf("%4.2f\n", 12.3);
return 0;
}
📤 출력 결과
12.30
12.30은 5글자입니다. 폭이 작기 때문에 폭 지정이 무시됩니다.
🔷 요약
- printf로 실수를 출력할 때는 반드시 %f 형식을 지정하며, 기본적으로 소수점 이하 6자리까지 출력됩니다.
- %.숫자f composes 소수점 이하 자리수를 지정할 수 있고, 지정한 자리수에서 자동으로 반올림됩니다.
- %숫자.숫자f를 사용하면 출력 문자열의 최소 길이를 지정하며, 폭보다 짧을 경우 왼쪽에 공백으로 채워집니다.
- 출력될 숫자가 폭보다 길면 폭 지정은 무시되며, 숫자는 그대로 출력됩니다.
'C언어' 카테고리의 다른 글
C언어에서 문자열 포인터와 서식문자(%c, %s) (0) | 2025.07.15 |
---|---|
C언어 구조체 포인터의 점(.)과 화살표(->) 차이 설명 (0) | 2025.07.15 |
비트연산자 << 와 >> 총정리 (0) | 2025.07.10 |
C언어 2차원 배열과 포인터 정리 (0) | 2025.07.07 |
포인터 증감 연산 완전정복 (0) | 2025.07.07 |
- Total
- Today
- Yesterday
- 코딩
- Python
- C++ 알고리즘
- c++알고리즘
- 프로그래밍
- c언어
- 동적 계획법
- dfs
- 브루트포스
- 객체지향
- 코딩 테스트
- 그리디알고리즘
- 문제 풀이
- 알고리즘 문제풀이
- 그리디
- DP
- python 알고리즘
- 알고리즘문제풀이
- 알고리즘기초
- 코딩테스트
- 파이썬
- 문자열처리
- 백준
- 알고리즘
- 파이썬코딩
- 그래프 탐색
- 문제풀이
- 인접 행렬
- 동적계획법
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 27 | 28 | 29 | 30 | 31 |