Search

No.19 scanf( ) 함수 예제.

C언어 기초 2015. 4. 18. 09:00 Posted by 네트동자

01: #include <stdio.h>

02: int main(void)

03: {

04: int a, b, c;

05:

06: printf("10진수 정수 1개 입력: ");

07: scanf("%d", &a);

08: printf("10진수 : %d, 16진수 : %x, 8진수 : %o \n", a, a, a);

09:

10: printf("16진수 정수 1개 입력 : ");

11: scanf("%x", &b);

12: printf("10진수 : %d, 16진수: %x, 8진수 : %o \n", b, b, b);

13:

14: printf("8진수 정수 1개 입력 :");

15: scanf("%o", &c);

16: printf("10진수 : %d, 16진수 : %x, 8진수 : %o \n\n\n",b , b, b);

17:

18: return 0;

19:

20: }



결과값



04행에서 정수 데이터를 저장하기 위해 변수 a, b, c 를  int형으로 선언합니다.

정수형 변수는 int 을 많이 사용합니다.

변수에 대해서는 다음에 더 자세히 이야기 하겠습니다.


07행에서 10진수 정수(%d) 한 개를 키보드로 입력받아 변수 a에 저장합니다.

08행에서 변수 a 에 저장된 값을 각각 10진수, 16진수, 8진수로 출력한다.


11행에서 16진수 정수(%x) 한 개를 키보드로부터 입력받아 변수 b에 저장한다.

12행부터는 저장된 값을 각각 10진수, 16진수, 8진수로 출력한다.


15행에서 8진수 정수(%o) 한 개를 키보드로 입력받아 변수 c에 저장한다.

16행에서는 저장된 값을 각각 10진수, 16진수, 8진수로 출력된다.




위의 예제는 정수 값을 입력할 때 사용하는 '서식문자' 들이다.


다음 Chapter 에서는 

'실수'값을 입력할 때 사용하는 '서식문자'에 관해 공부해보자.









No.17 scanf( ) 함수 예제

C언어 기초 2015. 4. 17. 09:00 Posted by 네트동자

01: #include <stdio.h>

02: int main(void)

03: {

04: int age;

05: printf("What is your age? : ");

06: scanf("%d", &age);

07: printf("Wow! Really? Are you %d years old? \n\n\n", age);

08:

09: return 0;

10: }



04행에서 age는 

06행의 

scanf( ) 함수에서 입력받은 데이터를 저장하기 위해서 선언된 변수 (임시 저장 공간) 이다.



궁금한 점.

왜,             scanf("%d", age) 라고 하지 않고

                scanf("%d", &age) 라고 age 앞에 &을 붙여줄까?


간단히 설명해보겠다.

               &age는 변수 age 를 위해 할당된 메모리의 주소를 의미한다.


 scanf("%d", &age) 라는 표현은 10진수 Data를 입력받아서 

                '변수 age의 메모리 주소'에 '입력값'을 저장하라는 의미이다.


한마디로 말해서 이런거다.

당신이 택배(Data)를 받을 때, 어떻게 해야 택배를 받을 수 있는가 ? 

바로 '주소'가 있어야 '택배'를 받을 수 있다.


이때, 택배는 10진수 data이고,

      주소는 &age를 의미한다.

즉, 10진수 data가 도달해야 할 주소 &age 를 의미한다.



 


               

- 키보드로부터 데이터를 입력받는 것을 표준입력.

- 모니터에     데이터를 출력하는 것을 표준출력.


scanf( ) 함수 역시 printf( ) 함수와 마찬가지로

stdio.h 헤더 파일에 정의되어 있는 표준 라이브러리 함수에 속한다.


그러므로, scanf( ) 함수를 사용하려면,

printf( ) 함수와 마찬가지로,


stdio.h 헤더파일을 include 해야한다.