2022.04.07_C++ 연산자 종류와 간단한 실습
연산자 : 데이터를 가공(연산)하는 모든 명령에 필요한 것들
1. 어떤 종류의 연산자들이 있는지?
2. 우선 순위 : 어떤 순서로 연산이 진행되는지?
3. 결합 순서 : 좌측부터 연산하는 연산자 / 우측부터 연산하는 연산자
1)사칙연산 : 산술연산자 (좌측부터 연산), 나누기연산 실행시 나누는 값이 0이면 출력되지 않음.
+ : 더하기
- : 빼기
* : 곱하기
/ : 나누기 ex> 11 / 3 = 3
% : 나머지 ex> 11 % 3 = 2
(연산순서 : *, /, % > +, -)
예제>
int value_11 = 11;
int value_3 = 3;
cout << value_11 << " + " << value_3 << " = " << value_11 + value_3 << endl;
cout << value_11 << " - " << value_3 << " = " << value_11 - value_3 << endl;
cout << value_11 << " * " << value_3 << " = " << value_11 * value_3 << endl;
cout << value_11 << " / " << value_3 << " = " << value_11 / value_3 << endl;
cout << value_11 << " % " << value_3 << " = " << value_11 % value_3 << endl;
출력물>
2)대입연산자 (우측부터 연산)
= : 왼쪽 항에 오른쪽 항의 값을 대입한다. (복사한다)
ex > int value = 10;
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
예제>
int value_a = 10;
int value_b = 4;
value_a += value_b; -> 변수 'value_a'는 10에서 a + b의 값인 14로 변함
value_a -= value_b; -> 변수 'value_a'는 10에서 a - b의 값인 6으로 변함
value_a *= value_b; -> 변수 'value_a'는 10에서 a * b의 값인 40으로 변함
value_a /= value_b; -> 변수 'value_a'는 10에서 a / b의 값인 2로 변함
value_a %= value_b; -> 변수 'value_a'는 10에서 a % b의 값인 2로 변함
4)증감연산자 : 특정 변수의 값을 1씩 증가시키거나 감소시킬때 사용,
변수의 앞이나 뒤에 ++, --를 붙임
예제>
int value_7 = 7;
value_7++;
cout << value_7 << endl; -> '8' 출력
++value_7;
cout << value_7 << endl; -> '9' 출력
위와 같이 '++변수명;' 혹은 '변수명++;' 실행시 출력값이 1씩 증가되나,
아래와 같이 함수 내에 속한 경우는 연산 결과에 차이가 있다.
예제>
int value_7 = 7;
cout << value_7++ << endl; -> '7' 출력
++value_7;
cout << value_7 << endl; -> '9' 출력
위 예제에서 확인할 수 있듯이 함수 내에 속한 경우 함수가 완료되는 시점에서
증가하게 된다.
5)관계연산자 : 두 값을 비교한 결과가 '참(1,true)' 인지 '거짓(0, false)'인지 반환하는 연산자
< : a < b -> a가 b보다 작으면 참을 반환
> : a > b -> a가 b보다 크면 참을 반환
<= : a <= b -> a가 b 이하면 참을 반환
>= : a >= b -> a가 b 이상이면 참을 반환
== : a == b -> a와 b가 같으면 참을 반환
예제>
int value_4 = 4;
int value_5 = 5;
cout << (value_4 > value_5) << endl; -> '0' 출력
cout << (value_4 < value_5) << endl; -> '1' 출력
cout << (value_4 <= value_5) << endl; -> '1' 출력
cout << (value_4 >= value_5) << endl; -> '0' 출력
cout << (value_4 == value_5) << endl; -> '0' 출력
cout << (value_4 != value_5) << endl; -> '1' 출력
오늘 공부한 내용들의 실습차원에서 간단한 문제로 복습해 보았다.
복습 1>
1. 고객의 나이를 입력받아서 미성년자(19세 이하)면 false 출력, 성인이면 true 출력
2. 입력받은 나이가 20살이면 true, 아니면 false 출력
3. 입력받은 나이가 아홉수(1의 자리가 9이면)라면 true, 아니라면 false 출력
양식 : 고객의 나이를 입력하세요 : _
성인 여부 :
주민등록증 발급대상 여부 :
나이 아홉 수 여부 :
풀이 및 출력물>
#include
using namespace std;
int main()
{
int age;
cout << " 고객의 나이를 입력하세요: ";
cin >> age;
cout << "\n" << endl;
cout << boolalpha;
cout << " 성인 여부\t\t: " << (age > 19) << endl;
cout << " 20살 여부\t\t: " << (age == 20) << endl;
cout << " 나이 아홉 수 여부\t: " << ((age % 10) == 9) << endl;
}
복습 2>
1. 숫자를 입력받고 그 수가 17이상 24미만일때 True를 출력, 아니라면 False를 출력
int main()
{
int value;
cout << "숫자를 입력하세요 : ";
cin >> value;
cout << "\n" << endl;
int a = value >= 17;
int b = value < 24;
cout << boolalpha;
cout << "결과 : " << ((a + b) == 2) << endl;
}
물론 더 편하게 연산하는 방법도 있겠지만, 아직 배우지 않았을 뿐더러(...)
금일 배운 내용에 익숙해지기 위해 굳이 어렵게..풀어봤다.
Author And Source
이 문제에 관하여(2022.04.07_C++ 연산자 종류와 간단한 실습), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sung9513/2022.04.07C-연산자-종류와-간단한-실습저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)