본문 바로가기
프로그래밍 언어/C++

C++ 기초 배우기 - 특징, 문법, 입출력, 함수

by 김코딩스타 2023. 9. 5.
반응형

C++은 현대의 다양한 소프트웨어 개발에 널리 사용되는 객체지향 프로그래밍 언어입니다. C++을 배우면 프로그래밍의 기본 개념과 문법을 익힐 수 있으며, 다른 언어로의 전환도 쉽게 할 수 있습니다. 이 글에서는 C++의 특징과 장점, 그리고 간단한 예제를 통해 C++의 기본 문법을 소개해드리겠습니다. C++에 대해 궁금하신 분들은 계속 읽어주세요!

C++의 특징과 장점

 

C++의 특징과 장점은 다음과 같습니다.

 - C++은 C 언어를 기반으로 하여 개발된 언어로, C 언어의 모든 기능을 포함하고 있습니다. 따라서 C 언어와 호환성이 높으며, C 언어로 작성된 코드를 쉽게 재사용할 수 있습니다.

 - C++은 객체지향 프로그래밍(Object-Oriented Programming)을 지원합니다. 객체지향 프로그래밍은 프로그램을 구성하는 요소들을 객체(object)라고 부르는 독립적인 단위로 나누고, 이들 간의 상호작용을 통해 프로그램을 작성하는 방법입니다. 객체지향 프로그래밍은 코드의 재사용성과 유지보수성을 높이며, 복잡한 문제를 쉽게 해결할 수 있습니다.

 - C++은 다중 패러다임(Multi-Paradigm) 언어입니다. 다중 패러다임 언어란 하나 이상의 프로그래밍 패러다임(Programming Paradigm)을 지원하는 언어를 말합니다. 프로그래밍 패러다임이란 프로그래머가 문제를 해결하기 위해 사용하는 방식이나 철학을 의미합니다. C++은 객체지향 프로그래밍 외에도 절차적(Procedural), 함수형(Functional), 제네릭(Generic), 메타(Meta) 등 다양한 패러다임을 지원합니다. 이는 프로그래머가 자신의 스타일과 요구사항에 맞게 프로그래밍할 수 있도록 도와줍니다.

 - C++은 저수준(Low-Level)과 고수준(High-Level)의 프로그래밍을 모두 할 수 있는 언어입니다. 저수준 프로그래밍이란 하드웨어와 직접적으로 상호작용하는 프로그래밍을 말하며, 고수준 프로그래밍이란 사람이 이해하기 쉬운 추상화된 개념으로 프로그래밍하는 것을 말합니다. C++은 저수준의 메모리 관리나 포인터 등의 기능을 제공하면서도, 고수준의 클래스, 상속, 다형성 등의 기능도 제공합니다. 이는 프로그래머가 성능과 편의성을 모두 고려할 수 있도록 해줍니다.

 

 


 

 

C++의 기본 문법

 

C++의 기본 문법은 다음과 같습니다.

 - C++의 소스 파일은 .cpp 확장자를 가집니다. C++의 프로그램은 하나 이상의 소스 파일로 구성되며, 컴파일러(Compiler)라는 특수한 프로그램을 통해 실행 가능한 파일로 변환됩니다. 컴파일러는 소스 파일에 있는 코드를 기계어로 번역하고, 오류나 경고를 발견하면 알려줍니다.

 - C++의 프로그램은 main 함수(function)라는 특별한 함수에서 시작됩니다. 함수란 특정한 작업을 수행하는 코드의 묶음을 말합니다. main 함수는 프로그램이 실행될 때 가장 먼저 호출되는 함수로, 반드시 하나만 존재해야 합니다. main 함수의 형식은 다음과 같습니다.

 

[cpp]

int main()

{

    // 여기에 코드를 작성합니다.

    return 0; // 프로그램이 정상적으로 종료되었음을 알립니다.

}

 - C++의 코드는 세미콜론(;)으로 끝나야 합니다. 세미콜론은 하나의 문장(statement)이 끝났음을 컴파일러에게 알려주는 역할을 합니다. 문장이란 프로그램이 수행하는 하나의 명령을 말합니다. 예를 들어, 다음은 변수(variable)라는 값을 저장하는 공간에 10이라는 값을 대입하는 문장입니다.

 

[cpp]

