오늘은 C++에서 사용하는 많은 연산자들에 대해 소개하려고 한다. C++은 다른 언어들에서 사용되는 연산자들에 더불어 특별한 작업을 위한 몇몇 특수한 연산자들도 함께 제공하여 프로그래밍 작업에 효율성을 더하고 있다.
연산자의 종류
연산자 | 연산자 기호 | 기능 |
할당 연산자 | = | 좌변에 우변의 연산 결과 할당 |
산술 연산자 | +, -, *, /, % | 산술 계산 |
관계 연산자 | <, <=, ==, >=, >, != | 크기 비교 |
논리 연산자 | !, &&, || | 논리 부정(not), 논리곱(and), 논리합(or) |
증감 연산자 | -, ++, -- | 부호 변경, 1증가, 1감소 |
조건 연산자 | ?, : | 조건 연산의 간결 표현 |
1. 할당 연산자
'='로 수행되는 이 연산자는 =의 오른쪽 위치의 상수나 문자를 왼쪽 변수에 할당하라는 의미다.
#include <iostream>
using namespace std;
int main() {
int a = 1
int b = 2
char c = 'p'
}
2. 산술 연산자
연산자 | 사용 예 | 설명 |
+ | a = a + 1 | a와 1을 더해서 '=' 앞의 a에 할당한다 |
- | a = a - 1 | a에서 1을 빼서 '=' 앞의 a에 할당한다 |
* | a = a * b | a와 b를 곱해서 '=' 앞의 a에 할당한다 |
/ | a = b / c | b를 c로 나눠서 몫을 '=' 앞의 a에 할당한다 |
% | a = b % c | b를 c로 나눈 나머지를 '=' 앞의 'a'에 할당한다 |
#include <iostream>
using namespace std;
int main() {
cout << 2 + 5 << endl; //7
cout << 9 - 4 << endl; //5
cout << 3 * 7 << endl; //21
cout << 5 / 2 << endl; //2
cout << 34 % 6 << endl; //4
}
3. 관계 연산자
연산자 | 사용 예 | 설명 |
> | a > b | 이 연산이 참이면 1, 거짓이면 0 |
< | a < b | 이 연산이 참이면 1, 거짓이면 0 |
>= | a >= b | 이 연산이 참이면 1, 거짓이면 0 |
<= | a <= b | 이 연산이 참이면 1, 거짓이면 0 |
== | a == b | a와 b가 같으면 1, 다르면 0 |
!= | a != b | a와 b가 다르면 1, 같으면 0 |
#include <iostream>
using namespace std;
int main() {
int a = 3, b = 2
cout << a > b << endl; //1 (True)
cout << a < b << endl; //0 (False)
cout << a >= b << endl; //1 (True)
cout << a <= b << endl; //0 (False)
cout << a == b << endl; //0 (False)
cout << a != b << endl; //1 (True)
}
4. 논리 연산자
연산자 | 사용 예 | 설명 |
&& | a && b | a와 b가 모두 True이면 1, 하나라도 False면 0 |
|| | a || b | a와 b가 모두 False면 0, 하나라도 True면 1 |
! | !a | a가 True면 0, False면 1 |
#include <iostream>
using namespace std;
int main() {
int a = 3, b = 2, c = 5
bool i = (a < b)
bool j = (b < c)
bool k = (a < c)
cout << i && j << endl; //0 (False)
cout << j && k << endl; //1 (True)
cout << i || j << endl; //1 (True)
cout << !i << endl; //1 (True)
cout << !j << endl; //0 (False)
}
5. 증감 연산자
증감 연산자는 1개의 피연산자를 대상으로 한다
연산자 | 사용 예 ( a = 10) | 의미 | 결과 값 |
++ | x = ++a | 전치 연산: 변수 a 먼저 1 증가 후 x에 a값 할당 | a = 11 , x = 11 |
x = a++ | 후치 연산: 변수 a가 x에 먼저 할당 후, a값 1 증가 | a = 11, x = 10 | |
_ _ | x = --a | 전치 연산: 변수 a 먼저 1 감소 후 x에 a값 할당 | a = 9. x = 9 |
x = a-- | 후치 연산: 변수 a가 x에 먼저 할당 후, a값 1 감소 | a = 9, x = 10 |
6. 조건 연산자
조건식 ? 수식 1 : 수식 2; ex) c = a < b ? a : b ;
'?'앞의 조건식이 True면 수식 1 선택, False일 경우 수식 2 선택. 만약 '=' 할당자가 조건식에 있으면 선택된 수식이 c에 할당된다.
#include <iostream>
using namespace std;
int main() {
int value = 5;
cout << ((value > 0) ? "양수입니다!" :
(value == 0) ? "0 입니다!" : "음수입니다!"<< endl; // 양수입니다!
}
'Languages > C++' 카테고리의 다른 글
[C++ 기초] auto의 사용법 (0) | 2024.03.21 |
---|---|
[C++ 기초] 변수의 자료형 (0) | 2024.02.06 |
[C++ 기초] 변수 선언과 규칙 (1) | 2024.02.05 |
[C++ 기초] C++ 기본사항 (0) | 2024.02.05 |