들어가며
예제
//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 |