-
5-1장. 기본적인 연산자C++ 기본 문법 알아보기 2019. 1. 7. 14:35
기본적인 사칙 연산
프로그램을 만들면서 입력된 정보를 처리해서 원하는 정보를 출력해야 할 때가 있다.
그럴 때 필요한 연산을 수행하는 것이 연산자의 목적이다.
가장 기본적인 사칙 연산에 필요한 연산자들의 예제이다.
#include <iostream>
using namespace std;
int main()
{
int a = 8;
int b = 4;
// 사칙 연산 수행
int c = a + b;
int d = a - b;
int e = a * b;
int f = a / b;
// 나머지 연산 수행
int g = a & b;
// 출력
cout << "8 + 4 = " << c << "\n";
cout << "8 - 4 = " << d << "\n";
cout << "8 * 4 = " << e << "\n";
cout << "8 / 4 = " << f << "\n";
cout << "8 % 4 = " << g << "\n";
return 0;
}
이렇게 피연산자들이 연산되어 변수에 들어가는 것을 볼 수 있다.
대입 연산자
우리가 변수에 값을 넣을 때 사용하는 '=' 또한 연산자의 한 종류이다.
이 '='라는 대입 연산자는 오른쪽 피연산자의 값을 왼쪽 피연산자에 대입한다.
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
a = b = c = 100;
cout << a << ", " << b << ", " << c << "\n";
return 0;
}
a, b, c 모두에 100이라는 값이 들어간 것을 볼 수 있다.
관계 연산자
관계 연산자는 정보의 상태를 검사하는 데 사용한다.
예를 들어 1000원이 있을 때 물건의 가격을 보고 살 수 있느지 검사하는 프로그램을 만든다고 가정해보자.
그렇다면 물건의 가격이 담긴 변수의 값을 검사해서 1000원보다 크다면 사지 못한다고 출력해야 할 것이다.
이런 상황에서 검사를 할 수 있게 해주는 것이 관계 연산자이다.
다음 관계 연산자의 예제를 보자!
#include <iostream>
using namespace std;
int main()
{
// 피연산자 선언
int a = 3;
int b = 5;
// 참, 거짓을 담을 변수 선언
bool b1, b2, b3, b4, b5, b6;
// 관계 연산자 사용
b1 = a > b;
b2 = a >= b;
b3 = a < b;
b4 = a <= b;
b5 = a == b;
b6 = a != b;
// bool 타입의 값을 문자로 출력
cout << boolalpha;
cout << a << " > " << b << " ---> " << b1 << "\n";
cout << a << " >= " << b << " ---> " << b2 << "\n";
cout << a << " < " << b << " ---> " << b3 << "\n";
cout << a << " <= " << b << " ---> " << b4 << "\n";
cout << a << " == " << b << " ---> " << b5 << "\n";
cout << a << " != " << b << " ---> " << b6 << "\n";
return 0;
}
이렇게 관계 연산자를 통해서 크다, 작다, 같다, 다르다와 같이 명제의 참 혹은 거짓을 가려내는 일을 할 수 있다.
아까 말한 1000원 이하의 물건을 골라내는 코드는 어떻게 만들까?
bool b;
b = price <= 1000;
이렇게 하면 물건의 가격이 1000원 이하인지 알 수 있다.
논리 연산자
논리 연산자는 '미성년자면서 여성'이나 '대전 혹은 서울에 사는 사람'과 같은 조건을 만들 때 사용한다.
기본적인 논리 연산에는 AND, OR, NOT 연산이 있는데 각각 &&, ||, ! 으로 표현한다.
AND와 OR의 예제를 보자.
#include <iostream>
using namespace std;
int main()
{
bool b1, b2, b3, b4;
// AND 연산
b1 = false && false;
b2 = false && true;
b3 = true && false;
b4 = true && true;
//출력
cout << boolalpha;
cout << "false AND false --->" << b1 << "\n";
cout << "false AND true --->" << b2 << "\n";
cout << "true AND false --->" << b3 << "\n";
cout << "true AND true --->" << b4 << "\n\n";
// OR 연산
b1 = false || false;
b2 = false || true;
b3 = true || false;
b4 = true || true;
cout << "false OR false --->" << b1 << "\n";
cout << "false OR true --->" << b2 << "\n";
cout << "true OR false --->" << b3 << "\n";
cout << "true OR true --->" << b4 << "\n";
return 0;
}
AND는 두 조건이 모두 참이어야 참이고, OR는 둘 중 하나만 참이어도 참이 나오는 것을 알 수 있다.
이제 관계 연산자와 논리 연산자를 조합해서 사용해보자.
성인이면서 여성인지를 판별하는 프로그램이다.
#include <iostream>
using namespace std;
int main()
{
int age;
int female;
age = 20;
female = true;
bool b;
b = age > 19 && female == true;
cout << boolalpha;
cout << "성인이면서 여성인가? : " << b << "\n";
return 0;
}
잘 판별 되었다.
NOT 연산자는 하나의 피연산자만을 받는데, true라면 false를, false라면 true를 반환한다.
위의 코드를 살짝 변형해보자.#include <iostream>
using namespace std;
int main()
{
int age;
int female;
age = 20;
female = true;
bool b;
b = !(age <= 19) && female == true;
cout << boolalpha;
cout << "성인이면서 여성인가? : " << b << "\n";
return 0;
}
같은 결과가 출력되는 것을 볼 수 있다.
다음 글에서는 비트 연산자에 대해서 알아보자.
'C++ 기본 문법 알아보기' 카테고리의 다른 글
6장. 조건문이란? (0) 2019.01.09 5-2장. 비트 단위 연산자와 연산자 마무리 (0) 2019.01.08 4장. 형변환이란? (0) 2019.01.06 3장. 타입에 대하여 (0) 2019.01.03 2장. 변수 - 정보를 담는 그릇 (0) 2019.01.02