표준 입력과 scanf — 숫자 입력과 주소 연산자 | 기초 C언어 4.3.1-4.3.2

기초 C언어Chapter 04 변수 › Section 03 표준 입력 (scanf) › 01~02

4.3.1~4.3.2 표준 입력과 scanf

코드에 값을 미리 적어 두는 대신 사용자가 직접 넣게 하는 법. 그리고 변수 이름 앞에 & 를 붙이는 까닭.

교재 수록 위치
교재
『기초 C언어』 · 이은상 · 부크크 · 364쪽
단원
Chapter 04 변수 › Section 03 표준 입력 (scanf) › 01 표준 입력이란? · 02 scanf를 이용한 숫자 입력
쪽수
101p ~ 104p4쪽
세부 내용
01 — 1 사용자에 의한 자료 입력101p · 2 기본 입력 장치 : 키보드101p
02 — 1 scanf 함수란?102p · 2 기본 사용법 — 변환 지정자 · 주소 연산자 &102p~103p · CODE 4.8103p~104p
학습 목표
scanf로 키보드에서 숫자를 입력받을 수 있고, 변수 이름 앞에 & 를 붙이는 까닭을 설명할 수 있다.

01표준 입력 — 값을 받는 기본 통로교재 101p

  • 입력(Input) — 프로그램이 실행되는 도중에 바깥에서 데이터를 받아들이는 과정. 결과를 보여 주는 출력(Output)과 반대되는 개념.
  • 표준 입력(Standard Input, stdin) — 별다른 설정이 없을 때 프로그램이 데이터를 받는 기본 통로. 콘솔 환경에서는 키보드.
  • 코드에 미리 적어 둔 값이 아님 — 실행 중에 사용자가 넣으므로 실행할 때마다 다른 값이 들어감.

02scanf — 바깥의 값을 변수 안으로교재 102p

  • printf — 변수 안의 값을 밖으로 꺼내 보임. scanf — 그 반대로 바깥의 값을 변수 안으로 집어넣음.
  • 기본 꼴 — 괄호 안에 넘겨 주는 것은 큰따옴표로 감싼 변환 지정자와 & 를 붙인 변수 이름, 두 가지뿐임.
  1. scanf("변환지정자", &변수이름);

03변환 지정자 — 받을 숫자의 종류교재 102p

지정자입력받는 값
%d10진수 정수 — int 형 변수에 받을 때
%f소수점이 있는 실수 — float 형 변수에 받을 때
  • 출력 때 쓰던 바로 그 기호이나 이번에는 값이 들어오는 쪽에 붙음 — 받는 변수의 자료형과 짝을 맞추는 일이 더 중요해짐.

04주소 연산자 & — 값을 넣을 자리교재 102p~103p

  • 주소 연산자(Address-of Operator) — 변수 이름 앞에 붙어 「이 변수가 저장된 메모리의 주소」라는 뜻. &age — age 변수의 주소.
  • 택배 — 집 안의 물건이 아니라 배송받을 집 주소를 알려 주어야 함. scanf 도 변수의 내용물이 아닌 메모리 주소를 받음.
  1. scanf("%d", &age);

여기서 자주 틀림

scanf 에서 가장 헷갈리는 자리 — & 의 유무. printf 는 값을 꺼내는 일이라 변수 이름만 적으면 되지만, scanf 는 넣을 자리를 알려 주어야 하므로 변수 이름 앞에 반드시 & 를 붙임. 이것 하나를 빠뜨려 프로그램이 엉뚱하게 도는 일이 가장 흔함.

전체 코드와 줄별 해설은 교재 103p~104p CODE 4.8 에 있습니다.

05scanf 를 만나면 잠시 멈춤교재 104p

  • 멈춤 → 입력 → 엔터 → 저장 — 실행이 scanf 에 닿으면 그 자리에서 멈춰 다음 줄로 넘어가지 않음.
  • 친 글자는 엔터를 누를 때까지 화면에만 머무름 — 엔터 전까지는 지우고 다시 쳐도 됨.
  • 엔터 뒤 scanf 가 값을 읽어 & 로 알려 준 주소에 찾아가 저장함.

이 절의 핵심 정리

  1. 표준 입력은 설정이 없을 때 프로그램이 데이터를 받는 기본 통로, 곧 키보드다.
  2. printf가 값을 꺼내 보인다면 scanf는 바깥의 값을 변수 안으로 집어넣는다.
  3. 기본 꼴은 scanf("변환지정자", &변수이름); 두 가지만 넘긴다.
  4. %d는 int 정수, %f는 float 실수를 받는다.
  5. & 는 값을 저장할 메모리 주소를 뜻하며, 빠뜨리면 프로그램이 엉뚱하게 돈다.
강의 자료4.3.1~4.3.2 표준 입력과 scanf 1 / 11

번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다
다음 절 · 4.3.3 scanf를 이용한 문자 입력 교재 105p~106p ↗

더 자세한 내용은 교재에서

이 글은 『기초 C언어』 101p~104p의 내용을 강의 영상에 맞춰 핵심만 간추린 요약입니다. 각 개념의 상세한 설명과 예제, 실습 코드, 임용시험 기출문제 풀이는 교재에서 다루고 있습니다.

댓글

이 블로그의 인기 게시물

2007년 국가직 9급 기계일반 기출문제 풀이

열역학의 개요 — 계·상태량·열과 일, 제1·제2법칙 | 기초 열역학 1.1