04. 표준입출력 (2)

6953 단어 CC

scanf

키보드로 데이터를 입력받는 함수이며 printf와 마찬가지로 stdio.h 헤더 파일이 필요하다.

기본 구조는 아래 이미지와 같이 이루어져 있다.

입력 서식 문자는 출력 서식 문자와 비슷한 개념이다. 위 그림에서 입력을 저장하는 변수에 &a라고 되어 있는데, a가 변수이며 &a는 a의 메모리 주소이다. 엠퍼센드라고 부른다.

즉, a를 부르면 a에 저장된 값을 부르는 것이고, &a를 부르면 a의 메모리 공간의 주소를 부르는 것이다.

입력 서식 문자

정수를 입력해보자.

%d 10진수 정수 입력
%x 16진수 정수 입력
%o 8진수 정수 입력

-> 정수이므로 셋다 int변수

#include <stdio.h>
int main(void)
{
    int a, b, c;

    printf("10진수 정수 1개 입력 : ");
    scanf("%d", &a);
    printf("10진수 : %d, 16진수 : %x, 8진수 : %o \n", a, a, a);

    printf("16진수 정수 1개 입력 : ");
    scanf("%x", &b);
    printf("10진수 : %d, 16진수 : %x, 8진수 : %o \n", b, b, b);

    printf("8진수 정수 1개 입력 : ");
    scanf("%o", &c);
    printf("10진수 : %d, 16진수 : %x, 8진수 : %o \n", c, c, c);

    return 0;
}
실수를 입력해보자.

%f float형 실수 입력
%lf double형 실수 입력

-> 각각 float, double 형 변수로 받음

%e float형 e표기법에 의한 실수 입력
%le double형 e 표기법에 의한 실수 입력

-> 각각 float, double 형 변수로 받음

#include <stdio.h>
int main(void)
{
   float f1, f2;
   double d1, d2;

   printf("float형 실수 두 개 입력 : ");
   scanf("%f %e", &f1, &f2);
   printf("floqt형 실수 출력 : f1 = %f, f2 = %e \n", f1, f2);

   printf("double형 실수 두 개 입력 : ");
   scanf("%lf %le", &d1, &d2);
   printf("double형 실수 출력 : d1 = %lf, d2 = %le \n", d1, d2);

   return 0;
}
기타 나중에 배울 것

%c 한 개의 문자 입력
%s 문자열 입력
%u 10진수 정수(양수만 표현 가능) 입력

좋은 웹페이지 즐겨찾기