C언어 왕초보 탈출

[C언어기초] 3. Hello World

게임플밍마스터 2025. 6. 29. 17:17

 

드디어 코딩을 시작할 시간입니다! 2장에서 준비한 작업실을 이용하여 컴퓨터 세상에 우리의 첫 발자국을 남겨보겠습니다. 3장은 독자가 프로그래밍의 첫 성공을 맛보는 매우 중요한 단계이므로, 개발 환경별로 실행하는 방법을 최대한 상세하게 담았습니다.


제3장: 나의 첫 프로그램, "Hello, World!"

지금까지 우리는 프로그래밍의 개념을 배우고, 코딩에 필요한 도구들을 설치하는 긴 여정을 거쳐왔습니다. 이제 그 모든 준비가 빛을 발할 시간입니다. 이 장에서는 프로그래밍 세계의 오랜 전통인 "Hello, World!" 프로그램을 직접 작성하고 실행하여, 컴퓨터 화면에 우리의 첫 메시지를 띄워볼 것입니다.

이 간단한 프로그램을 통해 C언어 코드의 기본적인 구조를 이해하고, 우리가 설치한 개발 환경에서 코드를 '컴파일'하고 '실행'하는 전체 과정을 경험하게 될 것입니다.

 

1. "Hello, World!" 전체 코드 미리보기

우리가 이번 장에서 작성할 전체 코드는 다음과 같습니다. 지금은 외계어처럼 보일 수 있지만, 곧 모든 의미를 알게 되니 걱정 마세요.

#include <stdio.h>

int main(void)
{
    printf("Hello, World!\n");
    
    return 0;
}
 

이 몇 줄 안 되는 코드가 바로 컴퓨터에게

"화면에 Hello, World! 라고 출력해 줘"

라고 지시하는 명령서입니다.

 

2. 코드 한 줄 한 줄 뜯어보기

이제 코드의 각 부분이 어떤 의미를 갖는지 해부해 보겠습니다.

 

#include <stdio.h>

  • #include는 '포함하다'라는 뜻입니다. 특정 도구 상자를 가져와서 사용하겠다고 선언하는 것입니다.
  • <stdio.h>는 'Standard Input/Output'의 줄임말로, C언어에서 기본적으로 제공하는 '표준 입출력 라이브러리'입니다. 쉽게 말해, 화면에 글자를 출력(printf)하거나 사용자로부터 값을 입력받는(scanf) 등 입출력과 관련된 유용한 도구들이 들어있는 상자입니다.
  • 즉, 이 한 줄은 "printf 함수를 사용하기 위해 stdio.h 라는 도구 상자를 가져올게요!" 라는 의미입니다.

 

int main(void)

  • main 함수는 C 프로그램의 '시작점' 입니다. 컴퓨터는 C 프로그램을 실행할 때 가장 먼저 main이라고 이름 붙은 함수를 찾아 그 안의 명령들을 순서대로 실행합니다. 모든 C 프로그램은 반드시 하나의 main 함수를 가져야 합니다.
  • int와 (void)의 의미는 지금 당장 완벽히 이해하지 않아도 괜찮습니다. 간단히 말해 "이 프로그램은 끝날 때 정수(integer) 형태의 결과 보고를 하고, 시작할 때는 아무것도 필요 없어(void)" 라는 뜻입니다.

 

{ 와 } (중괄호)

  • 여는 중괄호 { 와 닫는 중괄호 } 는 main 함수가 어디서 시작하고 어디서 끝나는지를 알려주는 영역 표시입니다. 모든 main 함수의 실제 코드는 이 중괄호 안에 작성되어야 합니다.

 

printf("Hello, World! \n");

  • 이것이 바로 이 프로그램의 핵심 명령입니다.
  • printf는 "print formatted(형식에 맞춰 출력하라)"의 줄임말로, 괄호 ( ) 안에 있는 내용을 화면에 출력하는 함수(기능)입니다.
  • 출력하고 싶은 글자는 큰따옴표 " "로 감싸줍니다.
  • \\n은 '줄바꿈(new line)'을 의미하는 특수 문자입니다. 이 문자가 없으면 글자를 출력한 뒤 커서가 바로 옆에 붙어있게 됩니다. \\n 덕분에 "Hello, World!"를 출력하고 커서가 다음 줄로 내려가 깔끔하게 보입니다.
  • ; (세미콜론)은 C언어에서 명령의 끝을 알리는 매우 중요한 마침표입니다. 모든 명령문 끝에는 반드시 세미콜론을 붙여야 합니다. 이것을 빠뜨리는 것이 초보자가 가장 많이 저지르는 실수입니다!

 

