연산자란? 
- 연산 후 결과를 반환하는 것. 
연산자의 종류 
- 산술 연산자, sizeof연산자, 대입 연산자, 논리 연산자, 비트단위 연산자 
- 단항 연산자(피 연산자 하나), 이항 연산자(피 연산자 둘), 삼항 연산자(피 연산자 셋) 
 ##1. 산술 연산자 (이항 연산자) 
+, -, *, /, % 
 연산자 우선수위를 생각하여 소괄호로 묶어주자! 
 ##2. sizeof 연산자 (단항 연산자)
/* 
sizeof( 자료형/변수명 ) 
*/ 
확인하고 싶은 자료형 또는 변수명을 전달하면,  
해당 자료형 또는 변수명의 크기를 byte 단위로 반환한다! 
char chTest = 'A'; 
bool bTest = true; 
short nTest = 10; 
int iTest = 20; 
long lTest = 30; 
float fTest = 3.14f; 
long long llTest = 40; 
double dTest = 3.1415; 
long double ldTest = 3.141592; 
//cout << "char의 크기: " << sizeof(char) << endl; 
//cout << "chTest의 크기: " << sizeof(chTest) << endl; 
//cout << "========================================" << endl; 
//cout << "bool의 크기: " << sizeof(bool) << endl; 
//cout << "bTest의 크기: " << sizeof(bTest) << endl; 
//cout << "========================================" << endl; 
//cout << "short의 크기: " << sizeof(short) << endl; 
//cout << "nTest의 크기: " << sizeof(nTest) << endl; 
//cout << "========================================" << endl; 
//cout << "int의 크기: " << sizeof(int) << endl; 
//cout << "iTest의 크기: " << sizeof(iTest) << endl; 
//cout << "========================================" << endl; 
//cout << "long의 크기: " << sizeof(long) << endl; 
//cout << "lTest의 크기: " << sizeof(lTest) << endl; 
//cout << "========================================" << endl; 
//cout << "float의 크기: " << sizeof(float) << endl; 
//cout << "fTest의 크기: " << sizeof(fTest) << endl; 
//cout << "========================================" << endl; 
//cout << "long long의 크기: " << sizeof(long long) << endl; 
//cout << "llTest의 크기: " << sizeof(llTest) << endl; 
//cout << "========================================" << endl; 
//cout << "double의 크기: " << sizeof(double) << endl; 
//cout << "dTest의 크기: " << sizeof(dTest) << endl; 
//cout << "========================================" << endl; 
//cout << "long double의 크기: " << sizeof(long double) << endl; 
//cout << "ldTest의 크기: " << sizeof(ldTest) << endl; 
//cout << "========================================" << endl; 
//char chA = 'A'; 
//char chB = 'B'; 
//cout << sizeof(chA + chB) << endl; // 4bytes 
//// char는 단일 문자 자료형이지만 저장하는 데이터는 정수형이다. 
//// chA + chB 는 단순 정수간의 더하기 연산을 수행한다. 
//// 연산 후 결과를 반환해야 하며, 해당 결과는 리터럴 상수로 임시 메모리에 저장이 된다. 
//// 임시 메모리에 정수형이 저장되니 int형으로 간주하여 4bytes만큼의 공간을 할당 받는다. 
//// 결국 sizeof로 확인한 영역은 임시 메모리 영역이다! 
// ##3. 대입 연산자 (이항 연산자) 
// = 
// 대입 연산자 기준 우측에서 좌측으로 대입(할당)이 이루어진다! 
int iA = 10, iB = 20, iC = 30; 
iA = iB; 
iB = iC; 
iA = iB = iC = 200; 
cout << iA << ", " << iB << ", " << iC << endl; 
 ##4. 논리 연산자 
