ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C언어 프로그램 출력에 대해
    Visual Studio/C 기초 2012. 9. 23. 15:39

    화면 출력 함수는 입력 함수와 마찬가지로 세 가지 종류로 구분되는데요, 문자 출력, 문장 출력, 형식화된 출력을 수행하는 함수가 있습니다.

    putchar()는 일반적으로 화면을 뜻하는 stdout에 출력 내용을 보내고, fputc()와 putc()는 출력 내용을 인수로 지정된 스트림을 보냅니다.

    int putchar(int c) //putchar()의 원형입니다.

    int로 형을 지시하긴 했지만 프로그램에선 char형으로 putchar()에 전달합니다. 0~255까지의 범위에 포함된다면 int형 값을 전달할 수 있습니다.

     

    #include <stdio.h>
    #define MAXSTR 80

    char message[] = "putchar() 표시.";

    main(){
     int count;
     for(count = 0;count < MAXSTR; count++)
     {
      if(message[count]=='\0') //message[0]의 값이 NULL값이 아니기 때문에 else로 넘어갑니다.
      {
       putchar('\n');
       break;
      }
     else
      putchar(message[count]);
     }

     

     

    프로그램은 화면에 문자를 1개씩 출력하기도 하지만 가끔 문자열을 자주 출력하게 됩니다. 라이브러리 함수 puts()는 문자열을 출력합니다. fputs()는 문자열을 지정된 스트림으로 전달하는데 스트림을 지정한다는 것을 제외하고는 puts()와 동일합니다.

    int puts(char *cp);

    포인터 cp는 출력하기 원하는 문자열의 첫 번째 문자에 대한 포인터입니다.

     

    #include <stdio.h>


    char *message[4] = {"이것은","짧은","문자열","입니다"};

    main(){
     int count;
     for(count = 0;count < 4; count++)
      puts(message[count]);
      puts("끝입니다.");
     

     

    한번 컴파일 해보세요^^

    이제 printf()와 fprintf()에 대해 설명해 드릴텐데요, 지금까지 설명해드린 함수는 문자와 문자열만을 출력했습니다. printf()와 fprintf()는 숫자까지 출력합니다. printf()는 항상 stdout으로 출력하는 반면에 fprintf()는 출력 스트림을 지정할 수 있습니다. 그 외의 기능은 동일합니다. fprintf()는 일반적으로 디스크 파일로 출력하는 경우에 사용됩니다.

    이제 printf()와 fprintf()가 공통적으로 사용하는 변환문자 출력에 대해 간단히 알아보겠습니다.

     

    d, i 

     부호가 있는 10진 정수형을 출력합니다.

    u

     부호가 없는 10진 정수형을 출력합니다.

    o

     부호가 없는 8진 정수형을 출력합니다.

    x, X

     부호가 없는 16진 정수형을 출력하고 x는 소문자, X는 대문자를 출력합니다.

    c

     1개의 문자를 출력합니다.

    e, E

     공학식 표기로 float나 double형을 출력합니다. 123.45는 1.234500e+002로 출력됩니다. 정밀도를 지정하지 않으면 소숫점 6번째 자리까지 출력됩니다. 출력에서 대소문자를 지정하기 위해 e나 E를 사용하면 됩니다.

    g, G

     소숫점 표기로 float나 double형을 출력합니다. 123.45는 123.450000로 출력됩니다. 마찬가지로 정밀도를 지정하지 않으면 6번째 짜리까지 출력됩니다.

    e, E, f중 하나를 사용합니다. 만약, 지수가 -3보다 작거나 default로 6으로 설정된 정밀도보다 크면 e나 E로 사용됩니다. 아닐경우 f를 사용하시면 됩니다.

    n

     아무 것도 출력하지 않습니다.

    s

     문자열을 출력합니다. NULL 문자가 나타나거나 default로 32,767로 설정되어 있는 정밀도를 다르게 지정할 경우 그만큼의 문자가 출력되고 NULL 문자는 출력되지 않습니다.

    %

     문자 %를 출력합니다.

     

    아, 그리고 printf()의 형식화 문자열은 출력되는 내용을 제어 해주는 '이스케이프 시퀀스(escape sequence)'를 포함할 수 있습니다. 예를 들어 형식화 문자열에 \n을 포함시키면 그 다음의 내용은 다음 줄 부터 시작되서 출력되죠.

    \a 

     경고음

    \b

     backspace

    \n

     새로운 줄

    \t

     수평 탭

    \\

     역슬래시

    \?

     물음표

    \'

     작은따옴표

    \"

     큰따옴표

    * \는 역슬래시 대신 표기한 것입니다.

     

    'Visual Studio > C 기초' 카테고리의 다른 글

    fprintf()  (0) 2012.10.22
    fopen()  (0) 2012.10.16
    C언어 프로그램 입력에 대해  (0) 2012.09.22
    C언어 연결리스트 (linked list)  (0) 2012.09.21
    C언어 함수 기초  (2) 2012.09.14

    댓글

Designed by Tistory.