본문 바로가기
PL (Programming Language)/C

[C] printf 함수로 출력형식 지정하기 (출력 자릿수 고정, 소수 반올림)

by jangThang 2023. 4. 19.
반응형

 printf 함수는 특정 데이터의 출력형식을 바꿔서 출력할 수 있습니다. 그 방법을 알아봅니다.

 

[ Contents ]

     

     

    1. 출력형식

    출력형식 출력 데이터 출력 예시
    %d 10진수 정수형 10
    %o 8진수 정수형 12 (8진수로 10)
    %x 16진수 정수형 a (16진수로 10)
    %u 부호없는 10진수 정수형 10
    %c 한 문자 a
    %s 문자열 hello
    %f 소수 형태의 실수형 0.100000
    %e 지수 형태로 실수형 1.000000e-1
    %g 소수와 지수 형태 중 짧은 걸로 출력 0.1

     

     출력형식에 따라 진법변환도 가능하며, 데이터 타입을 정해줄 수 있습니다. 출력형식은 특히 변수와 더불어서 많이 사용합니다. C언어는 다른 언어처럼 +연산자로 텍스트와 변수를 병합하거나, f-string 같은 게 없습니다.

     

    for(int i=1; i<5; i++){
    	    printf("%d 번째 반복입니다.\n", i);
    }

     따라서 텍스트 사이에 변수값을 출력하고 싶을 때에는 출력형식을 사용해야 합니다.

     

     

     

    2. 자릿수 조정

    %n*: 해당 출력형식을 n자리까지 표시 (빈 공간은 공백문자로 채움)
    %0n*: 해당 출력형식을 n자리까지 표시 (빈 공간은 0으로 채움)

     

     자릿수를 n을 고정할 수 있습니다. 보통 일정한 길이의 문장형식을 유지하기 위해 사용합니다.

     

     

    1) 문장형식 고정

    char* fruit[3] = {"apple", "kiwi", "banana"};
        
        for(int i=0; i<3; i++){
    	    printf("%s 은 %d 번째 과일입니다.\n", fruit[i], i+1);
        }
        return 0;

     과일의 글자수에 따라 문장 전체가 밀리는 경향이 있습니다.

     

     

    char* fruit[3] = {"apple", "kiwi", "banana"};
        
        for(int i=0; i<3; i++){
    	    printf("%6s 은 %d 번째 과일입니다.\n", fruit[i], i+1);
        }
        return 0;

     반면 출력 자릿수를 고정하면, 일정한 문장형식을 유지할 수 있습니다.

     

     

     

    2) 소수점 자릿수 조정(반올림)

    printf("%.3f", 3.141592);

     소수점 자릿수를 제한할 때에도 많이 쓰입니다.

     "%.nf" 는소수점 아래 n자리만큼만 반올림해서 출력합니다. 

     

     

     

    star가 되고나서 Tistory

    반응형

    댓글