int x = 10; // 세미콜론으로 문장을 끝냅니다.

 - C++의 코드는 중괄호({})로 묶어서 블록(block)을 만들 수 있습니다. 블록은 여러 개의 문장을 하나의 단위로 묶는 역할을 합니다. 예를 들어, 다음은 if 문이라는 조건문(conditional statement)을 사용하여 x가 10보다 큰지 검사하고, 그렇다면 "x is greater than 10"이라는 문자열(string)을 출력하는 코드입니다.

 

[cpp]

if (x > 10) // x가 10보다 큰지 검사합니다.

{

    cout 

} // 블록의 끝입니다.

 - C++의 코드는 주석(comment)을 사용하여 설명을 추가할 수 있습니다. 주석은 프로그램의 실행에 영향을 주지 않으며, 컴파일러에 의해 무시됩니다. 주석은 코드의 이해를 돕거나, 나중에 수정할 부분을 표시하거나, 다른 프로그래머와 의사소통하기 위해 사용됩니다. 주석은 두 가지 방법으로 작성할 수 있습니다.

 

[cpp]

// 이것은 한 줄 주석입니다. 슬래시(/) 두 개로 시작합니다.

 

/* 이것은 여러 줄 주석입니다.

   슬래시와 별표(/*)로 시작하고,

   별표와 슬래시(*/)로 끝납니다.

*/

 


 

 

C++의 간단한 예제

 

C++의 간단한 예제는 다음과 같습니다.

 - 다음은 C++에서 가장 기본적인 프로그램인 "Hello, world!"를 출력하는 프로그램입니다.

 

[cpp]

#include  // 입출력 관련 헤더 파일(header file)을 포함합니다.

 

using namespace std; // 표준 네임스페이스(namespace)를 사용합니다.

 

int main() // main 함수를 정의합니다.

{

    cout 

return 0; // 프로그램이 정상적으로 종료되었음을 알립니다.

}

 

- 다음은 C++에서 변수와 상수(constant)를 사용하는 예제입니다. 변수는 값을 저장하는 공간으로, 이름과 타입(type)을 가집니다. 타입은 변수가 저장할 수 있는 값의 종류와 크기를 결정합니다. 상수는 변하지 않는 값으로, const 키워드(keyword)를 사용하여 선언합니다.

 

```cpp

#include 

 

using namespace std;

 

int main()

{

    int x = 10; // int 타입의 변수 x를 선언하고 10을 대입합니다.

    double y = 3.14; // double 타입의 변수 y를 선언하고 3.14를 대입합니다.

    char z = 'A'; // char 타입의 변수 z를 선언하고 'A'를 대입합니다.

    string s = "Hello"; // string 타입의 변수 s를 선언하고 "Hello"를 대입합니다.

 

    const int MAX = 100; // int 타입의 상수 MAX를 선언하고 100을 대입합니다.

    const double PI = 3.141592; // double 타입의 상수 PI를 선언하고 3.141592를 대입합니다.

 

    cout 

    cout 

    cout 

    cout 

 

    cout 

    cout 

 

    return 0;

}

 - 다음은 C++에서 연산자(operator)와 표현식(expression)을 사용하는 예제입니다. 연산자는 특정한 기호로 표현되는 연산을 수행하는 기능입니다. 표현식은 연산자와 피연산자(operand)로 구성되며, 하나의 값으로 평가됩니다. 피연산자는 연산에 참여하는 값이나 변수입니다.

 

[cpp]

#include 

 

using namespace std;

 

int main()

{

    int a = 10;

    int b = 3;

 

    cout 

    cout 

cout 

cout 

cout 

 

cout 

cout 

cout  b = "  b) )를 사용하여 a가 b보다 큰지 비교하고, 결과를 출력합니다.

cout 

cout = b = " = b) =)를 사용하여 a가 b보다 크거나 같은지 비교하고, 결과를 출력합니다.

cout 

 

return 0;

}

 

 


 

 

C++의 입출력

 

C++의 입출력은 다음과 같습니다.

 

- C++에서는 iostream 헤더 파일을 포함하면, 표준 입력과 표준 출력을 위한 객체(object)인 cin과 cout을 사용할 수 있습니다. cin은 콘솔에서 사용자의 입력을 받아오는 객체이며, >> 연산자와 함께 변수에 값을 저장할 수 있습니다. cout은 콘솔에 값을 출력하는 객체이며, 

- 예를 들어, 다음은 사용자에게 이름과 나이를 입력받아서 환영 메시지와 함께 출력하는 프로그램입니다.

 

```cpp

