안녕하세요 판타지코딩월드입니다.
저번 시간에는 printf 함수에 대해서 공부해 보았습니다.
printf 함수는 데이터를 출력하는 함수이므로 입력한 데이터를 그대로 출력하거나 변수에 저장된 데이터를 출력하는 방식으로 활용할 수 있습니다.
scanf 함수는 데이터를 입력 받는 함수이기 때문에 printf 함수와 같이 활용되는 경우가 많습니다.
오늘은 scanf 함수를 활용해서 데이터를 입력 받는 방법을 알아보겠습니다.
1. scanf로 입력 받기
scanf 함수는 데이터를 입력 받기 위해서 사용합니다.
데이터 입력을 위해서 데이터를 저장 할 변수가 필요하고, 입력 할 데이터의 형식을 작성해주면 됩니다.
아래의 코드를 보면서 scanf 함수 사용 방법을 알아보겠습니다.
scanf("%d", &num);
먼저 "%d"를 입력해서 입력 받을 데이터의 형식을 설정합니다.
그리고 입력 받은 데이터를 저장 할 변수의 주소값을 작성해줍니다.
이 때 변수 num에 저장할 데이터가 int형이므로 num 또한 int형으로 생성하고, 정수를 입력 받을 것이기 때문에 "%d"를 입력한 것입니다.
변수의 주소값은 어떻게 알까요?
바로 &num이라고 작성하면 됩니다.
printf 함수와의 차이점이 있다면 바로 변수를 입력하는 형태입니다.
printf 함수는 아래와 같이 입력하므로 &num으로 작성하지 않고 그대로 num으로 작성합니다.
printf("%d", num);
이런 부분 때문에 printf 함수보다 scanf 함수가 어렵게 느껴지실 수도 있는데, 이 부분만 암기하면 크게 어려울 건 없습니다.
우선은 기초를 학습하면서 printf 함수와 scanf 함수가 공통적으로 자료형과 일치하는 코드를 작성해준다는 점을 이해하고 알맞은 코드를 작성하는 연습을 하시면 좋겠습니다.
2. scanf 함수 활용하기
예제 코드를 보면서 scanf의 활용 방법을 알아보겠습니다.
학년 정보와 반 정보를 입력 받는 예제입니다.
printf 함수로 질문을 출력하고, scanf 함수로 답변을 입력 받아 변수에 저장하는 코드입니다.
int grade;
int num;
printf("학년 입력\n");
scanf("%d", &grade);
printf("반 입력\n");
scanf("%d", &num);
printf("%d학년 %d반", grade, num);
먼저 printf 함수로 학년에 대한 질문을 출력합니다.
그리고 scanf 함수로 답변을 입력하고, 이어서 printf 함수로 반에 대한 질문을 출력하면 마지막으로 scanf 함수로 반에 대한 답변을 입력합니다.
scanf 함수가 실행될 때 학년 정보를 입력하면 grade에 학년 데이터를 저장하고, 반 정보 입력 시에는 num에 반 데이터를 저장합니다.
그리고 마지막으로 printf 함수로 grade와 num 변수에 저장한 데이터를 출력합니다.
예제 코드를 한 가지 더 보겠습니다.
#include <stdio.h>
int main()
{
int num;
char a;
scanf("%d", &num);
scanf("%c", &a);
}
이번에는 문자형 데이터를 입력 받는 코드입니다.
int형 변수 num은 위와 마찬가지로 "%d"를 작성해서 정수를 입력 받습니다.
그런데 char형 변수 a는 num과 다르게 "%c"라는 코드를 작성합니다.
그 이유는 자료형이 다르기 때문입니다.
문자형의 경우에는 문자를 입력 받기 위해 "%c"를 작성합니다.
이처럼 자료형에 알맞은 코드를 작성하는 연습을 하시면 좋겠습니다.
오늘은 scanf 함수에 대해서 공부해 보았습니다.
scanf 함수는 데이터를 저장 할 변수가 필요하고, 해당 변수의 자료형과 일치하는 코드를 함수 내에 작성해 주어야 합니다.
이렇게 작성하면 입력 받은 데이터를 해당 변수에 저장하게 됩니다.
입력 받을 데이터의 형식을 작성하고, 저장할 변수를 설정하는 과정을 이해하고 연습해 보시면 좋겠습니다.
감사합니다!
'2024 C언어 강의' 카테고리의 다른 글
5강 C언어 - 자료형에 대해서 공부하자 (int, float, double, char) (0) | 2024.03.11 |
---|---|
3강 C언어 - 변수 생성하기 (메모리 공간, 데이터 타입, 자료형 이해하기) (1) | 2024.03.07 |
2강 C언어 - printf 함수로 출력하기 (%d가 무엇일까?) (2) | 2024.03.06 |
1강 C언어 기초 - C언어 학습에 앞서 이해해야 할 것 (0) | 2024.03.03 |