#include <iostream>
#include <string>
#include <cmath>
using namespace std;
/*
[연산자]
데이터를 가공(연산)하는 모든 명령에 필요한 것들
1) 어떤 종류의 연산자들이 있는지?
2) 우선 순위 : 어떤 순서로 연산이 진행되는지?
3) 결합 순서 : 좌측부터 연산하는 연산자, 우측부터 연산하는 연산자
1. 사칙연산 : 산술연산자
+ : 더하기
- : 빼기
* : 곱하기
/ : 나누기 11 / 3 => 3
% : 나머지 11 % 3 => 2
*, /, % > +, -
2. 대입연산자
= : 왼쪽 항의 값을 대입한다. (복사한다)
3. 복합대입연산자
+= : a += b; => a = a + b;
-= : a -= b; => a = a - b;
*= : a *= b; => a = a * b;
/= : a /= b; => a = a / b;
%= : a %= b; => a = a % b; (a와 b는 정수형타입이어야 한다)
4. 증감 연산자
특정 변수의 값을 1씩 증가시키거나 감소시킬 때 사용한다.
변수의 앞이나 뒤에 ++ / -- 를 붙여서 사용한다.
5. 관계연산자
두 값을 비교 결과가 참(1, true)인지 거짓(0, false)인지 반환하는 연산자
< : a < b : 왼쪽 항의 값이 오른쪽 항의 값보다 작으면 참을 반환한다.
> : a > b : 왼쪽 항의 값이 오른쪽 항의 값보다 크면 참을 반환한다.
<= : 왼쪽 항의 값이 오른쪽 항의 값보다 작거나 같으면
> = : 왼쪽 항의 값이 오른쪽 항의 값보다 크거나 같으면
== : 왼쪽 항의 값과 오른쪽 항의 값이 같을 때, 참을 반환한다.
!= : 왼쪽 항의 값과 오른쪽 항의 값이 다를 때, 참을 반환한다.
6. 논리연산자
왼쪽 항과 오른쪽 항의 값을 각각 참과 거짓으로 연산해서
두 값을 비교해서 참과 거짓을 반환하는 연산자
&& : 논리곱(AND)
a && b : a의 결과값이 참이고 b의 결과값이 참이면 1을 반환
|| : 논리합(OR)
a || b : a의 결과값이 참이거나 b의 결과값이 참이면 1을 반환
! : 논리부정(NOT)
!a : a의 결과값이 참이면 거짓을 반환, 거짓이면 참을 반환
7. 삼항연산자
a ? b : c;
a의 결과값이 참이면 b 실행문이 동작, 거짓이면 c실행문이 동작.
*/
/*
실습.
1.고객의 나이를 입력받아서 미성년자(19세 이하)이면 false를 출력
성인이면 true를 출력.
2.아까 입력 받은 나이를 기준으로, 주민등록증 발급대상이면 true를 아니면 false를 출력.
3.아홉수(1의 자리가 9인수)인지 확인해서 true, false를 출력.
*/
int main()
{
int left_value = 11 + 3;
int right_value = 3;
//left_value++; // 15
cout << left_value++ << endl; // 실행문이 한번 종료되야 값이 바뀐다. 1증가하기 전 값이 연산결과값이다.(후위) // 출력 14, 메모리 : 15
//++left_value; // 16
cout << ++left_value << endl; // 실행문이 종료되기전에 바뀐다. 1증가된 값이 연산결과값이다.(전위) // 출력 16, 메모리 : 16
cout << "+ : " << left_value + right_value << endl; // 17
cout << "- : " << left_value - right_value << endl; // 11
cout << "* : " << left_value * right_value << endl; // 42
cout << "/ : " << left_value / right_value << endl; // 4
cout << "% : " << left_value % right_value << endl; // 2
cout << "" << endl;
left_value += right_value;
cout << "+= : " << left_value << endl;
left_value -= right_value;
cout << "-= : " << left_value << endl;
left_value *= right_value;
cout << "*= : " << left_value << endl;
left_value /= right_value;
cout << "/= : " << left_value << endl;
left_value %= right_value;
cout << "%= : " << left_value << endl;
cout << "%= : " << (left_value %= right_value) << endl;
int customAge;
int ageLimit = 19;
cout << "고객님의 나이를 입력하십시오." << endl;
cin >> customAge;
cout << "당신은 미성년자입니까? : " << boolalpha << (customAge >= 19) << endl;
cout << "주민등록증 발급대상인가요? : " << (customAge == 20) << endl;
cout << "혹시 아홉수? : " << ((customAge - 9) % 10 == 0) << endl;
}
증감연산자 추가 정리
- 특정 변수의 값을 1씩 증가시키거나 감소시킬 때 사용한다.
- 변수의 앞이나 뒤에 ++ / -- 를 붙여서 사용한다.
- 증감연산자에서 연산자의 위치에 따라서 결과값이 달라진다.
정수형 변수를 설정하고 값이 14라고 가정해보자.
int value = 14;
++의 위치가 변수 뒤에 붙어있을경우 (출력 : 14, 메모리 : 15)
후위 연산자라고 하며 실행문이 한번 종료되야 값이 바뀐다.
1증가하기 전 값이 연산결과값이라는게 특징이다.
cout << left_value++ << endl;
++의 위치가 변수 앞에 붙어있을 경우 (출력 : 16, 메모리 : 16)
실행문이 종료되기전에 바뀌어서 변수에 할당이 된다.
1증가 된 후의 값이 연산결과값이다.(전위)
cout << ++left_value << endl;
꿀팁
naver 2Dcoding font 장점
- 관계연산자, 논리연산자를 쉬운방식으로 표기해주는 폰트다.
- 글자수를 줄여줌
폰트 설정 방법:
폰트 설치 - 압축파일 실행 - D2CodingAll - 폰트클릭 - 설치 - Visual Studio 재실행 - 도구 - 옵션 - 환경 - 글꼴 및 색 -
글꼴 설정
반응형
'Programming > C | C++ | Unreal' 카테고리의 다른 글
[C++ ] 구조체 (0) | 2022.04.15 |
---|---|
[C++] rand(), 삼항연산자 이용 (0) | 2022.04.12 |
[C++] 데이터 타입 / 변수 / 표기법 (0) | 2022.04.06 |
[C++] 자료형 (0) | 2022.04.05 |
[언리얼 엔진] FPS게임 움직임 구현 (1) | 2022.03.01 |