C언어 기초

[C언어 기초] printf 출력을 위한 서식지정자 %d %i %u %X %x %o %c %s %f %e %p %g %ld %lld %lu %llu

MNMNWVWV 2023. 3. 5. 01:24
728x90
반응형

C언어에서는 printf와 scanf를 이용한 입출력을 하기 위해서는 그 형태가 정수인지, 실수인지, 문자인지 등을 지정해주어야 한다. 

 

이때 사용되는 것이 서식지정자이며, 보통 '%'로 시작한다.

 

대표적으로 많이 사용되는 서식지정자는 %d, %f, %s, %c 가 있으며, 각각 정수형, 실수형, 문자열, 문자를 입출력할때 사용된다.

 

c언어에서 사용되는 서식지정자는 다음과 같다.

 

  • %d: 10진 정수를 출력할 때 사용됩니다.
  • %ld: 10진 long형 정수를 출력할 때 사용됩니다.
  • %lld: 10진 long long형 정수를 출력할 떄 사용됩니다.
  • %u: 10진 unsigned 정수를 출력할 때 사용됩니다.
  • %lu: 10진 long형 unsigned 정수를 출력할 때 사용됩니다.
  • %llu: 10진 long long형 unsigned 정수를 출력할 때 사용됩니다.
  • %f: 실수를 출력할 때 사용됩니다.
  • %lf: double형 실수를 출력할 때 사용됩니다.
  • %e: 지수 형태의 실수를 출력할 때 사용됩니다.
  • %c: 문자(character)를 출력할 때 사용됩니다.
  • %s: 문자열(string)을 출력할 때 사용됩니다.
  • %p: 포인터의 주소 값을 출력할 때 사용됩니다.
  • %x: 16진수(hexadecimal)를 출력할 때 사용됩니다.
  • %o: 8진수(octal)를 출력할 때 사용됩니다.
  • %%: % 문자 자체를 출력할 때 사용됩니다.

 

이러한 서식 지정자는 printf() 함수 등의 출력 함수에서 사용됩니다. 예를 들어, 다음과 같이 사용할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int main() {
 
    int num = 123;
    printf("num = %d\n", num);
 
    double pi = 3.141592;
    printf("pi = %f\n", pi);
 
    char str[] = "hello";
    printf("str = %s\n", str);
 
    int *ptr = &num;
    printf("ptr = %p\n", ptr);
    
    return 0;
}
cs
반응형

 

  • %g: 력할 값이 실수일 경우, 그 값에 따라 %f 또는 %e 서식 지정자 중 하나를 자동으로 선택하여 사용합니다.

보통, 작은 값의 실수는 %f, 큰 값의 실수는 %e 형태로 출력됩니다. %g 서식 지정자는 자동으로 이러한 변환을 수행하므로, 출력된 값의 자릿수가 적게 표시될 수 있습니다.

예를 들어, 다음과 같은 코드를 실행하면, 소수점 이하 0이 아닌 값이 있는 경우에는 %f 형태로 출력하고, 그렇지 않은 경우에는 %e 형태로 출력합니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main() {
 
    double x = 123.456;
    double y = 0.000123;
 
    printf("%g\n", x);  // 출력 결과: 123.456
    printf("%g\n", y);  // 출력 결과: 0.000123
    
    return 0;
}
cs

 

 

서식 지정자는 C 언어에서 출력을 다루는 중요한 개념 중 하나입니다. 서식 지정자를 제대로 이해하고 사용할 수 있다면, 프로그램에서 출력하는 값의 형식을 세밀하게 조절할 수 있습니다. 그러니 아무리 서식지정자가 기본적인 것이라도 꼼꼼히 공부하고 잘 활용합시다!

728x90
반응형