연산자 (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 + 4
는 7
로 평가되는 표현식입니다.
예제:
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++의 조건문과 제어 구조에 대해 다룰 것입니다.
내일은 "조건문과 제어 구조"에 대해 다룰 예정입니다. 질문이나 피드백이 있으면 댓글로 남겨 주세요!
'-----ETC----- > C++ 마스터 시리즈' 카테고리의 다른 글
[C++ 마스터] Day 5: 조건문과 제어 구조 (0) | 2024.08.01 |
---|---|
[C++ 마스터] Day 6: 반복문 (for, while, do-while) (0) | 2024.08.01 |
[C++ 마스터] Day 3: 변수와 데이터 타입 (0) | 2024.08.01 |
[C++ 마스터] Day 2: 기본 문법과 Hello World 프로그램 (0) | 2024.08.01 |
[C++ 마스터] Day 1: C++ 소개와 개발 환경 설정 (0) | 2024.08.01 |