: 참 또는 거짓을 반환하는 연산자. 
// 피 연산자로 조건을 받아 둘 다 참일경우 또는 둘 중 하나가 참일경우 등을 판단하는 연산자 
// &&(and), ||(or), !(not) 
////// ##4. 논리 연산자_##1. &&(and) (이항 연산자) 
////// 두 조건이 참일 경우 참(1), 하나라도 거짓일 경우 거짓(0)이 된다. 
////cout << (true && true) << endl; // 1 
////cout << (true && false) << endl; // 0 
////cout << (false && true) << endl; // 0 
////cout << (false && false) << endl; // 0 
//// 시작부터 거짓이 올 경우 다음 연산은 수행하지 않는다! 
//int iA = 10, iB = 20; 
////cout << (true && (iA = iB)) << endl; // 1 
////cout << iA << ", " << iB << endl; // 20, 20 
//cout << (false && (iA = iB)) << endl; // 0 
//cout << iA << ", " << iB << endl; // 10, 20 
////// ##4. 논리 연산자_##2. ||(or) (이항 연산자) 
////// 둘 중 하나라도 참이면 참(1), 둘 다 거짓이어야만 거짓(0)이 된다! 
////cout << (true || true) << endl; // 1 
////cout << (true || false) << endl; // 1 
////cout << (false || true) << endl; // 1 
////cout << (false || false) << endl; // 0 
//// 시작부터 참이 올 경우 다음 연산은 수행하지 않는다. 
//int iA = 10, iB = 20; 
////cout << (true || (iA = iB)) << endl; // 1 
////cout << iA << ", " << iB << endl; // 10, 20 
//cout << (false || (iA = iB)) << endl; // 1 
//cout << iA << ", " << iB << endl; // 20, 20 
// ##4. 논리 연산자_##3. !(not) (단항 연산자) 
// 논리 부정 
// 참과 거짓을 서로 바꾼다! 
cout << !true << endl; 
cout << !false << endl; 
}
#include <iostream> 
#include <bitset> 
using namespace std; 
void main() 
{ 
//// bitset 
//// 정수를 데이터로 취한다! 
//// 받아온 정수를 2진수로 변환한 값을 보여준다. 
//// bitset을 사용하기 위해서는 #include <bitset>의 추가가 필요하다. 
///* 
//bitset<자릿수>  변수명 
//*/ 
//bitset<8> bitA = 10; 
//// 0000 1010 
//cout << bitA << endl; 
// ##5. 비트 단위 논리 연산자 
// 비트 단위로 연산을 수행한다. 
// &(and), |(or), ^(xor), ~(not) 
//// ##5. 비트 단위 연산자_##1. &(and) (이항 연산자) 
// 두 비트열이 모두 1이면 1, 하나라도 0이면 0이된다. 
//bitset<4> bitA = 12, bitB = 5, bitC = 0; 
//cout << bitA << endl; 
//cout << bitB << endl; 
//cout << "=================" << endl; 
//bitC = bitA & bitB; 
//cout << bitC << endl; 
//// ##5. 비트 단위 연산자_##2. |(or) (이항 연산자) 
//// 둘 중 하나라도 1이면 1이된다. 둘 다 0일 경우 0이된다! 
//bitset<4> bitA = 12, bitB = 5, bitC = 0; 
//cout << bitA << endl; 
//cout << bitB << endl; 
//cout << "=================" << endl; 
//bitC = bitA | bitB; 
//cout << bitC << endl; 
//// ##5. 비트 단위 연산자_##3. ^(xor) (이항 연산자) 
//// 두 비트열이 다르면 1, 같으면 0 
//bitset<4> bitA = 12, bitB = 5, bitC = 0; 
//cout << bitA << endl; 
//cout << bitB << endl; 
//cout << "=================" << endl; 
//bitC = bitA ^ bitB; 
//cout << bitC << endl; 
//// ##5. 비트 단위 연산자_~(not) 
//// 0과 1을 서로 바꾼다! 
//// -> 비트 반전(1의 보수) 
//bitset<4> bitA = 5, bitB = 0; 
//cout << bitA << endl; 
//cout << "================" << endl; 
//bitB = ~bitA; 
//cout << bitB << endl; 
//// ##6. 비트 단위 쉬프트 연산자 
//// <<, >> 
//// 본 기능은 비트단위 쉬프트 연산자이다. 
//// 단, 연산자 앞에 cout이 있을 경우 추출 연산자로 사용될 뿐이다! 
//// 모든 비트열을 화살표 방향으로 이동 시킨다! 
//// -> 연산자 기준 좌측 데이터의 모든 비트열, 연산자 기준 우측 값만큼 이동시킨다! 
//// 2의 n승으로 곱하거나(<<), 나누는데(>>) 사용된다! 
//bitset<8> bitA = 10, bitB = 0; 
//cout << bitA << endl; 
//cout << "========================" << endl; 
//bitB = bitA << 3; 
//cout << bitB << endl; 
// cin 
// Console Input의 약자. 
// 데이터를 입력받을 때 사용한다! 
// 단, cout에서는 << 
// cin 에서는 >> (여기에다!) 
int iA = 0; 
cin >> iA; 
cout << iA << endl; 
}
#include <iostream> 
using namespace std; 
void main() 
{ 
//// 축약 연산자 
//// 연산자 2개를 합한 것. 
//// 연산자 1개는 = 연산자를 사용하여 합한다. 
//// +=, -=, *=, /=, %=, <<=, >>= 
//int iPlayerHp = 100; 
//int iMonsterAtt = 10; 
//iPlayerHp = iPlayerHp - iMonsterAtt; 
//iPlayerHp -= iMonsterAtt; 
}
#include <iostream> 
using namespace std; 
void main() 
{ 
// 증감 연산자 
// ++, -- 
// 피 연산자의 값을 1 증가/감소 시킬 때 사용한다 
//// ##1. 전위 증감 
//// -> 연산자가 피 연산자 앞에 붙는다. 
//// 선 증감 후 연산 
//// 연산 시 본인이 직접 연산을 수행한다. 
//int iA = 5; 
//cout << ++iA << endl; 
//cout << iA << endl; 
// ##2. 후위 증감 
// -> 연산자가 피 연산자 뒤에 붙는다. 
// 선 연산 후 증감 
// 본인과 동일한 임시 객체를 하나 만든다. 
// 이후, 연산은 새로 만든 임시 객체로 수행하고 본인은 증가를 진행한다. 
// -> 임시 객체는 말 그대로 임시이기 때문에 코드라인을 벗어나는 즉시 소멸한다. 
int iA = 5; 
cout << iA++ << endl; 
cout << iA << endl; 
}
| C++ 형변환, if, switch, goto, 자판기 프로그램 (0) | 2020.10.07 | 
|---|---|
| C++ 성적관리 프로그램 (0) | 2020.10.07 | 
| C++ 자료형 표기법 N진수 (0) | 2020.10.07 | 
| C++ #2. 변수와 자료형 (0) | 2020.10.07 | 
| C++ 시작(#1. 실행파일 생성하기) (0) | 2020.10.07 |