티스토리 뷰

이번에는 printf를 다양하게 사용해보면서 어떤 형식으로 출력이 가능한지 알아보도록 하겠습니다.

 

printf는 사실 많은 기능을 담고 있으며 이러한 것을 알기 때문에 C를 배우기 시작할때 중요하게 다뤄지는 부분 중에 하나입니다.

 

 

우선 그렇다면 printf를 다양하게 사용하며 알아 두기 위해 먼저 예제를 한번 볼까요?

 

예제

#include <stdio.h>
/*C언어 print 다양하게 사용하기 
주석 항상 습관화 해두세요~!*/

int main(void)
{
    //제어문자 사용하기
    printf("줄 바꾸기\n");
    printf("탭\t넣어주기\n");
    printf("a를 b로 바꾸기 a -> a\bb");
    printf("\n"); //가독성을 위해 줄바꿈 하겠습니다.
    printf("c입니다. c를 d로 바꾸기\rd \n");
    //다양한 출력 방법
    printf("숫자 출력해보기 %d \n", 1);
    printf("두개 숫자 출력 %d %d \n", 1,2);
    printf("계산식 출력 %d\n", 1+2);
    printf("실수형 출력 %f\n", 123.456);
    printf("소수점 3자리까지 %.3f\n", 123.456);
    return 0;
}

 

출력된 화면 입니다.

보시는 것도 좋지만 실제로 소스코드를 실행해보시는 것을 추천합니다.

 

 

하나씩 설명 드리겠습니다.

 

우선 먼저 제어문자 붙어 설명해 드리겠습니다.

 

첫번째로 \n입니다.

이것은 줄바꿈 기능을 하는 것으로 줄 바꿈을 하지 않은 상태로 출력하게 한 것과 비교 해보겠습니다.

 

 

 

출력된 값을 보시면 줄바꾸기\n을 사용한 것이고 줄바꾸지않기를 사용한 것입니다.

마지막 확인을 위해 문단끝을 작성하였습니다.

 

두번째 탭넣기로 쓰는 것은 \t입니다.

이번에도 비교를 해보겠습니다.

 

 

탭을 넣은 것이고 탭을 넣지 않은 것의 차이입니다.

 

 

세번째는 단어 바꾸기 입니다.

\b 앞에 바꾸려고 하는 단어, 뒤에는 바꿀 단어를 사용합니다.

a를 c로 바꾸고 싶다면 a\bc 로 사용하시면 됩니다.

 

 

네번째로는 첫 단어 바꾸기 입니다.

\r 뒤에 바꾸고 싶은 단어를 쓰시면 바꾸기게 됩니다.

abcde를 출력하려고 했을 때 실수로 fbcde라고 쓰게 되었다면 \ra를 붙여서 작성합니다.

이렇게 고쳐진 채로 출력하게 되면 가장 앞에 단어 f가 a로 바뀌게 되며 abcde가 출력 되게 됩니다.

 

 

이번에는 출력형태 지정입니다.

 

기본적으로 printf는 단어를 출력하게 됩니다.

하지만 숫자로 출력하고 싶을때는 %d를 사용하여 출력하실 수 있습니다.

 

사용하시는 방법은 ("%d",1)이 되겠습니다.

보이는 것과 같이 ,로 구분하여 뒤쪽에 집어 넣을 값을 지정할 수도 있고 계산식을 넣을 수도 있으며 변수를 지정하여 넣을 수도 있습니다.

예제 하나 더 만들어 드리겠습니다.

 

 

#include <stdio.h>
int main()
{
    int a = 111;

    printf("%d\n",111);
    printf("%d\n",-111+222);
    printf("%d\n",a);
}

 

 

보시는 것과 같이 소스를 컴파일 하여 실행해보겠습니다.

 

결과 값인데요 어느정도 이해가 되시나요? 값, 계산식, 변수 세가지 모두 111을 지정하였고 그 결과 값 또한 그대로 나타나고 있습니다.

 

 

 

 

이번에는 실수형을 살펴볼 텐데요.

다른 점이라면 %f의 기본은 소수점 아래 6자리까지 노출이 되도록 되어있습니다. 따라서 %뒤에 소수점 몇자리까지 표현할 것이다 라는 것을 숫자로 표시 가능한데요.

 

#include <stdio.h>

int main()
{
    float a = 12.3456789;
    printf("%f\n",a);
    printf("%.7f\n",a);
    printf("%.6f\n",a);
    printf("%.2f\n",a);
    printf("%.1f\n",a);
    printf("%.0f\n",a);
}

 

 

이 소스를 컴파일 하여 출력된 화면입니다.

 

 

출력된 화면을 보시면 마지막 숫자가 뭔가 이상하다는 것을 느끼셨을 껍니다.

 

이것은 자리수가 마지막일때 출력되지 않는 값을 반올림 하는 것입니다.

두번째의 숫자는 그렇다면 왜 3이 출력되었는지 궁금하실텐데요

다양한 시험을 해봤는데 의미 있는 값은 아닌 것 같습니다.

float가 소수점 위와 소수점 아래의 포함하여 8자리가 표현이 되는데 출력된 것을 보시면 12.345678 여기까지는 제대로 출력이 되고 그 뒤의 값은 쓰레기 값이 붙는 것  같습니다. 다양한 시험을 해봤는데 어떤 의미나 패턴을 가지고 붙는 값은 아닌 것 같습니다. 혹시나 더 정확하게나 자세히 알고 계시는 분은 말씀 주시면 감사하겠습니다.

 

 

마지막으로 문자와 문자열을 출력하는 것을 설명 드리겠습니다.

 

#include <stdio.h>

int main()
{
    printf("%c\n",'A');
    printf("%s\n","abcde");
}

 

 

문자는 %c , 문자열은 %s를 사용하여 출력 할 수 있습니다.

 

여기서 주의 하실 점은 문자의 경우 ' '안에 한 글자가 들어가야 하며 문자열의 경우는 " " 안에 단어가 들어가야 합니다.

 

 

여기까지 printf에 대한 설명이였습니다. 다음에 또 공부해서 글을 쓰도록 하겠습니다. 그럼 다들 수고하세요

'Coding > C' 카테고리의 다른 글

변수 사용하는 법  (0) 2018.05.11
C의 Data type  (0) 2018.05.03
C언어 주석의 이유와 주석 달기 방법  (2) 2018.04.27
C의 기본 구성 (Hello world 출력)  (0) 2018.04.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함