입출력 함수와 연산자 - 1

함수의 기본 개념, 표준 입출력 함수의 종류와 사용법.
입출력 양식 변환 기호.

  • 학습 목표

    1. C 언어에서의 함수를 이해.
    2. 표준 입출력 함수의 사용.
    3. 입출력 양식 변환 기호 사용..
  • 주요 용어

    • 함수 : 특정한 작업(기능)을 수행하도록 설계된 독립적인 프로그램.
    • 표준 함수 : C 언어 자체적으로 제공하는 함수.
    • 사용자 정의 함수 : 사용자가 정의하여 사용하는 함수.
    • 표준 입출력함수 : 자료의 입출력을 위해 C 언어에서 제공하는 함수.

 


 

표준 입출력 함수

함수 : 특정한 작업(기능)을 수행하도록 설계된 독립적인 프로그램.

 

C언어에서의 함수

  • 표준 함수 : C 언어 자체에서 제공하는 함수.
  • 사용자 정의 함수 : 사용자가 정의하여 사용하는 함수.

 

표준 입출력 함수의 종류

 

표준 출력함수 기능
printf() 화면에 여러 종류의 자료를 출력
putchar() 화면에 1개의 문자를 출력
puts() 화면에 문자열 출력

 

표준 입력함수 기능
scanf() 키보드를 통해 여러 종류의 자료를 입력 받음
getchar() '' 1개의 문자를 입력
gets() '' 문자열 출력

 


 

표준 출력 함수

출력양식 변환 기호

%문자 변환 형식 인자의 자료형
%d 부호 있는 10진 정수 정수형, 문자형
%u 부호 없는 10진 정수 정수형, 문자형
%f 부동소수점형식 실수형
%e, %E 지수 형태 실수형
%c 한 문자 정수형, 문자형
%s 문자열 문자열 포인터
%o 부호 없는 8진수 정수형, 문자형
%x, %X 부호 없는 16진수 정수형, 문자형

 

  #include <stdio.h>
  int main()
  {
    // 양식 변환 기호의 사용 예
    printf("%c\n", 'a');        //  a
    printf("%d\n", -123);       //  -123
    printf("%o\n", 123);        //  173
    printf("%x\n", 123);        //  7b
    printf("%X\n", 123);        //  7B
    printf("%f\n", 123.456789); //  123.456789
    printf("%e\n", 123.456789); //  1.234568e+02
    printf("%s\n", "asdf");     //  asdf

    printf("|%d|\n", 123);        // |123|      -> 숫자의 길이만큼 출력 폭이 자동 지정 됨.
    printf("|%5d|\n", 123);       // |  123|    -> 총 5자리 오른쪽 정렬.
    printf("|%-5d|\n", 123);      // |123  |    -> 총 5자리 왼쪽 정렬.
    printf("|%05d|\n", 123);      // |00123|    -> 총 5자리 공백은 0 오른쪽 정렬.
    printf("|%6.1f|\n", 123.45);  // | 123.5|   -> 소숫점 포함 총 6자리, 소수점 이하 1자리 출력
    printf("|%07.2f|\n", 123.45); // |0123.45|  -> 소숫첨 포함 총 7자리, 소수점 이하 2자리 출력, 공백은 0

    return 0;
  }

 

 

printf()

  • 형식 : printf("출력 양식", 변수1, 변수2, ..);
  • 기능 : 주어 진 출력양식으로 자료를 출력한다.
  • 사용 예
    • printf("This is an example\n");
    • printf("A=%d, B=%c\n", a, b);

 

  #include <stdio.h>

  int main()
  {
    char c = 'A';
    int i = 10, j = 20, k = 30;

    printf("simple print program\n");
    printf("c = %c, c\'s ASCII CODE : %d\n", c, c);
    printf("i = %d, j = %d, k = %d\n", i, j, k);

    return 0;
  }

 

 

putchar()

  • 형식 : putchar();
  • 기능 : 한 문자를 출력.
  • 사용 예
    • putchar('A');

 

  #include <stdio.h>

  int main()
  {
    char c = 'C';

    putchar(c);
    putchar(c + 1);   // 수식이 사용 됨.
    putchar('\n');    //  개항.
    putchar('E');     //  문자형 상수.
    putchar('E' + 2); // 수식 실행.
    putchar('\007');

    return 0;
  }

 

 

puts()

  • 형식 : puts(변수);
  • 기능 : 문자열을 입력 받음.
  • 사용 예
    • char s[50] = "Jeaha";
    • puts(s);

 

#include <stdio.h>

int main()
{
  char s1[] = "Jeaha In ";
  char s2[] = "The C Hell.";

  puts(s1);
  puts(s2); //  \n을 사용하지 않아도 자동으로 줄바꿈이 됨.

  printf("%s", s1);
  printf("%s\n", s2); //  \n을 사용하지 않아서 문자열이 연결되어 출력 됨.
  return 0;
}

 


 

표준 입력 함수

입력 양식 변환 기호

%문자 변환 기능
%d 정수
%ld long
%f 실수형
%lf double 실수형
%c 문자형
%s 문자열

 

scanf()

  • 형식 : scanf("입력 양식", &변수1, &변수2, ..);
  • 기능 : 주어진 양식으로 자료를 입력받아 지정된 변수에 저장.
  • 사용 예
    • scanf("%d", &d);

 

  #include <stdio.h>
  // 권장하지 않은 함수에 대한 경고 무시 요청.
  #pragma warning(disable : 4996)
  int main()
  {
    int i1, i2;
    float j1, j2;

    printf("\n>>> insert integer : ");
    scanf("%d %d", &i1, &i2);

    printf("\n>>> insert float or double : ");
    scanf("%f %f", &j1, &j2);

    printf("\n--------------------------------\n");
    printf("\nint\n\t1 : %d\n\t2 : %d\n", i1, i2);
    printf("\nfloat\n\t1 : %f\n\t2 : %f\n", j1, j2);

    return 0;
  }

 

 

getchar()

  • 형식 : getchar();
  • 기능 : 한 문자를 입력받아 지정된 변수에 저장.
  • 사용 예
    • a=getchar();

 

#include <stdio.h>

int main()
{
  char a;

  printf("\ninsert one char : ");
  a = getchar();
  printf("a = %c\n", a);

  return 0;
}

 

 

gets()

  • 형식 : gets();
  • 기능 : 문자열을 입력 받음.
  • 사용 예
    • char s[50];
    • gets(s);

 

  #include <stdio.h>
  #pragma warning(disable : 4996)
  int main()
  {
    char s[50];
    printf("\ninsert string : ");
    gets(s);

    printf("string inserted by gets() : %s\n", s);

    printf("\ninsert string : ");
    scanf("%s", s); //  공백 문자로 문자를 구분하기 때문에, 공백이 생기면 n개의 문자열로 인식함.
    printf("string inserted by scanf() : %s\n", s);

    return 0;
  }

 

728x90
반응형

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

[C] 함수와 기억 클래스 - 1  (0) 2020.12.20
[C] 선택 제어문과 반복 제어문  (0) 2020.12.20
[C] 입출력 함수와 연산자 - 2  (0) 2020.12.20
[C] 자료형과 선행 처리기  (0) 2020.12.14
[C] C 언어의 개요  (0) 2020.12.13

+ Recent posts