이이프
IeF 제멋대로 세상
이이프
전체 방문자
오늘
어제

공지사항

  • ✔ Info
  • 전체 글보기 (56)
    • 💻프로그래밍 내용 정리 (55)
      • C (0)
      • C++17 (55)
    • 💻게임메이커 (0)
    • 💻언리얼엔진 (0)
    • 💻유니티 (0)
    • 🎈[팀&자작]게임소개 (0)
    • 📃게임제작기술 (0)
    • 🎨그림놀이 (0)
    • 📒대학생활 (0)
    • 😃잡담 (1)
    • 🕹게임성과 (0)
    • 💷자격증 (0)

블로그 메뉴

  • 방명록

최근 글

최근 댓글

티스토리

hELLO · Designed By 정상우.
이이프

IeF 제멋대로 세상

[C++ 1.1.1] 주석, 전처리 지시자,  main() 함수, I/O 스트림
💻프로그래밍 내용 정리/C++17

[C++ 1.1.1] 주석, 전처리 지시자, main() 함수, I/O 스트림

2022. 8. 14. 23:51
728x90

들어가며

예제

//helloworld.cpp
#include <iostream>

int main()
{
	std::cout << "Hello, World!" << std::endl;
	return 0;
}

 

결과

이 코드를 실행하면 화면에 'Hello, World!'란 메시지를 출력된다.

위는 다음과 같은 C++의 중요한 개념이 담겨있다.

- 주석

- 전처리 지시자

- main() 함수

- I/O 스트림

 

 


 

1. 주석

예제 첫 번째 줄이 주석이다

주석은 프로그래머에게 유용한 메시지로 컴파일러는 이 부분을 무시한다.

 

C++은 주석을 두 가지 방식으로 표현을 한다.

1. 한 줄 주석

슬래시 두 개를 연달아 적으면 그 지점부터 그 줄 끝까지 나오는 모든 문자를 주석으로 처리한다.

// helloworld.cpp

 

2. 여러 줄 주석

여러 줄 주석은 /*로 시작해서 */로 끝나며 그 사이의 모든 문자를 주석으로 처리합니다.

/* 여러 줄 주석의 예,
   컴파일러는 이 부분을 완전히 무시한다.
*/

 

 


 

2. 전처리 지시자

빌드

빌드란 C++로 작성된 소스 코드를 프로그램으로 만드는 것을 의미한다.

이 작업은 총 세 단계를 거치게 된다.

 

1. 전처리단계에서는 소스 코드에 담긴 정보를 처리한다.

2. 컴파일단계에서는 소스 코드를 머신이 읽을 수 있는 오브젝트(목적) 파일로 변환한다.

3. 링크단계에서는 앞으로 변환한 여러 오브젝트 파일을 애플리케이션으로 엮는다.

 

세 단계를 수행하는 프로그램을 각각 전처리기, 컴파일러, 링커라 부른다.

 

지시자

지시자란 전처리기에 전달할 사항을 표현한다.

#include <iostream>

위 예제처럼 # 문자로 시작한다.

여기서 #include 지시자는 <iostream> 헤더 파일에 있는 내용을

현재 파일에서 사용할 수 있게 모두 가져오도록 전처리기에 지시한다.

 

<iostream> 헤더 파일은 C++에서 제공하는 입력 및 메커니즘을 선언한다.

HelloWorld 프로그램에서 이 헤더를 불러오지(인클루드) 하지 않으면 텍스트를 출력하는 작업을 수행할 수 없다.

 

 


 

3. main() 함수

프로그램은 항상 main() 함수에서 시작힌다.

int main()
{
	return 0;
}

main() 함수는 int 타입의 값을 리턴하는데, 이 값으로 프로그램의 실행 결과에 대한 상태를 표시한다.

main() 함수 안에서는 리턴 문장을 생략해도 되는데 그러면 자동으로 0을 리턴한다.

 

 


 

4. I/O 스트림

입출력 스트림은 데이터를 성격에 맞게 출력한다.

std::cout은 사용자 콘솔(표준 출력)에 출력한다.

std::cerr은 에러 콘솔에 출력한다.

 

여기서 다양한 타입의 데이터를 출력 스트림으로 보내는 작업은 << 연산자로 표현한다.

텍스트를 출력하고, 숫자를 출력하고, 다시 텍스트를 출력하려면 다음과 같이 작성한다.

std::cout << "There are " << 219 << " ways I love you." << std::endl;

std::endl은 문장이 끝났다는 것을 의미한다.

출력 스트림에서 std::endl이 나타나면 지금까지 전달한 내용을 모두 출력하고 다음 줄로 넘어간다.

 

문장의 끝은 \n 문자로 표현할 수 있다.

\n과 같은 문자를 이스케이프 시퀀스(탈출/이탈 문자열)라 부른다.

\n은 줄 바꿈 문자를 의미한다.

 

스트림은 사용자로부터 입력을 받을 때도 사용한다.

입력 스트림에 >> 연산자를 사용한다.

std::cin 입력 스트림은 사용자가 키보드로 입력한 값을 받는다.

int value;
std::cin >> value;

 

 

 

'💻프로그래밍 내용 정리 > C++17' 카테고리의 다른 글

[C++ 1.1.5] 연산자(단항, 이항, 비트 연산자)  (0) 2022.08.15
[C++ 1.1.4] 변수, 캐스팅(동적 형변환, static_cast)  (0) 2022.08.15
[C++ 1.1.3] 리터럴  (0) 2022.08.15
[C++ 1.1.2] 네임스페이스(namespace, nested, alias)  (0) 2022.08.15
[C++ 1.1.0] C++ 컴파일러 설치와 사용법(Visual Studio 2022)  (0) 2022.08.14
    '💻프로그래밍 내용 정리/C++17' 카테고리의 다른 글
    • [C++ 1.1.4] 변수, 캐스팅(동적 형변환, static_cast)
    • [C++ 1.1.3] 리터럴
    • [C++ 1.1.2] 네임스페이스(namespace, nested, alias)
    • [C++ 1.1.0] C++ 컴파일러 설치와 사용법(Visual Studio 2022)
    이이프
    이이프
    게임 프로그래머 지망생 / Since 2022.08.14

    티스토리툴바