rss 아이콘 이미지

[c-3]C언어의 시작. C의 구성과 함수

Programming/C 강좌 2009/10/18 14:58 Posted by 착한외계인

안녕하세요 외계인입니다.
오늘은 직접 C언어를 이용해서 프로그램을 작성 해 볼거에요.

일단 그 전에 컴파일러가 있어야됩니다.
컴파일러는 여러가지가 있는데요, 저는 VC++ 6.0을 이용하려고 합니다.
VC++6.0을 구하실 수 있는 분은 구하시고, 못구하신다면 DEV C++ 이나 터보C 를 추천드립니다.

이제부터는 조금 이해가 되지 않는 부분도 있을 수 있습니다. 새로운 것을 배운다는 것은 굉장히 재밌는 일이지만 어려운 일이죠. 여러분은 모든 것을 한번에 이해하실 필요는 없습니다. 조금씩 이해하시면서 직접 프로그램도 만들어보시고, C언어를 장난감처럼 많이 가지고 놀아보시기 바랍니다.

잠깐 옛날로 돌아가 보세요. 중학생때 함수에 대해 배운 적이 있죠? C 에서도 함수가 쓰입니다. 뭔가를 입력 해 주면 특정한 값을 출력해 주는 기능을 가진 것, 그것이 함수입니다.

<그림출처 : 열혈강의 C프로그래밍>

이런 그림을 한번쯤 보셨을텐데요. 우리가 3x + 4 라는 함수에 X라는 값을 입력해 주면 Y라는 값을 출력해 줍니다. 이런 것이 함수죠!! 이때 X를 입력하는 것을 인자 전달 이라고 하고, 이런 함수의 실행을 요구하는 행위를 함수 호출 이라고 합니다.


이놈이 뭘 의미하는 걸까요?
지금부터 하나하나 알아보도록 할게요.
먼저 제일 첫줄에 나와있는 문장이 있죠? 이런 것을 헤더파일이라고 합니다. 이런 헤더파일 안에 여러가지 함수가 담겨져 있기 때문에 함수를 사용하려면 그에 맞는 헤더파일을 선언 해 줘야 합니다.
그 밑에 int main() 이라는 부분이 있죠? 이것이 이제 C언어의 몸통부분을 만들기 시작하겠다는 선언입니다. 앞에 붙는 int는 출력형태, 뒤에 () 안에는 입력형태가 들어갑니다. 이 부분은 아직 모르셔도 됩니다.
그러고 나면 { 를 열어주세요. 그리고 printf 라는 게 보이시죠? 저게 출력을 해 주는 함수입니다. 저 함수를 쓰고 큰따옴표 안에 출력하고 싶은 텍스트를 입력하시면 실행 시 텍스트가 출력됩니다. 마지막에 붙어있는 \n은 한줄을 띄우라는 명령어입니다. 즉, 엔터 키 라고 생각하시면 되겠습니다.
그리고 함수가 끝날때는 꼭 세미콜론(;)을 붙여주셔야 합니다.
return은 함수의 종료와 뭔가를 반환하라는 의미입니다. 여기서는 0을 반환하라고 돼 있는데 이것은 종료해라는 뜻으로 해석하시면 되겠습니다.
아직 이해하시기 힘들겠지만 그래도 직접 만들어 보시기 바랍니다. 만들어 보시면 이해가 훨씬 잘 됩니다.

이제 주석에 대해 알아보겠습니다. 주석은 간단히 말하면 덧붙이는 설명 이라고 생각하시면 됩니다. 지금 만든 프로그램은 몇줄밖에 안되지만 나중에 수백줄, 수천줄이 넘어가면 자기가 만든 프로그램이라도 소스를 해석하기가 굉장히 힘듭니다. 그럼 에러가 발생했을 때 수정하기도 힘들겠죠. 그래서 붙여주는게 주석입니다. 주석은 꼭 필요합니다!! 주석다는 것을 습관화 하십시오!!

주석을 작성하는 방법에는 두가지 종류가 있습니다.
첫째, 여러줄에 걸친 주석을 작성하는 방법
둘째, 한줄에 걸친 주석을 작성하는 방법

여러줄의 주석을 작성하시려면 /* (                      ) */ 이렇게 작성하시면 됩니다. 괄호 안에 원하는 글을 적어 넣으시면 됩니다.(괄호를 쓰실 필요는 없습니다.)

한줄의 주석을 작성하시려면 간단하게 // 를 입력하시고 그 뒤에 원하는 글을 적으시면 됩니다.
 

써보시면 일반적인 글과 다르게 주석은 초록색으로 표시됩니다.(컴파일러에 따라 표시방법은 다를 수 있습니다.)

그럼 위에서 작성한 소스에 주석을 추가 해 볼게요.

이렇게 되는 겁니다. 이렇게 하면 다시 보더라도 이해하기 쉽고 남이 봐도 이해하기 쉽죠. 오류수정도 간단해 집니다.

주석을 사용할 때 주의할 점은 주석 안에 주석을 포함시킬 수 없습니다.
/* 이런주석 안에 //이렇게주석을 /*포함시킬 수 없습니다.*/*/

그럼 위에서 사용했던 printf 함수를 이용해서 정수를 출력해 보겠습니다. 물론 그냥 큰따옴표 안에 숫자를 넣어도 되지만 이렇게 넣으면 컴퓨터는 숫자를 글자로 인식합니다. 그럼 나중에 그 숫자를 이용해서 연산작업을 할 수가 없겠죠. 그럼 정수를 표시하려면 어떻게 해야될까요?
printf("%d",32); 이렇게 쓰시면 됩니다.
이렇게 %d를 입력하고 큰따옴표를 닫은 후 뒤에다가 쉼표(,)를 찍고 숫자를 입력하면 됩니다.
뒤에있는 숫자를 순서대로 %d에 대입하는 겁니다.
출력결과를 보시면 숫자가 제대로 대입된 것을 볼 수 있습니다.

이렇게 해서 연산도 가능합니다.
1+2=3 이라는 것을 표현하기 위해서
printf("%d + %d = %d",1,2,3); 이렇게 순서대로 넣을 수도 있지만
printf("%d + %d = %d",1,2,1+2); 이렇게 계산식을 넣을 수도 있습니다.

한번쯤 직접 만들어 보시고 조금씩 변형도 해 보시기 바랍니다.

헤더파일에 대해 알아보기(위키)
컴파일러의 종류

여전히 부족한(저번보다 더 부족해진...) 글 읽어 주셔서 너무 감사드립니다.
다음 강의에서는 여러가지 연산자(+,-,*,/ 등)들을 알아보고 간단한 계산 프로그램을 만들어 보도록 하겠습니다. 감사합니다.

http://goodalien.com/trackback/57 관련글 쓰기

댓글을 달아 주세요