본문 바로가기
-----ETC-----/C++ 마스터 시리즈

[C++ 마스터] Day 4: 연산자와 표현식

by cogito21_cpp 2024. 8. 1.
반응형

연산자 (Operators)

연산자는 변수나 값에 대해 다양한 연산을 수행하는 데 사용됩니다. C++에는 여러 종류의 연산자가 있습니다.

 

1. 산술 연산자 (Arithmetic Operators)

산술 연산자는 수학 연산을 수행합니다.

  • + : 덧셈
  • - : 뺄셈
  • * : 곱셈
  • / : 나눗셈
  • % : 나머지

예제:

int a = 10;
int b = 3;
cout << "a + b = " << (a + b) << endl;  // 13
cout << "a - b = " << (a - b) << endl;  // 7
cout << "a * b = " << (a * b) << endl;  // 30
cout << "a / b = " << (a / b) << endl;  // 3
cout << "a % b = " << (a % b) << endl;  // 1

 

2. 할당 연산자 (Assignment Operators)

할당 연산자는 변수에 값을 할당합니다.

  • = : 값 할당
  • += : 더한 값을 할당
  • -= : 뺀 값을 할당
  • *= : 곱한 값을 할당
  • /= : 나눈 값을 할당
  • %= : 나머지 값을 할당

예제:

int a = 10;
a += 5;  // a = a + 5; -> 15
a -= 3;  // a = a - 3; -> 12
a *= 2;  // a = a * 2; -> 24
a /= 4;  // a = a / 4; -> 6
a %= 3;  // a = a % 3; -> 0

 

3. 비교 연산자 (Comparison Operators)

비교 연산자는 두 값을 비교하고, 참 또는 거짓을 반환합니다.

  • == : 같음
  • != : 같지 않음
  • > : 큼
  • < : 작음
  • >= : 크거나 같음
  • <= : 작거나 같음

예제:

int a = 10;
int b = 5;
cout << (a == b) << endl;  // 0 (false)
cout << (a != b) << endl;  // 1 (true)
cout << (a > b) << endl;   // 1 (true)
cout << (a < b) << endl;   // 0 (false)
cout << (a >= b) << endl;  // 1 (true)
cout << (a <= b) << endl;  // 0 (false)

 

4. 논리 연산자 (Logical Operators)

논리 연산자는 논리값을 연산합니다.

  • && : 논리 AND
  • || : 논리 OR
  • ! : 논리 NOT

예제:

bool a = true;
bool b = false;
cout << (a && b) << endl;  // 0 (false)
cout << (a || b) << endl;  // 1 (true)
cout << (!a) << endl;      // 0 (false)

 

5. 증가 및 감소 연산자 (Increment and Decrement Operators)

변수의 값을 1 증가시키거나 감소시킵니다.

  • ++ : 1 증가
  • -- : 1 감소

예제:

int a = 10;
a++;  // a = a + 1; -> 11
a--;  // a = a - 1; -> 10

int b = 5;
cout << ++b << endl;  // 6 (선증가)
cout << b++ << endl;  // 6 (후증가)
cout << b << endl;    // 7

 

표현식 (Expressions)

표현식은 연산자와 피연산자로 구성된 문장으로, 값으로 평가됩니다. 예를 들어, 3 + 47로 평가되는 표현식입니다.

 

예제:

int a = 10;
int b = 5;
int c = a + b;  // c는 15로 평가

 

복합 대입 연산자 (Compound Assignment Operators)

복합 대입 연산자는 산술 연산자와 할당 연산자를 결합한 것입니다.

  • += : 더한 후 할당
  • -= : 뺀 후 할당
  • *= : 곱한 후 할당
  • /= : 나눈 후 할당
  • %= : 나머지 후 할당

예제:

int a = 10;
a += 5;  // a = a + 5 -> 15
a -= 3;  // a = a - 3 -> 12
a *= 2;  // a = a * 2 -> 24
a /= 4;  // a = a / 4 -> 6
a %= 3;  // a = a % 3 -> 0

 

예제 문제

문제 1: 두 정수의 합과 차를 계산하는 프로그램 작성

사용자로부터 두 개의 정수를 입력받아, 그 합과 차를 출력하는 프로그램을 작성하세요.

 

해설:

#include <iostream>

using namespace std;

int main() {
    int num1, num2;
    cout << "Enter first number: ";
    cin >> num1;
    cout << "Enter second number: ";
    cin >> num2;

    int sum = num1 + num2;
    int difference = num1 - num2;

    cout << "Sum: " << sum << endl;
    cout << "Difference: " << difference << endl;

    return 0;
}

 

이 프로그램은 사용자로부터 두 개의 정수를 입력받아, 그 합과 차를 계산하여 출력합니다.

 

문제 2: 주어진 숫자가 짝수인지 홀수인지 판별하는 프로그램 작성

사용자로부터 정수를 입력받아, 그 수가 짝수인지 홀수인지를 판별하여 출력하는 프로그램을 작성하세요.

 

해설:

#include <iostream>

using namespace std;

int main() {
    int number;
    cout << "Enter a number: ";
    cin >> number;

    if (number % 2 == 0) {
        cout << number << " is even." << endl;
    } else {
        cout << number << " is odd." << endl;
    }

    return 0;
}

 

이 프로그램은 사용자로부터 정수를 입력받아, 그 수가 짝수인지 홀수인지를 판별하여 출력합니다.

 

다음 단계

4일차의 목표는 C++의 연산자와 표현식을 이해하는 것이었습니다. 다음 날부터는 C++의 조건문과 제어 구조에 대해 다룰 것입니다.

 

내일은 "조건문과 제어 구조"에 대해 다룰 예정입니다. 질문이나 피드백이 있으면 댓글로 남겨 주세요!

반응형