[개발] 프로그램 지식

[C++] C++ 튜토리얼

  • -
반응형

 

C++란 무엇인가?

C++는 고성능 애플리케이션을 만드는 데 사용할 수 있는 크로스 플랫폼 언어입니다. C++는 Bjarne Stroustrup이 C 언어를 확장하여 개발했습니다. C++는 프로그래머에게 시스템 리소스와 메모리에 대한 높은 수준의 제어권을 제공합니다.

C++는 C의 확장으로 개발되었으며, 두 언어는 거의 동일한 구문을 가지고 있습니다. C와 C++의 주요 차이점은 C++는 클래스와 객체를 지원하는 반면 C는 지원하지 않는다는 것입니다.

 

 

 

 

 

 

기본 예제

#include <iostream>
using namespace std;

int main() {
    cout << "Hello World!"; // cout ( see-out )
    return 0; // 모든 C++ 문장은 세미콜론( ; )으로 끝난다.
}

1행: #include <iostream>cout과 같은 입력 및 출력 객체로 작업할 수 있는 헤더 파일 라이브러리입니다. 헤더 파일은 C++ 프로그램에 기능을 추가합니다.

2번째 줄: using namespace std;는 표준 라이브러리에서 객체와 변수의 이름을 사용할 수 있다는 의미입니다.

3번째 줄: 빈 줄. C++는 공백을 무시합니다. 하지만 우리는 코드를 더 읽기 쉽게 만들기 위해 그것을 사용합니다.

4번째 줄: C++ 프로그램에서 항상 나타나는 또 다른 것은 int main()입니다. 중괄호 안의 모든 코드가 실행됩니다.

5번째 줄: cout (발음은 "see-out")은 삽입 연산자 <<와 함께 텍스트를 출력/인쇄하는 데 사용되는 객체입니다. 우리의 예에서 "Hello World!"를 출력합니다.

참고: 모든 C++ 문장은 세미콜론으로 끝납니다 ;.

참고: 본문은 다음과 같이도 작성될 수 있습니다:

int main() { cout << "Hello World! "; return 0; }

기억하세요: 컴파일러는 공백을 무시합니다. 그러나 여러 줄을 쓰면 코드가 더 읽기 쉬워집니다.

6번째 줄: return 0;는 main 함수를 끝냅니다.

7번째 줄: }는 main 함수를 실제로 끝내려면 닫는 중괄호를 추가하는 것을 잊지 마세요.

 

 

 

 

 

 

네임스페이스 생략

표준 네임스페이스 라이브러리 없이 실행되는 일부 C++ 프로그램을 볼 수 있습니다. 줄을 using namespace std; 생략하고 키워드로 바꿀 수 있으며 std, 그 뒤에 :: 연산자가 옵니다.

#include <iostream>

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

 

 

 

 

 

 

 

새로운 라인

새 줄을 삽입하려면 다음 문자를 사용할 수 있습니다 \n.

#include <iostream>
using namespace std;

int main() {
    cout << "Hello World! \n";
    cout << "I am learning C++";
    return 0;
}

또한, 다른 << 연산자를 사용하여 \n 다음과 같이 텍스트 뒤에 문자를 배치할 수도 있습니다.

#include <iostream>
using namespace std;

int main() {
    cout << "Hello World!" << "\n";
    cout << "I am learning C++";
    return 0;
}

\n 문자가 연속되면 빈 줄이 생성됩니다.

#include <iostream>
using namespace std;

int main() {
    cout << "Hello World!" << "\n\n";
    cout << "I am learning C++";
    return 0;
}

새 줄을 삽입하는 또 다른 방법은 endl 조작기를 사용하는 것입니다.

#include <iostream>
using namespace std;

int main() {
    cout << "Hello World!" << endl;
    cout << "I am learning C++";
    return 0;
}

 

 

 

 

단일 줄 주석

