본문 바로가기

Code.D IT 강좌/C언어

C언어 기본 틀/Hello World 출력, 프로그래밍의 시작을 알리다

C 프로젝트 생성하시는 법을 모르시는 분은 아래의 글에서 참고하시기 바랍니다.

#3 Eclipse-CDT 설치



위의 설명대로 C 프로젝트를 생성하셨으면 아래의 사진과 같은 파일을 보게 됩니다.






Hello World를 오른쪽 버튼을 클릭한 뒤 

New > Folder를 클릭하면 아래의 사진과 같이 나옵니다.






File Name에 src를 입력하고 Finish를 클릭합니다.






src를 마우스 오른쪽 클릭하여 New > File을 클릭합니다.






File Name에 HelloWorld.c를 입력하고 Finish를 클릭합니다.

(확장자.c이기 때문에 끝에 .c를 꼭 붙여줍니다.)






망치 모양(Build)을 먼저 누르고 재생 표시(Run) 선택합니다. Local C/C++ Application을 선택한 뒤 OK를 클릭합니다.


※ 망치 모양(Build)는 무슨 기능을 하나요?

빌드라는 것은 컴파일과 링크 작업을 한 번에 한다는 의미입니다.

컴파일은 소스 파일을 컴퓨터가 이해할 수 있는 기계어로 변환해주는 것이고 링크는 컴파일된 목적 파일을 최종적으로 어떤 형태의 파일로 만들어줄 것인지에 대해 도와주는 프로그램을 뜻합니다.






아래의 코드를 입력합니다

#include <stdio.h>

int main(void){

	printf("Hello World!");
	return 0;
}



그리고 나서 저장(Ctrl + S)하시고 빌드 하신 후, 마지막으로 재생 버튼(Run)을 클릭하면 Hello World!가 출력되는 모습을 확인할 수 있습니다.



이제 하나하나 짚어보겠습니다. 외우려고 스트레스받지 마시고 이런 것이 이러한 기능을 하는구나! 라고만 알고 넘어가면 될 것 같습니다.



#include <stdio.h>


#: 전처리기

컴파일을 수행하기 전에 먼저 처리하라는 기호입니다.



include: 포함하다

뒤에 <stdio.h>라는 헤더 파일을 포함한다는 뜻입니다.



그럼 헤더 파일이란 무엇이냐?

사용하고자 하는 기능들을 함수로 선언하고 정의해 놓은 파일입니다.


※ 함수(Function)

C언어에서 어떤 것의 기능을 구현할 때 쓰입니다. 함수는 뒤에 소괄호"()"를 가지고 있습니다.



<stdio.h>: 헤더 파일

stdio는 STandarD Input Output (표준 입력 출력)의 약자입니다. 이 헤더 파일은 h 확장자를 가지고 있으므로 stdio.h라고 표시합니다.



#include <stdio.h>는 한 마디로, <stdio.h>라는 헤더 파일을 포함하는 작업을 먼저 처리하라! 입니다.



int main(void){}


int: integer(정수)의 약자입니다. 

여러분이 알고 계시는 정수/실수할 때 그 정수입니다. -2, -1, 0, 1, 2와 같은 수입니다. 0.21이나 7.84 등과 같이 정수를 포함하여 수직선 위에 나타낼 수 있는 수를 실수라고 하지요.



main(): 가장 먼저 실행되는 함수입니다. 

프로그램을 실행하게 되면 main함수 안에 있는 코드부터 순차적으로 실행됩니다. 순차적으로 실행되기 때문에 c언어는 절차지향 언어라고 하죠. main 함수가 종료되면 프로그램 또한 종료됩니다.



void: 값없음



int main(void){}는 한 마디로 입력 값없이 main() 함수를 정수형으로 가장 먼저 출력하라! 입니다.



printf("원하는 문장 열 입력");


printf: 출력하는 함수입니다.

원하는 문장 열에 "Hello World! \n"을 입력합니다.



수많은 문장 중에 왜 굳이 Hello Wolrd!를 입력할까요?

1978년 데이스 리치와 브라이언 커니한이 C 프로그램의 책을 썼었습니다. 책 속의 첫 번째로 등장한 예제가 바로 Hello World!였던 거죠. 프로그래밍 세상의 시작을 여는 '문'과 같은 존재죠. 아마 마크 저커버그나 빌 게이츠 또한 "Hello World!"를 출력하며 프로그래밍을 시작했을 것이라고 감히 예상해봅니다.



그렇다면 Hello World 뒤에 있는 \n은 무엇을 의미하는 것일까요?

\n은 개행이라고 합니다. 쉽게 말해 줄을 바꾼다는 의미입니다. Hello World를 출력한 뒤 또 다른 문자열을 출력할 시 줄을 바꿔준다는 의미입니다.



그 뒤에 ;(세미콜론)이라는 부호가 있습니다.

이 기호는 문장이 끝났다는 의미입니다. 우리가 문장을 끝냈을 때 마침표를 찍어주는 것처럼 C언어에서 문장을 끝낼 때 세미콜론을 찍어주셔야 합니다.



Return 0;


현재 실행되고 있는 함수에서 빠져나가고 그 함수를 호출했던 곳으로 되돌아가라는 뜻입니다. 되돌아가면서 그 함수를 호출했던 곳에 어떤 값을 반환하는 것입니다. 

Return 0;은 0 값을 반환하며 현재 함수를 빠져나가라는 뜻이고

Return 1;은 1 값을 반환하며 현재 함수를 빠져나가라는 뜻입니다.

위에 Return에 대해 장황하게 설명한 게 이해가 충분히 안 될 수 있습니다. 추후 포스팅에서 더욱 자세히 설명해 드릴 테니 Return이라는 것은 현재 함수를 빠져나가라는 뜻이구나!라고만 이해하시면 수월합니다.



마지막으로 중요한 부분을 한 번 더 정리하겠습니다.

1. C언어의 기본적인 틀은 이렇습니다. 위의 코드와 비교하면 출력 함수는 빠진 상태입니다.



#include <stdio.h>

int main(void){

	return 0;
}






2. 소스코드를 작성하셨으면 저장(Ctrl + S)하시고 빌드 클릭하신 후 재생 버튼(Run)을 클릭합니다. 저장과 빌드를 꼭! 해주셔야 한다는 점 잊지 마시기 바랍니다.