return 0;

  • main 함수의 마지막 임무는 운영체제에게 "저 임무 다 마쳤습니다!"라고 보고하는 것입니다.
  • return 0;은 "아무 문제 없이 성공적으로 끝났습니다"라는 의미의 보고서입니다. 0이 아닌 다른 숫자는 보통 에러가 발생했음을 알리기 위해 사용됩니다.

 

3. [실습] 직접 코딩하고 실행하기

이제 직접 코드를 작성하고 실행해 봅시다. 지난 2장에서 선택한 개발 환경에 따라 아래 안내를 따라 주세요.


 

1단계: 새 프로젝트 만들기

  1. Visual Studio 2022를 실행합니다.
  2. 시작 창에서 새 프로젝트 만들기를 클릭합니다.
  3. 콘솔 앱(Console App)을 선택하고 다음을 누릅니다. (만약 보이지 않으면 검색창에 '콘솔'을 입력하여 찾으세요.)
  4. 프로젝트 이름에 HelloWorld라고 입력하고, 빈프로젝트를 선택하고 만들기 버튼을 클릭합니다.

 

2단계: 코드 작성하기

혹 위에서 빈프로젝트 선택을 하지 않았다면

프로젝트가 생성되면, 아마도 기본적인 코드가 이미 작성된 HelloWorld.cpp 파일이 열릴 것입니다.

  1. 오른쪽의 솔루션 탐색기 창에서 HelloWorld.cpp 파일의 이름을 확인합니다.
  2. 기존에 있던 코드를 모두 지우고, 위에서 배운 "Hello, World!" 코드를 그대로 입력합니다.

 

그렇지 않은 경우는 그냥 HellWorld.cpp 에 위의 코드를 직접 입력하면 됩니다.

 

3단계: 컴파일 및 실행하기

  1. 상단 메뉴에서 디버그(Debug) > 디버깅하지 않고 시작(Start Without Debugging)을 클릭합니다. (단축키: Ctrl + F5)
  2. 잠시 후, 검은색 명령 프롬프트 창이 나타나고 그 안에 Hello, World!가 출력되는 것을 볼 수 있습니다. 계속하려면 아무 키나 누르십시오... 메시지가 함께 나타날 것입니다.
 

 


4. 코드에 메모 남기기 - 주석(Comment)

코드가 길어지다 보면, "이 코드는 무슨 역할을 했더라?" 하고 잊어버릴 수 있습니다. 이럴 때를 대비해 코드에 간단한 메모를 남길 수 있는데, 이를 주석(Comment) 이라고 합니다. 주석으로 처리된 부분은 컴파일러가 무시하므로 프로그램 실행에 아무런 영향을 주지 않습니다.

  • //: 이 기호 뒤에 오는 한 줄 전체를 주석으로 처리합니다.
  • /* ... */: /* 와 */ 사이의 모든 내용을 주석으로 처리합니다. 여러 줄에 걸쳐 메모를 남길 때 유용합니다.

 

#include <stdio.h> // printf 함수를 사용하기 위해 필요합니다.

/*
  이 프로그램은 C언어 학습의 시작을 알리는
  전통적인 "Hello, World!" 출력 프로그램입니다.
*/
int main(void)
{
    // 화면에 "Hello, World!"와 줄바꿈 문자를 출력합니다.
    printf("Hello, World!\n"); 
    
    return 0; // 프로그램이 성공적으로 종료되었음을 의미합니다.
}
 
 

 

축하합니다! 여러분은 방금 프로그래머로서 첫걸음을 성공적으로 내디뎠습니다. 비록 간단한 한 줄을 출력했을 뿐이지만, 코드를 작성하고, 컴파일하고, 실행하는 전체 과정을 직접 경험했다는 점에서 매우 의미 있는 성과입니다.

이제 컴퓨터에게 말을 거는 법을 알았으니, 다음 장에서는 컴퓨터가 우리의 데이터를 기억하게 만드는 '변수'에 대해 배워보겠습니다.