본문 바로가기
프로그램

[C언어] 표준입력 scanf 기초예시 4강

by y은광 2024. 8. 21.
728x90

이전에 배운 학습을 응용해서 표준입력 하는 코드를 알아보려고 합니다. 키보드로 원하는 입력값을 직접 입력하는 scanf 함수를 활용하여 조금 더 유연하게 프로그램을 작성할 수 있습니다. 오늘은 scanf 함수의 사용 방법과 간단한 예시를 통해 C언어의 표준입력을 배워보겠습니다.

 

1. 표준입력 기본개념(scanf)

  • scanf() 함수는 표준 입력 스트림(주로 키보드)에서 데이터를 읽어와 프로그램의 변수를 초기화하는 데 사용됩니다.
  • 형식 지정자(format specifier)를 사용하여 입력받을 데이터의 타입을 정의합니다.
  • format - 변수사양 입력의 형식을 지정하는 문자열로 형식 지정자가 포함됩니다.
    • %d: 정수형(int)
    • %f: 단정도 실수형(float)
    • %lf: 배정도 실수형(double)
    • %c: 문자형(char)
    • %s: 문자열(char 배열)
  • &변수 - 입력받은 값을 저장할 변수의 주소입니다. 주소는 연산자를 사용하여 제공합니다.
    1. scanf(%d, &age); 정수형 int age;
    2. scanf(%lf, &salary); 실수형 float salary;
    3. scanf(%c, &grade); 문자형 char 'grade';
    4. scanf(%s, &name): 문자열 char name[40];

2. 표준입력 유의사항

  • 주소 연산자 : scanf()는 변수의 주소를 필요로 하므로, 정수형 변수의 경우 &age와 같이 사용해야 합니다.
    • 문자열의 경우 배열 이름이 주소를 나타내므로&를 붙이지 않습니다.
  • 버퍼 오버플로우 : %s를 사용할 때 입력 길이에 주의해야 합니다. 입력 길이를 제한하지 않으면 버퍼 오버플로우가 발생할 수 있습니다.
  • 입력 오류 처리 : 사용자가 잘못된 형식의 데이터를 입력할 경우를 대비해 오류 처리를 고려해야 합니다.

3. 표준입력 기초예시

  • 문자열 입력 시 대괄호로 수치를 지정하고 선언합니다. char name[40]; scanf("%s", name); &사용 안 합니다.
    • 여러 글자를 입력해서 사용할 수 있습니다.  char name[ 100 ]; 대괄호 안 숫자만큼 글자수를 사용함
  • 문자형 입력 시 char grage; scanf("%c", &grade); &사용합니다.

표준입력2
표준입력3

 

  • 정수를 입력받아 연산할 수 있습니다. scanf("%d", &x); int x
  • 정수의 값을 실수형으로 출력할 수 있습니다. 캐스트연산자 사용(double(x+y+z)/3) 
  • 실수형 자릿수를 원하는 형태도 가능합니다. 예) 2자리 소수점 %.2f, 3자리 %.3f

표준입력4

 

표준입력5

 

 

감사합니다.