수업 목표
- 서식 지정자에 대해 배워본다.
- 진법에 대해 배워본다.
서식 지정자(Format Specifier)
printf() 함수 혹은 scanf() 함수와 같은 입출력 함수들과 함께 쓰여서 양식에 맞게 입출력 할 수 있게끔 도와주는 지정자. 문자열의 원하는 위치에 서식 지정자를 넣어서 사용합니다.
서식 지정자의 종류
1️⃣%d: decimal의 약자. 10진수로 대체됩니다.
2️⃣%o: octal의 약자. 8진수로 대체됩니다. ex) 9(10) <-> 11(8)
3️⃣%x: hexadecimal의 약자. x는 소문자, X는 대문자로 대체됩니다. ex) 17(10) <-> 11(16)
4️⃣%u: unsigned의 약자. 양수로 대체됩니다.
5️⃣%c: character의 약자. 문자로 대체됩니다.
6️⃣%s: string의 약자. 문자열로 대체됩니다.
7️⃣%f: floating point의 약자. single precision.
8️⃣%lf: double precision floating point.
서식 지정자는 왜 필요할까요?
3245라는 숫자를 문자열에 편입시키기 위해서 printf(“Result: %d”, 3245)라고 적을 수 있습니다. 또한 서식 지정자를 활용하면 계산 결과도 얻어 낼 수 있습니다. 3245 * 2342의 계산 결과를 화면에 출력시키기 위해 printf(”Result: %d”, 3245 * 2342)라고도 적을 수 있습니다. 즉, 복잡한 수식을 빠른 시간안에 계산하고 그 결과를 원하는 형식으로 보기 위함입니다. 복잡한 소스코드를 작성할 때 디버깅 용도로 요긴하게 사용되기도 합니다.
Ex010601) 서식시정자
#include <stdio.h>
int main(void)
{
printf("%d", 3245 * 2342);
printf("%f", 3245 * 2342);
return 0;
}
printf() 함수 코드를 정확하고 쉽게 이해하는 방법
뒤에서부터 해석하면 훨씬 쉬워집니다. 결국 영어로 작성하기에, 어순이 우리나라와 다릅니다. printf(”%d”, 3245 * 2342); 라는 코드는 “3245 * 2342를 %d 형식으로 printf해라”라고 해석합니다. 후에 배울 scanf()도 동일하게 뒤에서부터 해석하는게 편합니다.
Ex010602) 정수 서식지정자
#include <stdio.h>
int main(void)
{
printf("[%d]\n", 65536);
printf("[%2d]\n", 65536);
printf("[%5d]\n", 65536);
printf("[%7d]\n", 65536);
printf("[%-7d]\n", 65536);
printf("[%07d]\n", 65536);
printf("[%+7d]\n", 65536);
return 0;
}
Ex010603) 실수 서식지정자
#include <stdio.h>
int main(void)
{
printf("[%f]\n", 3.141592);
printf("[%.2f]\n", 3.141592);
printf("[%.10f]\n", 3.141592);
printf("[%5.2f]\n", 3.141592);
printf("[%5.10f]\n", 3.141592);
printf("[%+20.10f]\n", 3.141592);
printf("[%-20.10f]\n", 3.141592);
return 0;
}
'코딩' 카테고리의 다른 글
| 챕터 1-7 : 리터럴 (0) | 2026.02.24 |
|---|---|
| 개선된 계산기 프로그램 작성해보기 (0) | 2026.02.24 |
| 챕터 1-5 : main() 함수와 printf() 함수 (0) | 2026.02.23 |
| 챕터 1-4 : 프로젝트와 소스코드 생성 (0) | 2026.02.23 |
| 챕터 1-3 : Compiler (1) | 2026.02.23 |