본문 바로가기
Study/C

4. 입력문(scanf), return, 주석

by JmcH 2020. 2. 27.

출력의 친구인 입력문입니다. 원래 둘을 같이 배우는게 정석이지만

저는 입력문이 초보자에게 더 어렵다고 생각하여 둘을 따로 보겠습니다.

 

일단 기본적으로 알아야 할것들입니다.

입력문은 출력문과 반대로 까다로운 함수입니다.

무언가 만족시켜야 할것이 많습니다.

scanf("입력 형식", (&)데이터 변수)형태로 입력해줘야 합니다.

 

#입력형식종류

%d : 10진수 형태로 입력받음

%o : 8진수 형태로 입력받음

%x : 16진수 형태로 입력받음

%c : 한 문자를 문자형으로 입력받음

%s : 문자열의 형태로 입력받음

%f : 부동 소숫점의 형태로 입력받음

등이 있습니다.

 

#데이터 변수

정수형 데이터를 받을때에는 변수값앞에 &를 붙여 사용합니다.

문자형 데이터를 받을때에는 변수값만 사용하면 됩니다.

 

이것을 알고 넘어가야 이해가 쉽습니다.

1번 줄의 #define _CRT_SECURE_NO_WARNINGS 는 보안상 문제로 적은 것입니다.

scanf의 구조가 보안상의 문제가 발생할 수 있어 scnaf_s함수를 쓰는데

표준 함수로 진행하다보니 오류가 발생해 적어뒀습니다.

 

5번 줄의 int num; 은 변수를 선언한 것입니다.

쉽게말해 'int를 사용해서 num이라는 형태의 변수를 사용하겠다' 라고 선언하는 겁니다.

변수는 뒷내용에서 자세하게 설명하기위해 간단하게 설명하겠습니다.

 

8번 줄의 scanf("%d", &num);'입력을 받겠다. 정수형으로, num이라는 변수안에;' 로 생각하시면 쉽습니다.

scanf를 사용해서 " "안에 입력받을 형태의 종류를 기입하고 쉼표해주시고

입력받을 형태가 정수형이면 &사용후 입력값을 대입시킬 변수값 아니라면 입력값을 대입시킬 변수값만 적습니다.

 

9번 줄의 printf 함수의 뒷쪽을 보시면 %d 사용 >> 쉼표 사용 >> num변수가 나오는데 이것의 의미는

출력문에서 %d가 그대로 나오는 것이 아닌 '%d 자리에 num변수에 들어있는 값을 보여주겠다' 라는것입니다.

 

12번 줄의 return0;끝마침이라는 뜻을 가지고 있는 함수입니다.

기본적으로 return이 실행이 되면 함수가 종료됩니다. 쉽게 말해서 실행되고 있는 함수를 빠져나가라 라는 뜻입니다.

기본적으로 return1; 과 return0;이 있습니다.

 

7번과 8번 줄의 뒤에 있는 // 표시는 주석입니다. 명령문에 대해서 자신의 설명을 적을 때 사용합니다.

//을 사용하면 그 뒤에 쓴 텍스트는 컴파일 되지 않습니다.

주석에는 //, /* */ 등이 있습니다.

 

 

출력된 cmd창을 보겠습니다.

첫줄의 printf가 실행되는 모습을 볼 수 있습니다.

여기서 100을 입력하면 100이라는 숫자는 num이라는 변수의 값이 됩니다.

입력을 마치고 엔터키를 누르면 밑의 그림처럼 실행됩니다.

 

두번째  printf가 실행됩니다.

printf를 코딩했던 부분에는 100이라는 숫자가 적혀있지 않았지만

%d는 num을 정수 값으로 출력하게 되고 num값은 100으로 입력했기때문에 100이 출력되게 됩니다.

 

읽어주셔서 감사합니다.

 

'Study > C' 카테고리의 다른 글

6. 자료형, sizeof()  (0) 2020.02.28
5. 변수, 상수  (0) 2020.02.27
3. 기본 코딩, 출력문(printf), 출력 제어문자  (0) 2020.02.26
2. 새 프로젝트 만들기  (0) 2020.02.24
1. 설치가이드 및 실행 (visual studio 2019 community)  (0) 2020.02.12