단일 줄 주석은 두 개의 슬래시( //)로 시작합니다.

다중 줄 주석

여러 줄로 된 주석은 /*으로 시작하고 */으로 끝납니다.

 

 

 

 

 

 

 

변수

변수는 데이터 값을 저장하는 컨테이너입니다.

C++에는 다음과 같이 다양한 유형의 변수가 있습니다 (다양한 키워드로 정의됨).

  • int - 소수점 없이 123이나 -123과 같은 정수(정수)를 저장합니다.
  • double - 19.99 또는 -19.99와 같은 소수점을 포함한 부동 소수점 숫자를 저장합니다.
  • char - 'a' 또는 'B'와 같은 단일 문자를 저장합니다. 문자 값은 작은 따옴표로 묶습니다.
  • string - "Hello World"와 같은 텍스트를 저장합니다. 문자열 값은 큰따옴표로 둘러싸여 있습니다.
  • bool - 두 가지 상태(참 또는 거짓)로 값을 저장합니다.

 

 

 

 

 

상수

다른 사람(또는 자신)이 기존 변수 값을 변경하지 못하도록 하려면 const 키워드를 사용하세요(이렇게 하면 변수가 "상수"로 선언되어 변경 불가능하고 읽기 전용이 됩니다).

 

 

 

 

 

 

사용자 입력

당신은 이미 값을 출력(인쇄)하는 데 사용되는 것을 배웠습니다. 이제 우리는 사용자 입력을 얻는 데 cout을 사용할 것입니다. cin는 추출 연산자( >>)를 사용하여 키보드에서 데이터를 읽는 미리 정의된 변수입니다.

다음 예에서 사용자는 숫자를 입력할 수 있으며, 이 숫자는 변수에 저장됩니다 x. 그런 다음 값을 인쇄합니다 x.

int x;
cout << "Type a number: "; // Type a number and press enter
cin >> x; // Get user input from the keyboard ( see-in )
cout << "Your number is: " << x; // Display the input value

 

 

 

 

 

 

비교 연산자

int x = 5;
int y = 3;
cout << (x > y); // returns 1 (true) because 5 is greater than 3

 

 

 

 

 

 

 

네임스페이스 생략

표준 네임스페이스 라이브러리 없이 실행되는 C++ 프로그램을 볼 수 있습니다. 줄을 using namespace std; 생략하고 키워드로 바꿀 수 있으며 std, 그 뒤에 :: for string(and cout) 객체 연산자가 옵니다.

#include <iostream>
#include <string>
// using namespace std; - Remove this line

int main() {
    std::string greeting = "Hello";
    std::cout << greeting;
    return 0;
}

 

 

 

 

 

 

 

 

배열의 크기를 구하다

배열의 크기를 구하려면 다음 sizeof() 연산자를 사용하면 됩니다.

int myNumbers[5] = {10, 20, 30, 40, 50};
cout << sizeof(myNumbers);

 

 

 

 

 

 

 

 

구조

구조(structs라고도 함)는 여러 관련 변수를 한 곳으로 그룹화하는 방법입니다. 구조의 각 변수는 구조의 멤버로 알려져 있습니다.

배열과 달리 구조체는 다양한 데이터 유형(int, string, bool 등)을 포함할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

액세스 구조 멤버

구조체 멤버에 액세스하려면 점 구문( .)을 사용합니다.

// Create a structure variable called myStructure
struct {
    int myNum;
    string myString;
} myStructure;

// Assign values to members of myStructure
myStructure.myNum = 1;
myStructure.myString = "Hello World!";

// Print members of myStructure
cout << myStructure.myNum << "\n";
cout << myStructure.myString << "\n";

 

 

 

 

 

 

 

 

여러 변수의 하나의 구조

쉼표( ,)를 사용하면 여러 변수에서 하나의 구조를 사용할 수 있습니다.

struct {
    int myNum;
    string myString;
} myStruct1, myStruct2, myStruct3; // Multiple structure variables separated with commas

 

 

 

 

 

 

 

명명된 구조

구조에 이름을 지정하면 데이터 유형으로 취급할 수 있습니다. 즉, 언제든지 프로그램의 어느 곳에서나 이 구조로 변수를 만들 수 있습니다.

명명된 구조를 만들려면 키워드 바로 뒤에 구조 이름을 넣습니다 struct.

struct myDataType { // This structure is named "myDataType"
    int myNum;
    string myString;
};

구조를 사용하는 변수를 선언하려면 구조의 이름을 변수의 데이터 유형으로 사용합니다.

myDataType myVar;

 

 

 

 

 

 

 

 

 

 

예: 두 대의 자동차를 표현하기 위해 하나의 구조를 사용합니다

// Declare a structure named "car"
struct car {
    string brand;
    string model;
    int year;
};

int main() {
    // Create a car structure and store it in myCar1;
    car myCar1;
    myCar1.brand = "BMW";
    myCar1.model = "X5";
    myCar1.year = 1999;

    // Create another car structure and store it in myCar2;
    car myCar2;
    myCar2.brand = "Ford";
    myCar2.model = "Mustang";
    myCar2.year = 1969;

    // Print the structure members
    cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
    cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";

    return 0;
}

 

 

 

 

 

 

 

 

 

 

참조 생성

참조 변수는 기존 변수에 대한 "참조"이며 다음 연산자를 사용하여 생성됩니다 &.

string food = "Pizza";  // food variable
string &meal = food;    // reference to food

이제 변수 이름 food이나 참조 이름을 사용하여 변수 meal를 참조할 수 있습니다 food.

string food = "Pizza";
string &meal = food;

cout << food << "\n";  // Outputs Pizza
cout << meal << "\n";  // Outputs Pizza

 

 

 

 

 

 

 

 

 

C++ 메모리 주소

메모리 주소

이전 페이지의 예에서 연산자 &는 참조 변수를 만드는 데 사용되었습니다. 하지만 변수의 메모리 주소를 가져오는 데도 사용할 수 있습니다. 즉, 변수가 컴퓨터에 저장된 위치입니다.

C++에서 변수가 생성되면 메모리 주소가 변수에 할당됩니다. 그리고 변수에 값을 할당하면 이 메모리 주소에 저장됩니다.

이에 액세스하려면 연산자를 사용 & 하고 그 결과는 변수가 저장된 위치를 나타냅니다.

그러면 메모리 주소를 아는 것이 왜 유용한가요?

참조와 포인터(다음 장에서 배울 것입니다)는 C++에서 중요합니다. 왜냐하면 이를 통해 컴퓨터 메모리에 있는 데이터를 조작할 수 있기 때문입니다. 이를 통해 코드를 줄이고 성능을 향상시킬 수 있습니다.

이 두 가지 특징은 C++를 Python 이나 Java 등의 다른 프로그래밍 언어와 차별화하는 요소 중 하나입니다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.