#include 

 

using namespace std;

 

int main()

{

    string name; // string 타입의 변수 name을 선언합니다.

    int age; // int 타입의 변수 age를 선언합니다.

 

    cout 

    cin >> name; // cin으로 사용자의 입력을 받아서 name에 저장합니다.

 

    cout 

    cin >> age; // cin으로 사용자의 입력을 받아서 age에 저장합니다.

 

cout 

cout 

 

return 0;

}

 

 


 

 

C++의 함수

 

C++의 함수은 다음과 같습니다.

 

- C++에서는 함수(function)라는 기능을 사용하여 코드를 재사용하고 모듈화할 수 있습니다. 함수란 특정한 작업을 수행하는 코드의 묶음으로, 이름과 매개변수(parameter), 반환값(return value)을 가집니다. 매개변수란 함수가 호출될 때 전달되는 값이나 변수를 말하며, 반환값은 함수가 수행한 결과를 호출한 곳에 되돌려주는 값입니다.

- 함수를 사용하려면 먼저 함수의 원형(prototype)을 선언해야 합니다. 함수의 원형이란 함수의 이름, 매개변수, 반환값의 타입을 알려주는 선언문입니다. 함수의 원형은 보통 main 함수보다 위에 작성합니다. 예를 들어, 다음은 두 개의 정수를 더하는 함수 add의 원형입니다.

 

```cpp

int add(int a, int b); // add라는 이름의 함수를 선언하고, 매개변수로 int 타입의 a와 b를 받으며, 반환값으로 int 타입의 값을 돌려줍니다.

 - 함수의 원형을 선언한 후에는 함수의 정의(definition)을 작성해야 합니다. 함수의 정의란 함수가 실제로 어떤 작업을 수행하는지를 구체적으로 작성하는 부분입니다. 함수의 정의는 보통 main 함수보다 아래에 작성합니다. 예를 들어, 다음은 add 함수의 정의입니다.

 

[cpp]

int add(int a, int b) // add라는 이름의 함수를 정의하고, 매개변수로 int 타입의 a와 b를 받습니다.

{

    int result = a + b; // int 타입의 변수 result를 선언하고, a와 b를 더한 값을 대입합니다.

    return result; // result 값을 반환합니다.

}

 - 함수를 정의한 후에는 main 함수에서 호출(call)할 수 있습니다. 함수를 호출하려면 함수의 이름과 괄호 안에 매개변수로 전달할 값을 적으면 됩니다. 예를 들어, 다음은 main 함수에서 add 함수를 호출하는 예제입니다.

 

[cpp]

#include 

 

using namespace std;

 

int add(int a, int b); // add 함수의 원형을 선언합니다.

 

int main()

{

    int x = 10;

    int y = 20;

 

    int z = add(x, y); // add 함수를 호출하여 x와 y를 더한 값을 z에 저장합니다.

 

    cout 

 

    return 0;

}

 

int add(int a, int b) // add 함수의 정의를 작성합니다.

{

    int result = a + b;

    return result;

}

 


 

 

C++ 기초에 대해 알아보았습니다.

C++ 기초에 대해 알아보았습니다.

이 글에서는 C++의 특징과 장점, 기본 문법, 입출력, 그리고 함수에 대해 간단히 설명해드렸습니다. C++은 현대 프로그래밍 언어 중에서도 가장 강력하고 유연한 언어 중 하나로, 다양한 분야에서 활용될 수 있습니다. C++을 배우면 프로그래밍의 기본 개념과 문법을 익힐 수 있으며, 다른 언어로의 전환도 쉽게 할 수 있습니다. C++에 대해 더 깊이 알고 싶으신 분들은 다음 글에서 C++의 클래스와 객체, 상속과 다형성, 템플릿과 STL 등에 대해 알아보겠습니다. 이 글을 읽어주셔서 감사합니다. 코딩의 신 김코딩스타 였습니다.^^

 

 

 

 

반응형

'프로그래밍 언어 > C++' 카테고리의 다른 글

C++ 패키지를 알아보자!  (0) 2023.11.03
C++클래스의 기본 개념과 장단점  (0) 2023.09.20
C++로 고성능 계산을 구현하는 방법  (0) 2023.09.11
C++의 특징과 프레임워크 소개  (0) 2023.09.05
C++ 기초  (0) 2023.06.06