(1) Hello World! 의 유래
Hello World는 거의 모든 프로그래밍 강의나 서적에서 처음 시작하는 예제로 채택되는데
그 이유가 처음 C언어와 UNIX를 개발한 데니스 리치와 브라이언 커니핸 두 사람이 쓴 "The C Program Language" 책에서 처음 시작된 것이
지금까지 내려져온 것이라는..
(2) 프로젝트 생성하기
먼저 Visual Studio(이하 vs)를 실행해주고
처음 만드는 것이니 새 프로젝트 만들기 클릭
빈 프로젝트를 선택,
콘솔 앱으로 해도 되지만 빈 프로젝트를 권장함.
프로젝트 이름을 HelloWorld로 지정하고
그대로 만들어주면 됨.
저 노란색 박스는 예제 작성 수준에서는 체크해도 상관 없는데
경우에 따라 한 솔루션(sln) 내에서 여러 프로젝트(vcproj)가 존재하기도 함.
이제 소스파일을 만들어 줄건데
솔루션 탐색기 -> 소스 파일 우클릭 -> 아래 경로를 따라도 되고
편하게 단축키 Ctrl + Shift + A 를 눌러도 된다.
그래도 명색이 컴퓨터 좀 배우겠다는 사람인데.. 단축키를 쓰는 게.. ㅋㅋ
그리고 뜨는 창에서
C++ 파일을 선택하고
추가를 해주면 끄-읕
파일명을 보통 main.c, main.cpp로 많이 하던데
이 강좌에서는 ex01, 02로 하도록 하겠다.
(확장자를 .c가 아닌 .cpp로 하는 이유는 지난 0강에서 설명한 바와 같다)
(앞으로의 강좌에서 cpp에서만 지원하는 기능 중에 편리한 기능들이 몇있는데 c 공부하면서 같이 알면 좋을 것 같은 것들을 같이 설명할 것이다)
(물론 c 프로그램을 작성할 때는 해당 기능들은 사용하지 않는다)
아래 짧은 코드를
복붙도 좋지만 직접 따라쳐서..
#include <stdio.h>
int main(void) {
printf("Hello, World!\n");
return 0;
}
상단 메뉴에서 디버그 -> 디버그하지 않고 시작
을 클릭하면 프로그램이 실행된다.
디버깅은 코드에 중단점이란 걸 잡고 프로그램을 한 줄씩 실행시키면서 버그를 고치는 행동인데
그러지 않을 거라면 디버그하지 않고 시작을 해도 된다.
이것도 단축키 Ctrl + F5 가 몇배는 편하니 기억하기.
간단하게 코드를 리뷰하자면
#include <stdio.h> | 이렇게 맨 앞에 # 이 붙은 줄은 전처리기라고 함. 컴파일러가 본격적으로 컴파일하기 전에 작업하는 일들을 명시해줌. include 전처리기는 뒤에 오는 파일에 정의된 것들을 사용하겠다는 뜻. 위 코드에선 다양한 입출력을 위한 함수, 타입 등이 정의된 stdio.h(Standard Input, Output)이 include 됨 |
int main(void) { } | 프로그램의 시작점(Entry Point)이다. 프로그램이 실행되면 이 main을 찾음. 코드 내에서 main() 이렇게 괄호가 붙는다면 대부분 함수라는 것을 정의하거나 호출하는 것이니 기억해두기. |
printf(); | 위에서 말한 stdio.h 에 정의되어 있는 함수임. 콘솔창에 정해진 포맷대로 문자열을 출력함. |
return 0; | return; 은 함수의 끝을 의미함. 프로그램의 시작점인 main이 return한다는 것은 곧 프로그램의 종료를 의미하는 것. return 0;이라 하면 이 함수는 0을 돌려주면서(말그대로 return) 종료하게 되는데, 우리는 이걸 유식하게 함수의 반환이라고 부른다. main이 0을 리턴한다면 그것은 프로그램이 에러 없이 정상적으로 종료됐다는 의미. |
추가로 C언어에서 명령줄 한 줄이 끝나면 반드시 ; (세미콜론)을 붙여줘야 한다.
컴파일러에게 '이 줄은 여기까지가 끝이야'라고 알려주는 것, 그렇지 않으면 오류가 발생하게 됨.
끝.
'Programming > C & C++' 카테고리의 다른 글
[C/C++] 4강 - 자료형에 대하여··· (부동 소수점, ASCII, signed & unsigned) (0) | 2021.06.06 |
---|---|
[C/C++] 3.1강 - scanf 사용 시 주의 사항!! (white-space 버그) (0) | 2021.06.06 |
[C/C++] 3강 - 변수를 출력하고 입력받는 법 (printf, scanf, scanf_s) (0) | 2021.06.05 |
[C/C++] 2강 - 프로그램의 필수 요소, 변수 (0) | 2021.06.05 |
[C/C++] 0강 - C언어 시작하기 (Visual Studio 설치) (2) | 2021.06.04 |