첫 걸음 - Hello World !

|

 

보통 프로그래밍 언어를 배우면 제일 처음 써보는 소스코드, "Hello World !" 를 작성하면서 앞으로 써나갈 개략적인 코드의 틀을 알아보도록 한다.

코드는 이렇다.

// Step 1. Hello World !

/*

2012 08 21 작성

*/

#include <iostream>

using namespace std;

int main()
{
 cout<<"Hello World!!"<<endl;
}

 

// Step 1. Hello World !                          

  -> 이것은 주석이다.

/*

2012 08 21 작성

*/                                                          

 -> 마찬가지로 이것도 주석. 위와의 차이점은 위는 단위가 한줄, 밑은 영역이다.

#include <iostream>            

-> # 은 전처리기라고 하여 컴파일을 수행하기 전에 제일 먼저 처리하라는 의미다. 뒤의 include <iostream>은 표준 라이브러리 함수들을 담고 있는 헤더파일(일단은 컴파일러가 기본적으로 제공하는 함수(표준 라이브러리 함수)들이 들어있는 패키지라고 생각하자.)을 불러와라- 라는 뜻이다.참고로 iostream은 input output stream. #은 헤더파일을 부를 때만 쓰이는 것은 아니고 #define같은 매크로에서도 사용된다.

헤더파일은 시스템 헤더 파일과 사용자 헤더 파일로 나뉘어지는데, 시스템 헤더 파일은 컴파일 시스템에서 제공하는 헤더 파일이다.불러올때는 < >를 사용해서 불러온다. 사용자 헤더 파일은 사용자가 생성한 함수나 변수들을 담는 헤더 파일로, " "로 불러온다.
" "로 헤더 파일을 불러오게 되면, 일단 해당 directory에 그 파일이 있는지 찾고, 없으면 c++표준 라이브러리 함수에서 불러온다.
하지만 < > 로 헤더 파일을 불러오게 되면 표준 라이브러리 함수만을 참조한다.

using namespace std;

-> c++에는 네임스페이스라는 개념이 있는데, 이는 쉽게 말하면 구역이다. iostream이라는 헤더파일 안에서 cout이라는 함수를 사용하려면 std::cout<<"Hello World" 라는 식으로 구역을 명시해주어야 하는데, using namespace ~~~ 를 사용하면 std:: 라는 구역 명시를 해주지 않아도 된다.
다른 방법으로는 using std::cout 이 있는데, 이렇게 하면 std구역 안에 있는 cout함수 하나만 명시를 해주지 않겠다고 선언하는 것이다.

using namespace 네임스페이스 이름;

using 네임스페이스 이름::함수 이름;

식의 문법을 따라주면 된다.

여기까지의 명령어들은 모두 main함수 위에 있어야 한다.

 

int main()

-> main함수는 프로그램 실행 시 OS에 의해 맨 처음 호출되고 맨 나중에 종료되는 함수다. 이 함수가 곧 프로그램의 몸통이라 할 수 있겠다.C언어로 작성된 프로그램은 main함수를 반드시 하나 갖고 있다. main 앞의 int와 뒤의 ()는 각각 출력-입력 타입이다. 이는 후에 함수 개념 설명에서 설명하겠다.

 
{

-> 함수의 기능 구현은 전부 { } 중괄호 안에 기술한다.


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

-> main 함수 안에서 cout함수를 호출하는 부분이다. <<는 삽입 연산자로 뒤에 있는 함수나 문자열을 출력하라는 뜻이다. 뒤에 나올 >> 연산자는 추출 연산자로 사용자에게서 입력 받은 내용을 추출할 때 쓰인다.
cout 함수의 형식은 보통 cout<<출력할 내용 ; 정도가 된다. 문자열을 출력하고 싶을 땐 꼭 " " 큰따옴표 한 쌍 사이에 써준다.
그리고 중요한 것 한가지. 소스코드에서는 어지간한 언어들은 다 ;를 마침표로 사용한다. 하지만 언제나 마침표가 붙는 것은 아니니 기억해두자.
endl은 end of line이다. 이는 개행 명령어인데, \n과 같은 역할을 한다. cout<<"Hello World !!"<<endl;을 다른 식으로 고치면
cout<<"Hello World !! \n";가 된다. \n는 endl과 달리 " " 안에 있어야 한다.
둘  다 줄을 바꾸는 역할을 하지만, endl은 줄을 바꾸면서 출력 버퍼를 비운다.(flush)

 

return 0;

-> return은 반환과 종료의 의미를 갖는다. 함수의 기능안에서 return을 만나면 os에 return 뒤의 값을 반환하고 함수는 종료된다.
여기서는 os에 0을 반환하고 main함수 종료. 곧 이 프로그램의 종료다.


}

 

 

 

신고

'ComputerEngineering > C/C++' 카테고리의 다른 글

함수.  (0) 2012.08.30
연산자.  (0) 2012.08.30
변수와 상수.  (0) 2012.08.28
C ? C++ ?  (0) 2012.08.26
첫 걸음 - Hello World !  (0) 2012.08.21
c++에서 ;가 붙는 경우.붙지 않는 경우.  (0) 2012.07.12
trackback 0 And comment 0

c++에서 ;가 붙는 경우.붙지 않는 경우.

|

- 함수선언 : 선언과 정의가 떨어질 경우에는 선언부(함수 프로토타입) 끝에 꼭 붙인다.

- 메인함수 : 붙이지 않는다.

- 전처리기(#define , #include...) : 붙이지 않는다.

- 클래스 정의 끝은 항상 붙인다.

- do~while문에서 while() 끝에 붙인다.

신고

'ComputerEngineering > C/C++' 카테고리의 다른 글

함수.  (0) 2012.08.30
연산자.  (0) 2012.08.30
변수와 상수.  (0) 2012.08.28
C ? C++ ?  (0) 2012.08.26
첫 걸음 - Hello World !  (0) 2012.08.21
c++에서 ;가 붙는 경우.붙지 않는 경우.  (0) 2012.07.12
trackback 0 And comment 0
prev | 1 | ··· | 40 | 41 | 42 | 43 | next