ted0505
Computational Art & Study
ted0505
전체 방문자
오늘
어제
  • 분류 전체보기 (79)
    • Computer Science ( CS ) (0)
    • Computational Thinking (6)
    • 프로젝트 개발일지 (1)
    • Coding (52)
      • C++ (39)
      • JavaScript (2)
      • P5.JS (7)
      • Python (0)
      • HTML5 (1)
      • CSS (0)
    • Game Engine (18)
      • Unreal Engine 4 (18)
      • Unity (0)
    • Physically Based Rendering (0)
    • FilmMaking (0)
    • 잡다 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ted0505

Computational Art & Study

Coding/C++

< 비야네스트롭스트룹 C++ > 1. 문법구조로 보는 C++

2021. 9. 21. 15:22

/* 해당 글은 C++의 창시자 Bjarne Stroustrup이 집필한 PPC++로 학습한 내용임. 

 어느 정도 프로그램의 이해를 갖추었다고 생각하고 작성. */

1. Hello world

#include "std_lib_facilities.h"

int main() {
	cout << "Hello, world!\n";
    return 0;
}

 

Hello, world 를 출력하는 프로그램이다.

 

hello world 프로그램의 문법 구조를 크게 나누어보자면,

1) 프로그램이 시작되기 전에 수행하는 전처리 부문

2) 원하는 기능을 수행하기 위한 main 함수 구문 ( 프로그램의 시작점 )

으로 구분할 수 있다.

 


< 프로그램의 문법 구조 / 전처리 부문과 함수 구문 >

1. 전처리 부문

전처리 부문에서는 미리 정의되어 있는 함수를 불러와 사용하기 위해 외부 라이브러리, 즉 '헤더 파일( header file )'을 사용할 수 있게 한다. 그리고, 이 헤더 파일을 불러오기 위해서는 'include 지시어( directive )' 로 파일을 불러오게 지시한다.

#include "std_lib_facilities.h"

hello world 프로그램에서는 cout 같은 출력 스트림과 출력 연산자인 << 을 사용하기 위해 std_lib_facilities.h 파일을 사용한다.

 

 

2. 함수

프로그래밍에서 함수는 원하는 기능을 수행하기 위한 명령어들의 집합체라고 볼 수 있다.

 

함수의 문법구조는 반환타입(return type), 함수 이름, 매개변수 목록(parameter list), 함수 몸체(function body)으로 나눈다.

 

반환 타입 ( return type ) : 함수 종료 후, 함수를 실행시킨 주체에게 돌려주는 반환 값의 타입을 뜻한다.

함수 이름 : 말 그대로 함수의 이름을 뜻한다.

매개변수 목록 ( parameter list ) : 함수 내에서 처리할 데이터들의 목록을 뜻한다.

함수 몸체 ( function body ) :  함수가 수행할 구문을 나열한다

int main() {
	cout << "Hello, world\n";
}

 

main 함수는 int 형 ( 정수형 ) 타입의 결과값을 반환한다. *int, double 과 같은 단어는 C++ 의 예약어 ( reserved word ) 다.

하지만, main 함수는 실행하는 주체가 '시스템' 이기 때문에 반환 값을 사용하지 않아도 된다.

 

함수 몸체를 보면, 표준 출력 스트림, 출력 연산자, 문자열, 개행문자로 이루어져 있다.

코드에서 알 수 있듯이, '\n' 은 개행 문자를 가르키는 특수 문자다.

 

 


< 우리가 작성한 코드가 프로그램이 되는 과정, 컴파일 과정 >

C++ 은 사람이 이해할 수 있는 형태의 코드를 컴퓨터가 이해할 수 있는 형태로 변환해야 하는 컴파일 언어다.

친절하게도 우리가 적은 코드를 변환 시켜주는 프로그램이 있다. 컴파일러다.

우리가 읽고 작성 할 수 있는 형태의 코드를 소스코드 ( source code ), 프로그램 텍스트 ( program text ) 라고 하며, 컴퓨터가 이해하고 실행 할 수 있는 형태를 실행 파일 ( executable ) 이나 목적 코드 ( object code ), 기계 코드 ( machine code ) 라고 한다.

 

소스 코드 -> 컴파일러 -> 목적코드

 

 

 

프로그램은 두 가지 청중을 위해 작성한다.
첫 번째 청중은 프로그램을 실행 할 컴퓨터, 두 번째 청중은 코드를 읽고 수정하는 우리. 
코드 작성도 인간과 인간 사이의 의사소통의 형태 중 하나이다.
코드는 읽기 위한 것이기 때문에, 우리가 하는 모든 작업을 읽기 쉽게 만들어야 한다.

 

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

[ C++ ] 헤더 파일 / 헤더 가드  (0) 2022.01.12
[ C++ ] 선언과 정의의 분리  (0) 2022.01.12
< 비야네스트롭스트룹 C++ > 4. 유용한 데이터 저장 방식, Vector  (0) 2021.09.22
< 비야네스트롭스트룹 C++ > 3. C++로 보는 컴퓨터 계산  (0) 2021.09.22
< 비야네스트롭스트룹 C++ > 2. C++ 의 객체(변수), 타입, 값  (0) 2021.09.21
    'Coding/C++' 카테고리의 다른 글
    • [ C++ ] 선언과 정의의 분리
    • < 비야네스트롭스트룹 C++ > 4. 유용한 데이터 저장 방식, Vector
    • < 비야네스트롭스트룹 C++ > 3. C++로 보는 컴퓨터 계산
    • < 비야네스트롭스트룹 C++ > 2. C++ 의 객체(변수), 타입, 값
    ted0505
    ted0505

    티스토리툴바