프로그램에서 변수는 수학에서의 변수와 약간 다른 의미를 가진다. 수학에서의 변수는 그 변수값을 구하거나 그것을 이용해 다른 연산을 하기 위해 필요로 하지만. 프로그램에서의 변수는 값을 저장해놓고 나중에 다시 사용하기 위해 필요하다. 예를 들어 다음 코드를 보자
x=3 (밑에서도 설명하겠지만 프로그램에서 ' = ' (등호)는 우변을 좌변에다가 바인딩하겠다는 뜻이다. 같다의 참/거짓을 판별하기 위해선 ' == ' 을 쓴다.)
여기서 3을 x에다가 바인딩(저장이라 생각하자) 시켜주게되면 x는 3이라는 값을 링크시킨다. 이렇게만 보면 변수 바인딩만 가능하다고 생각된다.
x=3*5
그러나 여기서는 명령문이다 3곱하기5를 한뒤에 그값을 x에 바인딩 시켜라 라는 뜻이다. 여기서 주의해야 할 것이 있다. 다른 서적이나 강의를 듣다보면 변수를 값을 가지는 상자라고 말하여 진다. 하지만 나중에 다룰 포인터 같은 곳에서 메모리 개념을 생각하자면 변수는 상자라기 보단 링크주소 ㄹ라고 하는게 더 맞는 표현이다. 만약 상자라고 하면 다음과 같은 문제도 생긴다
x=3
y=x
x=5
상자의 개념으로 이 코드를 생각하면 조금 이상해진다.
그림과 같이 보면 Y=5가 되야 정상이다. 하지만 코드를 실행해 보면 Y=3이 나온다. 자, 그럼 아까 언급하였던 링크값은 무슨 말일까?
일단 x는 3를 가르킨다(x=3) 그후 y는 x를 가르키는데(y=x) x라는 링크를 타고 가보니 3이어서 3을 가르키게 된다. 그후 x는 5를 가르킨다(x=5) 이런 개념으로 생각하는게 더 좋을 듯 하다.
변수는 반드시 변수 선언을 하고 사용하기전 변수 초기화를 통해 값을 0 이나 적당한 값으로 바꿔야 하는 과정이 필요로한다. c언어로 예를 들어보자면
int y;
printf("%d",y);
를 하게 된다면 분명 이상한 값을 출력하거나 오류가 발생할 것이다.
키보드로 입력한 정수값을 그대로 출력하는 프로그램을 작성해보자.
정수값 한 개가 입력된다.
입력된 정수를 그대로 출력한다.
15
15
c언어에서 정수 변수를 선언하기 위해선
int 변수이름;
이라 해야한다. 이때 변수이름의 규칙이 있는데 다음과 같다.
1. 변수의 이름은 알파벳, 숫자, 언더바(_)로만 구성해야 합니다. 2. 대소문자를 구분합니다. (number과 Number은 다른 변수입니다.) 3. 변수 이름의 첫글자는 숫자로 시작할 수 없습니다. 4. 변수 이름에 공백을 포함할 수 없습니다. 5. 예약어(키워드)를 사용할 수 없습니다. (int, main 등) [출처 c언어 위키독스]
입력은
scanf("%d", &변수이름);
으로 하며
printf("%d",변수이름);
으로 출력한다.
Python에서는 살짝 다르지만 기본적으로 변수이름 규칙은 같다.
파이썬에서 변수선언할려면 변수가 값을 가져야한다. 따라서 선언과 동시에 입력을 받을 수 있다.
변수이름=input("")
그후 출력도 간단한데 변수 자체를 출력한다고 하면된다.
print(변수이름)
c언에선 파이썬과달리 문자열, 정수, 실수 변수가 직접 지정해줘야만 한다. 번거롭지만 오류잡기엔 좋다.
'Programming > Codeup.kr기초100제 && 컴퓨터 이야기' 카테고리의 다른 글
[기초-입출력] 실수 한 개 입력받아 그대로 출력하기 && 함수-매개변수와 전달인자 (0) | 2016.11.03 |
---|---|
[기초-입출력] 문자 한 개 입력받아 그대로 출력하기 && 함수에 대하여 (0) | 2016.11.02 |
[기초-출력] 출력하기07 && 파이썬의 역사 (0) | 2016.10.30 |
[기초-출력] 출력하기06 && C언어 역사 (0) | 2016.10.29 |
[기초-출력] 출력하기05 && 프로그래밍 역사3 (0) | 2016.10.28 |