"/>

프로그래밍 기초-C언어 배우기(프로그램의 이해).2

-처음부터 배우기-

-오픈튜토리얼스에서 배우기-

1.C언어 시작하기

프로그래밍 언어는 인간과 컴퓨터가 대화를 하기 위한 언어 이다. 인간이 명령을 내리고 컴퓨터가 실행하기 때문에, 기계어보다는 C 언어처럼 인간이 사용하는 언어와 가까운 고급 언어를 사용한다.

아래의 코드를 직접 작성하고 컴퓨터와의 대화를 시도해보자! -개발 프로그램(코드블럭)설치 가이드-

1 #include <stdio.h>
2 main ()
3 {
4 printf ( “Hello World”);
5 }

(코드를 따라 적을 때 맨 앞의 숫자는 빼야 한다.)

실행결과

위 프로그램을 실행하면 “Hello World”라는 결과가 나타난다.

  • “Hello World”는 “안녕 세상아”라는 뜻으로 printf() 함수를 사용하여 출력한다.
  • 4행에서 컴퓨터에게 “Hello World”를 출력하라는 명령을 내리고, 그 명령에 따라 컴퓨터가 문장을 출력하는 것 이다.

2. main()과 헤더 파일

c언어 소스 코드에는  main()이 꼭 있어야 하며, 사용하는 명령들의 내용이 미리 기록된 헤더파일을 참조하여 프로그래밍 한다.

소스 코드 – 사용자가 작성한 코드로 컴파일러에 의해 번역되지 않은 상태의 프로그램 파일(*.c)을 뜻한다.

컴파일러 – 고급언어 프로그램(C/C++등)을 기계어로 번역하는 프로그램
(우리가 쓰고있는 code::blocks또한 컴파일러에 속한다.)

main ()

가장 간단한 C 언어 프로그램은 무었일까? 

아래의 코드를 직접 작성하고 실행해 보자.

1 main () {}

실행결과

위 프로그램을 실행하면 오류없이 정상적으로 실행파일이 만들어진다. 만들어진 프로그램을 실행하면 아무것도 출력되지 않는다.

실행파일 – 컴파일러에 의해 번역된 프로그램을 뜻하는 것으로, 실행 가능한 파일(.exe)을 말한다.

  • 이 프로그램은 가장 간단한 C언어 프로그램으로, 오류 없이 컴파일되고 정상적으로 실행된다.

컴파일 – 쉽게 말하면 변환을 하는 것이다흔히 쓰는 언어(C/C++)들은 컴퓨터가 알아듣지 못하는 인간지향적으로 설계되어 있으며 이것을 컴퓨터가 알아들을 수 있도록 기계지향적 언어(기계어)로 변환하는 방법이 컴파일이다.

  • C 언어 프로그램은 main() 함수 내부에 실행해야할 내용들을 작성하는 것이 기본이다. main() 함수에는 C프로그램의 시작부터 종료까지 실행되는 내용들이 작성되어있다.

함수 – 여러 명령의 집합을 말한다. 함수 이름(){실행할 내용}의 구조로 되어있고 종류와 사용법이 다양하다.

  • C언어 프로그램은 main() 함수를 기본으로 여러가지 명령과 함수들을 사용하여 작성된다. 프로그래밍의 기본은 사용자가 필요한 명령들을 코딩하는 것이고, 여러 명령들을 반복해서 사용할 경우 그것을 함수나 작은  단위의 부프로그램 형태로 코딩하는 것이다.

부프로그램 – 하나의 프로그램을 구성하는 여러 작은 단위의 프로그램. 일련의 명령문들을 모아두고, 이를 외부에서 호출할 수 있게한 구조

기본적인 C 언어 프로그램 구조

1 main()
2 {
3          함수 1();
4          함수2();
5          문장;
:
6 }

  • C언어 내부의 모든 명령들은 위에서 아래로 작성하며, 각 문장의 끝에는 문장의 마지막을 나타내는 마침표(.)와 같은 의미로 세미콜론(;)이 사용된다.
  • 소괄호 ( ), 중괄호{ }, 대괄호[ ], 작은따옴표’ ‘, 큰따옴표” “와 같이 쌍으로 사용되는 기호들이 있으며, 실행되는 문장이 2줄 이상일 경우 중괄호{ }를 사용하여 묶어주는데, 이를 코드블록(code block)이라고 한다.

2.  헤더 파일

헤더 파일(header file)이 포함된 문장은 main() 함수보다 먼저 작성하기 때문에 전처리 구문이라고 부른다.

헤더 파일 – 헤더(header)는 ‘우두러리’,’제목’이라는 뜻이다. 헤더파일은 유사한 종류의 라이브러리 함수들이 포함된 책의 소제목이라고 생각할 수 있다. 컴파일러의 빠른 처리를 위해 라이브러리 함수들이 수록된 페이지들의 제목을 써 주어야 한다.(예들 들어 ‘+’라는 연산자를 사용할수 있는것은 헤더 파일 안에 ‘+’가 ‘2개의 숫자를 더하라’라는 명령이 사전에 약속되어 있는 기호이기 때문이다.)

라이브러리 함수 – printf( )와 같이 사전에 그 내용이 정의된 함수로서, 마치 도서관의 책 처럼 미리 만들어 놓고 필요하면 언제든지 꺼내어 쓸 수 있는 함수를 말한다.

아래의 코드를 직접 작성하고 실행해 보자.

1 #include <stdio.h>
2 main ()
3 {
4 printf ( “Hello World”); 
5 }

실행 결과

위 프로그램을 실행하면 “Hello World”라는 문자열이 출력된다.

  • 1행에서 stdio.h 헤더 파일은 printf() 함수의 실행 내용이 미리 정의 되어 작성되어 있는 파일이다.
  • 4행에서 printf() 함수에 “Hello, World” 문장(문자열)이 전달되면 문자열이 출력된다.

stdio – 표준 입출력(standard input output)의 약자로 입력과 출력에 관련된 라이브러리 함수들이 포함되어 있다.

중요성

헤더 파일이 main() 함수 이전에 작성되지 않으면 main() 함수 내에 작성된 내용들을 번역하지 못하여 오류가 발생한다.

아래와 같이 헤더 파일 부분을 없애고 코드를 컴파일해 보자.

1 main ()
2 {
3 printf ( “Hello World”);
4}

실행결과

위 프로그램을 실행하면 오류가 발생한다.

  • 프로그램을 컴파일하면 3행에서 오류가 발생한다.
  • printf() 함수가 미리 정의되지 않아서 해석할 수 없다는 메세지를 보여준다.

주의! 
개발 프로그램의 성능에 따라 코드상에서 헤더파일을 include하는 것을 (#include <stdio.h>을 안써도)  자동으로 해줄수 있지만 헤더 파일은 꼭 직접 써주는게 좋다.

 

-이어서 공부하기-

1 thought on “프로그래밍 기초-C언어 배우기(프로그램의 이해).2”

  • Hi! Do you use Twitter? I’d like to follow you if that would be okay.
    I’m undoubtedly enjoying your blog and look forward to new posts.

댓글 남기기

Scroll Up