본문 바로가기

Programming Languages/C++

C++이란

C++ 언어의 개요

C++는 AT&T 벨 연구소의 비야네 스트롭스트룹이 C언어를 확장하여 만든 객체지향 프로그래밍 언어이다. 따라서 C 언어가 가지고 있는 모든 기능이 C++ 안에 포함되어 있으며, 이와 더불어 몇가지 새로운 내용이 C++에 추가되었다. C 언어는 절차적 프로그래밍 언어이지만, C++는 객체지향 프로그래밍을 지원하기 위한 부분이 포함된 것이다.

C++는 C언어를 기반으로 개발된 언어이므로 몇 가지 예외를 제외하고는 C의 문법을 그대로 따른다. 그러므로 C 언어처럼 범용 프로그래밍 언어로서 다양한 응용프로그램을 개발하는 데 활용될 수 있고, 시스템 프로그래밍을 위한 언어로도 활용할 수 있다. 프로그래밍 방식 측면에서도 C++를 이용하여 C언어와 같이 절차적 프로그래밍 방식으로 프로그램을 만들 수도 있다.

C++ 프로그램의 작성 및 빌드

C++로 작성한 프로그램을 담고 있는 파일을 소스 파일이라고 한다. C++ 프로그램의 소스 파일에는 C++ 프로그램의 소스 파일과 C++ 헤더 파일이 있다. C++ 소스 프로그램 파일은 C++의 프로그램 명령어들을 포함하는 프로그램이 작성된 파일로, '.cpp', '.cxx', '.c'를 많이 사용한다.

간단한 프로그램이라면 하나의 소스 프로그램 파일에 프로그램을 완성할 수 도있지만 프로그램의 규모가 커지거나, 여러 프로그래머가 프로그램을 분담하여 작성하는 경우에는 여러 개의 소스 프로그램 파일에 공통적으로 들어가야 하는 부분이 발생하게 된다. 전역변수나 함수의 원형, 클래스 등의 선언문이 이러한 부분에 해당된다. 이런 부분들을 헤더 파일에 작성한다.

헤더 파일은 보통 '.h'라는 확장자를 사용하고 단독으로 컴파일되지는 않고 #include라는 선행처리기 지시어에 의해 소스 프로그램에 삽입되어 함께 컴파일된다.

C++ 프로그램의 실행 파일을 만드는 과정

C++ 프로그래밍 첫걸음

새로운 프로그래밍 언어를 배우는 첫걸음은 입출력을 포함하는 간단한 프로그램을 작성해 보는 것이다.

#include <iostream>

int main()

{
 // 표준 출력 스트림으로 문장을 출력함
 std::cout<<"나의 첫 번째 C++ 프로그램"<<std::endl;
 return();
}

결과 > > 나의 첫 번째 C++ 프로그램

  • 주석 

주석은 프로그램 내에 설명문을 넣은 것으로 프로그램의 내용을 이해하기 쉽게 할 목적으로 사용한다. 컴파일러는 주석에 해당하는 부분은 번역하지 않고 건너뛴다. // 과 /* (내용) */으로 작성한다

  • 선행처리

C++ 소스 프로그램은 컴파일되기 전에 먼저 선행처리 과정을 거친다. 선행처리기 지시어는 #으로 시작하며, 한 행에 한 문장씩 작성한다. 

#include <header> // 표준 include 경로에 존재하는 파일
#include "header" // 현재 위치에 존재하는 파일
  • 문장

C++ 프로그램은 여러 개의 문장으로 구성된다. 하나의 문장은 여러가지 단어와 연산자, 숫자, 문자, 문자열, 문장 부호, 빈칸 등을 정해진 문법에 따라 나열하여 작성한다. 한 문장의 끝에는 세미콜론 ; 을 기입하여 다음 문장과 구분한다.

여러개의 실행 문장을 {,} 사이에 나열하여 묶을 수도 있다. 이러한 문장의 그룹을 블록이라고 한다.

  • 함수

함수는 C++ 프로그램의 가장 기본적인 구성단위 중 하나이다. 함수는 반환할 데이터의 타입과 함수의 이름 등을 나타내는 함수 머리부 와 { } 사이에 나열된 문장들로 이루어진 몸체 블록으로 구성된다.

모든 C++ 프로그램은 하나 이상의 함수로 구성되며, 그중 이름이 main()인 함수부터 프로그램이 시작된다

위 코드에서 main() 함수는 std::cout을 통해 '나의 첫 번째 C++ 프로그램'이라는 문자열을 출력한다. std::endl은 문자열을 모두 출력한 후 화면의 다음 행으로 이후의 출력이 이어지도록 한다.

return 명령은 함수를 마치고 그 함수를 호출한 곳으로 되돌아가게 하는 명령인데, main() 함수에서 return을 하면 프로그램이 끝난다.

  • 입출력 스트림

C++의 iostream 표준 라이브러리를 통해 문자 형태의 입출력을 할 수 있다. 스트림은 일련의 데이터 열을 의미하는데, 표준 출력 스트림 cout은 콘솔 화면에 출력하는 기능을, cin은 키보드를 통해 입력하는 기능을 제공한다.

std::cout << value; // 여기서 value는 cout이 출력할 수 있는 자료형의 값이다
// cout을 통해 출력을 하면 value의 값이 문자열로 변환되어 출력된다.

//역으로 스트림 입력은 cin에 추출 연산자 >> 를 사용한다.
std::cin >> variable; // 여기서 variable은 입력된 값을 저장할 변수이다.
/* cin에 대한 >> 연산자는 키보드로부터 입력되는 일련의 문자열을 variable의 자료형에 해당되는 
 값으로 변환하여 전달한다. >> 연산다를 연속하여 사용함으로써 여러 개의 변수에 순차적으로 값을 입력
 할 수도 있다.
 */
 std::cin >> a >> b;
 //와 같이 작성하면 먼저 입력한 정수가 a에, 나중에 입력한 정수가 b에 입력된다.

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

흐름제어 구문  (0) 2020.04.20
자료형의 변환  (0) 2020.04.17
연산자  (0) 2020.04.16
기본 자료형 및 상수와 변수  (0) 2020.04.15
키워드와 식별자  (0) 2020.04.14