본문 바로가기

프로그래밍, 쉽게 배워보자

프로그래밍 기초 용어!

자, 이제 프로그래밍 언어가 어떻게 생격먹었는지 살펴 볼까요? 아래는 프로그래밍 언어 중, C언어를 예로 들어 보겠습니다.

우리가 자판으로 문자를 전송한다 할지라도, 컴퓨터는 기계어(2진수로 된)로 이 정보를 이해하는데, 우리가 기계어를 자유롭게 조작할 수 있다면 프로그래밍 언어는 필요없을 것입니다. 더욱 심각한 문제는, 이 기게어 또한 모든 컴퓨터의 공용어가 아니라는 사실. 그 복잡한 기계어를 익힌다해도 컴퓨터를 바꾸면 무용지물이 될 것입니다.

그래서 만들어진 것이 프로그래밍언어입니다. 우리가 프로그래밍언어로 컴퓨터에 명령을 내리면, 이 '언어'를, 컴파일러나 인터프리터라는 '번역 프로그램'이 기계어로 번역해 줍니다.

 

고차원언어 저차원언어 기계어컴퓨터는 본래, 0과 1만 사용하는 이진수로 된 기계어만 사용한답니다. 이 기게어에게 말을 거는 언어를 프로그래밍언어라고 하는데요, 사람이 이해하기 쉬운 언어는 '고차원언어', 기계어와 가까운 프로그래밍언어는 '저차원언어'로 분류됩니다. 이 프로그래밍언어를 기계어로 번역해주는 프로그램을 컴파일러라고 합니다.

자, 이제 프로그래밍 언어가 어떻게 생격먹었는지 살펴 볼까요? 아래는 프로그래밍 언어 중, C언어를 예로 들어 보겠습니다. ?

변수란?

WOW, 뭔가 잔뜩 써있긴 한데.....자, 일단 저 위에 있는 글자(?)들은 신경 쓰지 마시고~

1. 먼저, 변수란 무엇인지 알아봅시다. 우리가 컴퓨터로 뭔가 작업을 할 때, 정보나 값을 기억해둘 작업대가 필요합니다. 그것이 바로 메모리인데요, 메모리는 여러 물건들을 놓고 작업하는 책상의 역할을 합니다. 그런데 작업에 필요한 여러 물품들을 임시 저장할 서랍이 필요하게 됩니다.

그런데 이 컴퓨터의 메모리라는 작업대가 가진 서랍 즉 저장소의 주소는 매우 복잡합니다. 그래서 우리들이 메모리의 각 저장소의 정확한 주소를 알고 직접 관리한다는 것은 거의 불가능에 가깝습니다.

그래서 값을 넣는 메모리의 주소에 임의로 이름을 붙여 사용하는데 이것이 바로 변수입니다. 즉, 변수란, 프로그램에서 ‘임시로 이름을 붙인, 값을 넣는 상자’라고 생각하시면 됩니다.

 

변수 사용법

문자, 숫자, 사진, 음악이든 데이터를 다룰 때는 반드시 변수를 선언하며, 변수를 선언한 후, 그 변수(상자)에 데이터를 넣습니다. 프로그래밍 언어에 따라 차이가 있지만, 선언한 직후의 변수에는 아무 의미 없는 0과 1이 나열되어 있습니다. 이 0과 1의 나열은 쓰레기에 불과한 아무 의미 없는 숫자들입니다. 마치 신발이나 가방을 구입했을 때 그 안에 들어 있는 종이 뭉치와 같다고나 할까요?

그래서 프로그래밍 시작할 때는, 이 상자(변수)안에 들어 있는 종이를 빼내는 작업을 먼저 해야 합니다. 그것을 초기화라고 부릅니다. 초기화를 하지 않는 상태에서는 변수에 값을 넣어도 오류만 발생하거나 의미없는 답만 얻을 뿐입니다.

초기화에 사용하는 값을 초깃값이라고 합니다. 숫자 데이터라면 ‘0’이나 ‘0.0’. 문자데이터라면 공백이나 NULL문자가 초기값으로 자주 이용됩니다.
NULL문자란, 값이 아무것도 없는 상태를 의미합니다. 아무것도 없는 텅빈 상자를 뜻합니다.


2. 데이터 타입(data type)이란 : 컴퓨터는 모든 정보를, 숫자뿐만 아니라 문자도 전류의 on/off, 즉 0과 1만으로 표현합니다.

예를 들어, 숫자 100을 취급할 때는 “01100100로, 워드프로세서에 100을 입력하면 문자로 처리되어 ”001100010011000000110000“이 됩니다. 왜냐하면 숫자로 처리될 때와 문자로 처리될 때 데이터의 양이 달라지기 때문입니다.

그래서 값을 넣어두기 위해 필요한 데이터 상자의 크기가 다르므로, 이 상자의 크기를, 프로그래밍할때 미리 지정해 두는 것이 바로 데이터타입입니다. 데이터의 종류하고 이해해도 됩니다. 이 데이터 타입으로는 정수형, 실수형, 문자열형, 논리형 등이 있습니다.

 

대입이란?

변수에 값을 넣는 것. 대입에 사용하는 문자를 대입 연산자라고 부릅니다.

1. 프로그래밍언어에서 사용하는 ‘=’는 수학의 등호와 다릅니다. 프로그래밍언어에서 사용되는 등호 ‘=’ 대입하라는 뜻으로 우변에 쓴 값을 좌변의 변수에 대입하시오.’라는 의미입니다.

answer=1+1 , ‘answer1+1의 답을 대입하시오.’라는 의미입니다.

2. ‘a=a+1'의 의미는?

프로그래밍언어에서의 ‘=’는 대입이라는 뜻입니다. 우변의 값을 좌변에 대입하라는 의미이므로, 위 식은 현재의 a값에 1을 더하여, 그 답을 a에 넣으시오.’라는 의미입니다. 예를 들어 지금 a의 값이 10이라면 명령을 실행한 후의 값은 101을 더한 qq이 됩니다.