Software Engineering Blog

컴퓨터공학부 3학년 재학 중인 학생입니다. 백엔드를 주로 공부하며 금융 분야에 관심이 많습니다.

C언어/기초

<C언어 기초편> 1장 - scanf() 함수와 printf() 함수

준형 교수 2021. 1. 6. 23:25

 

안녕하세요.

공돌이 준형입니다.

 

이번 시간은 제가 배웠던 C언어 지식을 여러분들에게 

하나도 빠짐없이 공유해주는 시간 중 첫 번째 시간입니다.

 

scanf() 함수와 printf() 함수에 대해 자세히 알려드리겠습니다.

 

먼저 이 두개를 배우기 전에 알고가야할 것이 있습니다.

scanf와 printf는 사용자의 입력을 받는 함수와 화면에 출력을 하는 함수입니다.

하지만 사용자의 입력을 받아 데이터를 저장해두고 글자를 화면에 출력하는 과정이 필요하겠죠?

scanf와 printf만 단독으로 사용한다면 분명 오류가 발생할겁니다.

왜냐하면 scanf와 printf의 정의는 stdio.h 라는 헤더파일에 존재하기 때문이죠

 

그렇기 때문에 우리는 scanf와 printf를 사용하기 전에

먼저 두 함수가 정의되어 있는 헤더파일 stdio.h 를 불러와야합니다.

 

※여기서 stdio.h는 무엇일까요?

stdiostandard input output의 약자로

해석해보면 표준 입력 출력 입니다.

이러한 헤더 파일을 불러오기 위해서는 #include가 필요합니다.

#란 전처리기이며 컴파일을 수행하기 전에 먼저 처리하라는 기호입니다.

include는 말그래도 '포함하다'라는 뜻입니다.

 

 

즉, scanf와 printf를 사용하기 위해서는

코드의 맨 앞줄에 #include <stdio.h> (표준 입출력 헤더파일을 컴파일 수행 전에 먼저 포함해라.) 

를 적어주고 시작합니다.

 

자 그러면 이제 본격적으로 오늘의 주제인 scanf()와 printf()에 대해 알려드리겠습니다.

 

 

 

scanf

키보드로부터 데이터를 입력받는 함수입니다.

기본 적인 함수의 구조는

scanf("(입력 서식 문자)", (변수의 주소))

 

ex) %d형태로 입력을 받아 a라는 변수의 주소에 값을 저장한다.

#include <stdio.h>
int main(void)
{
    int a;
    scanf("%d, &a);
    return 0;
}

변수 앞에 &가 붙는다면 해당 변수의 주소를 의미합니다. 

여기서 입력 서식 문자와 변수에 관해서는 다음 시간에 더 자세히 설명드리겠습니다.

 

그리고 그 다음

printf

" " 사이의 내용을 출력하는 함수입니다.

기본적인 함수의 구조는

printf("~~~", 변수)입니다.

우측의 변수는 " " 사이에 출력 서식 문자가 사용 될 때 그 서식 문자 자리에 변수의 값을 넣어 출력합니다.

예를 들어

int age = 30;
printf("나는 %d살이다.", age);

만약 이런 식이라면 오른쪽의 30이 저장되어있는 age를 %d 형태로 출력한다는 소리죠.

 

만약 출력서식 문자를 여러개 사용하게 된다면 우측 변수 순서대로 출력이 됩니다.

int a = 1, b = 2;
printf("a는 %d이고 b는 %d입니다.", a, b);

앞에 %d에는 a가 그 다음 %d에는 b의 값이 출력되는 거죠.

 

지금까지 공돌이 준형이였습니다. 감사합니다