728x90
이전에 배운 학습을 응용해서 표준입력 하는 코드를 알아보려고 합니다. 키보드로 원하는 입력값을 직접 입력하는 scanf 함수를 활용하여 조금 더 유연하게 프로그램을 작성할 수 있습니다. 오늘은 scanf 함수의 사용 방법과 간단한 예시를 통해 C언어의 표준입력을 배워보겠습니다.
1. 표준입력 기본개념(scanf)
- scanf() 함수는 표준 입력 스트림(주로 키보드)에서 데이터를 읽어와 프로그램의 변수를 초기화하는 데 사용됩니다.
- 형식 지정자(format specifier)를 사용하여 입력받을 데이터의 타입을 정의합니다.
- format - 변수사양 입력의 형식을 지정하는 문자열로 형식 지정자가 포함됩니다.
- %d: 정수형(int)
- %f: 단정도 실수형(float)
- %lf: 배정도 실수형(double)
- %c: 문자형(char)
- %s: 문자열(char 배열)
- &변수 - 입력받은 값을 저장할 변수의 주소입니다. 주소는 연산자를 사용하여 제공합니다.
- scanf(%d, &age); 정수형 int age;
- scanf(%lf, &salary); 실수형 float salary;
- scanf(%c, &grade); 문자형 char 'grade';
- 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); &사용합니다.
- 정수를 입력받아 연산할 수 있습니다. scanf("%d", &x); int x
- 정수의 값을 실수형으로 출력할 수 있습니다. 캐스트연산자 사용(double(x+y+z)/3)
- 실수형 자릿수를 원하는 형태도 가능합니다. 예) → 2자리 소수점 %.2f, 3자리 %.3f
감사합니다.
'프로그램' 카테고리의 다른 글
[C언어]관계, 논리연산자와 조건문(if~else) 기초예시 6강 (226) | 2024.08.27 |
---|---|
[C언어]다양한 연산자의 사용법과 우선순위 기초예시 5강 (199) | 2024.08.24 |
[C언어] 변수 사용하기 기초예시 3강 (219) | 2024.08.14 |
[C언어] 형식 지정과 비트, 바이트, 이진수 진법 변환 기초예시 2강 (200) | 2024.08.09 |
[C언어]와 C++ 차이점, C언어 기초예시 1강 (209) | 2024.08.04 |