21 Oct
2011
Posted in: 코드
By    3 Comments

01. Hello World를 만들어 보자, 2001


01. Hello World를 만들어 보자, 2001
by 신영진(YoungJin Shin), codewiz at gmail.com, @codemaru, http://www.jiniya.net

모든 플밍언어를 접하면 처음 해보는 게 있다. 바로 만국 공용, 첫단계 샘플 프로그램 Hello World를 만드는 것이죠. 그럼 우선 간단한 소스를 보면서 시작해 봅시다. 두눈 크게 뜨고 자알 살펴보세용~

#include <iostream> 
using namespace std;
int main() 
{
   cout << "Hello, World!" << endl; 

   return 0;
}

간단하죠~ 위의 프로그램을 컴파일해서 실행시키면 화면에 헬로, 월드!라고 찍힙니다. 그럼 지금부터 차근 차근 소스를 분석해 볼까요?!.. 너무 쉽다구요. 그래도 기초부터 튼튼히 해야 나중에 두려울게 없겠죠~

#include <iostream>

C++ 헤더 파일중에 iostream이라는 헤더 파일을 포함시키는 겁니다. 헤더 파일이 뭐냐구요?! 움… 그건.. 일종의 플밍을 쉽게 하도록 도와주는 유틸리티 같은 겁니다. 위에 있는 iostream을 포함시키면 화면에 출력과 입력을 할 수 있는 클래스인 cin, cout을 사용하게 해 줍니다. 그러니 저건 필수적으로 포함시켜야 겠죠~ 처음에는 그냥 꼭 포함시켜야 하는 것 정도로 이해하고 계세요~ 그리고 가끔 C++책들을 보면, #include <iostream.h>라고 된것도 있는데 두개는 똑같은 겁니다. 반면에 .h를 쓰는 건 C언어식 표현 방법이죠. 그러니 간단하게 생략하고 표현하도록 합시다.

int main()

이건 프로그램의 핵심이라고 할수 있는 본체 입니다. 프로그램에는 꼭 이 함수가 하나씩 드러가야 하죠. 쿄쿄. 안드러가면 아마도 링크가 되지 않을 겁니다. main이라는 함수가 프로그램의 시작위치를 지정하고 있는 함수라고 생각하면 되죠~ 그리고 main 앞에 붙어있는 int는 뭐냐구요. 그건 우리 프로그램이 종료되고 운영체제에게 int형으로 된 뭔가를 반환한다는 겁니다. 그러면 int가 뭐냐구요..?! 하하… int는 정수형을 말하는 겁니다. 따라서 우리의 메인은 정수를 반환하는 함수가 되겠죠~ 그리고 함수는 항상 {로 시작해서 }로 끝나야 합니다.

cout << "Hello, World!" << endl;

위의 문장은 화면에 헬로 월드를 출력하는 실행문입니다. 그런데 잘 보면, <<게 있는 걸 알수 있는데 모양새를 잘 보세요. cout이라는 데로 헬로월드와 endl이라는 걸 집어넣는 것 처럼 보이죠. cout은 뭐냐구요. 바로 표준 출력(모니터)입니다. 그러니 모니터에다 헬로 월드와 endl를 집어넣는게 되죠. 그런데 헬로월드는 알겠는데 endl은 뭐냐구요. 그건 end of line의 약자로 다음줄로 가는 캐릭터 코드 입니다. 아래아한글에서 엔터를 치면 다음줄로 넘어가는 것 처럼 endl을 cout으로 넣으면 한줄 넘어가게 되죠~~~~!!

return 0;

운영체제에게 우리가 프로그램을 잘 실행했다고, 정수로 0을 반환하는 부분입니다. 리턴 다음에 반환할 값을 적으면 되죠. return 255이렇게 하면 255가 반환되는 겁니다. 반면에 return 12.5이렇게 하면 안되겠죠. 왜냐면 우리는 위에서 리턴값으로 정수형을 보낸다고 약속했기때문에 정수만 보내야 합니다. 일반적으로 관례상 정상종료시에는 0을 반환합니다.

숙제!!
오늘 강좌를 다 읽으신 분들은 자신의 실력도 점검해 볼겸 화면에 자신의 이름과 생일을 출력하는 프로그램을 작성해 보세요. 다음 강좌 때 답을 갈켜 드리도록 하죠!!! 그럼 다들 수거하세요!!

Browser does not supports flash movie

  • 트랙백 주소: http://www.jiniya.net/wp/archives/5132/trackback

관련 글

  • codewiz

    예전에 쓴 글을 다시 보니 문득 그런 생각이 듭니다. 우스운 강좌지만 다시는 이런 강좌를 쓰지는 못할 것 같다는 생각. 저 단계에서만 쓸 수 있는 그런 이야기들이 있다는 생각이 많이 드네요. ㅎㅎ~

  • 아이힌트

    음 저건 컴파일 에러가 날겁니다. namespace가 없거든요
    std::cout과 std:endl을 해야합니다.
    아니면 using namespace std;를 해도 되죠 ㅎㅎ
    이 글을 따라해봤어요 ^^

  • codewiz

    아이힌트 // 피드백 감사합니다. 수정했습니다. ㅋㅋㅋ~~