문제1153--[기초-입출력] 정수 1개 입력받아 그대로 출력하기(설명)(C)

1153: [기초-입출력] 정수 1개 입력받아 그대로 출력하기(설명)(C)

[만든사람 : 전현석, 정종광(채점데이터 및 확인), 배준호(확인), 최웅선(확인), 김지혜(그림) (2013)]
시간제한 : 1.000 sec  메모리제한 : 128 MiB

문제 설명

본 문제는 C 의 빠른 기초 학습을 위해 설계된 문제로서 C 코드 제출을 기준으로 설명되어 있습니다.
------

정수는
... -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5 ... 와 같이
소수점 아래에 남는 작은 수가 없이 딱 떨어지는 수라고 할 수 있다.

10진수 정수 값을 컴퓨터에 저장시킨 후
컴퓨터에 저장되어 있는 값을 10진수 정수로 출력해 보자.
(10진수 정수는 일반적으로 사용하는 수이다. 수 한 자리에 0부터 9까지 10개의 숫자를 사용하기 때문에 10진수라고 부른다.)

프로그램을 실행한 후 10진수 정수값을 1개 입력하면 그 값을 변수에 저장하고,
변수에 저장된 값을 10진수 정수로 출력해야 한다.
예시
#include <stdio.h>

int main()
{
    int n;
    scanf("%d", &n);
    printf("%d", n);
    return 0;
}
와 같은 방법으로 가능하다.

프로그램을 실행한 후,
적당한 범위 이내에 있는 10진수 정수 값을 1개 입력하고 엔터를 누르면,
그 값이 n에 저장되고, n에 저장된 값이 10진수 형태로 출력된다.



참고 

...

int n;                   //정수(integer) 값을 저장할 int 형(type)의 n이라는 저장공간을 만들어라!  <- int 형 변수 n 선언(한자: 먼저 선, 말씀 언)

scanf("%d", &n);  //10진수(decimal) 1개 형식으로 입력한 정수값을 n에 저장해라!              <- 10진수로 읽어서 변수 n에 저장
printf("%d", n);    //10진수(decimal) 1개로 출력해라! 뭐를? n에 저장되어 있는 값을!          <- 변수 n에 저장되어 있는 값을 10진수로 출력

...

int 는 정수를 의미하는 영어 단어 integer 의 약자이다. 
int 형(type)으로 저장공간을 만들면, -2147483648 ~ 2147483647 범위 안에 들어가는 232가지의 정수값 중 하나를 저장할 수 있다.
-2147483648 보다 작거나, 2147483647 보다 큰 정수값은 32비트 int 형으로 만들어진 저장공간에 저장할 수 없다.
32 비트 int 형의 저장범위를 넘어가는 정수중 일부는 64비트 long long int 형으로 만들어진 저장공간에 저장할 수 있다.
매우 큰 정수를 저장하려면? 특별한 저장 방법을 만들어야 한다.

어떤 값들을 저장할 수 있는 저장 공간의 이름을 변수(variable)라고 부른다. 위 코드에서는 n이 변수이다. 

컴퓨터 안에는 0 또는 1로 표현할 수 있는 값들만 저장할 수 있기 때문에 
정수값을 저장할 때는 0 또는 1로 바꾼 2진수 값으로 저장한다. 2진수는 0 또는 1로만 수를 표현한 것이다.
int 형 0 은 00000000 00000000 00000000 00000000 으로 저장하고,
int 형 1 은 00000000 00000000 00000000 00000001 로 저장한다.
int 형 2 는 00000000 00000000 00000000 00000010 으로 저장한다.
...
그럼 음(-)의 정수는?
컴퓨터 안에는 0 또는 1로 표현할 수 있는 값들만 저장할 수 있기 때문에 다른 방법이 필요했다.
그러면서, 서로 덧셈도 되고, 계산도 되어야 했다.
그래서...
int 형  0 은 00000000 00000000 00000000 00000000 으로 저장
int 형 -1 은 11111111 11111111 11111111 11111111 로 저장
int 형 -2 는 11111111 11111111 11111111 11111110 으로 저장
int 형 -3 은 11111111 11111111 11111111 11111101 로 저장
...
과 같은 방법으로 저장한다. 위에서 2와 -2 를 더해보면 0이 됨을 확인할 수 있다.
32 비트를 넘어가는 비트는 그냥 무시하고 버린다. int 형이면 32비트로만 채워서 계산하고 처리한다.

값을 저장했다가 다시 사용하기 위해서 변수를 사용한다. 
변수 이름은 자유롭게 만들어서 사용할 수 있는데, 영문자(a~z, A~Z)나 언더바(_)로 시작하면 된다.
숫자로 시작하는 이름은 변수 이름으로 사용할 수 없다.

scanf( ) 는 데이터를 입력(scan)받는 형식(format)과 입력받은 데이터를 저장할 변수를 지정해주는 함수이다. 
scanf("입력형식", &저장할변수1, ... ); 의 형태로 사용할 수 있다. 

printf( ) 는 데이터를 출력(print)하는 형식(format)과 출력할 값들을 지정해주는 함수이다. 
printf("출력형식", 출력할값1, ... ); 의 형태로 사용된다.

입력 설명

정수 1개가 입력된다.
(int 로 저장할 수 있는 -2147483648 ~ 2147483647 범위의 정수가 입력된다.)


출력 설명

저장된 정숫값을 출력한다.

입력 예시 Copy

15

출력 예시 Copy

15

도움

기초100제(c)1 v1.5 : 정보교사 커뮤니티 @컴퓨터과학사랑(CSL)
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.

출처/분류