목록분류 전체보기 (58)
연습장
주제: const와 메모리 구조 const - constant의 약자인 const (변수를 상수화 한다고 한다.) - 한 번 정해지면 절대 바뀌지 않을 값들에 const를 붙여준다. - const를 붙였으면 초기값을 반드시 지정해줘야 한다. - 보통 바뀌지 않는 값은 대문자로 지정해준다. - 코드의 가독성이 높아진다. #include using namespace std; unsigned char flag; const int AIR = 0; //공중부양상태 const int STUN = 1; //스턴상태 const int POLYMORPH = 2; //변이상태 const int INVINCIBLE = 3; //무적상태 int main(){ flag = (1
#include using namespace std; int main() { int input; cin >> input; for (int i = 0; i < input; i++) { for (int j = 0; j
#include using namespace std; int main() { int input; cin >> input; for (int i = 0; i < input; i++) //줄을 만드는 { for (int j = 0; j < input; j++) // 별을 찍는 { cout
주제: 비트 연산과 비트 플래그 비트 연산 비트연산이 언제 필요한가? 사용 빈도가 높진 않지만 아주 가끔 사용된다. 비트 단위의 조작이 필요할 때 (게임 서버에서 아이디를 만들 때 비트플래그(대표적) ~ bitwise not 단일 숫자의 모든 비트를 대상으로 0은 1, 1은 0 모든 비트를 거꾸로 뒤집는다. & bitwise and 두 숫자의 모든 비트 쌍을 대상으로 and를 한다. 두 숫자가 1이면 1 | bitwise or 두 숫자의 모든 비트 쌍을 대상으로 or를 한다. 둘 다 0이 아니면 1 ^ bitwise xor 두 숫자의 모든 비트 쌍을 대상으로 xor을 한다. 두 숫자가 같으면 0 다르면 1 같은 숫자 두개를 xor 연산 해주면 모든 비트가 0000 0000 으로 나온다. 비트 시프트 > ..
주제: 비교 연산과 논리 연산 비교연산이 언제 필요한가? 체력이 0이 되면 사망한다, 체력이 30% 이하이면 궁극기를 발동한다. (100*hp/maxHp), 경험치가 100 이상이면 레벨업을 한다. 비교 연산 a == b a와 b의 값이 같은가? 같으면 1, 다르면 0 a != b a와 b의 값이 다른가? 다르면1, 같으면 0 a > b a가 b보다 큰가? a > = b a가 b보다 크거나 같은가? a < b a가 b보다 작은가? a b); isSmaller = (a < b); } 논리연산이 언제 필요한가? 조건에 대한 논리적 사고가 필요할 때, 하나의 정보가 아닌 여러 정보를 조합하여 최종 판단을 해야하는 상황일 때 로그인할 때 아이디도 같고 And 비밀번호도 같아야 한다. ( 두가지 조건을 동시에 만..
주제: 데이터 연산 / 데이터를 가공하는 방법에 대해 알아보자. int a = 1; : 1이라는 데이터를 a라는 바구니(메모리)에 할당한다. int b = 2; : 2라는 데이터를 a라는 바구니(메모리)에 할당한다. 산술연산자 대입연산 a = b; : a에 b를 대입하고 b를 반환하라. (b라는 바구니 안에 있는 값을 a라는 바구니 안에 복사한다. 사칙연산 a = b + 3 덧셈 add a = b - 3 뺄셈 sub a = b * 3 곱셈 mul a = b / 3 나눗셈 div a = b % 3 나눗셈(나머지) div 사칙연산이 필요할 때: 데미지를 계산할 때, 체력을 깎을 때, 루프문에서 카운터를 1증가 시킬 때 등 a += 3 a = a + 3 a -= 3 a = a - 3 a *=3 a = a * ..
주제: 문자와 문자열 bool은 그냥 정수지만, 참/거짓을 나타내기 위해 사용한다 했었다. 사실 char도 마찬가지이다. 그냥 정수지만 '문자'의 의미를 나타내기 위해 사용한다. char : 알파벳, 숫자, 문자를 나타낸다. wchar_t : 유니코드 문자를 나타낸다. (_t == _type의 약자) ASCII코드 (정보교환을 위한 미국표준 코드) : '문자'의 의미로 작은 따옴표 ' '를 사용한다. #include using namespace std; char ch1 = 97; char ch2 = 'a'; char ch3 = '1'; char ch4 = 'a'+1; int main(){ cout
주제: 불리언(bool)과 실수 불리언(boolean)은 참과 거짓 두가지만 갖고 있는 형식이다. bool isHighLevel = true; //고렙이 맞는지 bool isPlayer = true; //유저가 맞는지 bool isMale = false; //캐릭터가 남자가 맞는지 불리언은 그냥 1바이트 정수에 불과하다. true는 0, false는 1의 값을 가지고 있다. 그렇다면, 왜 정수 시간에 불리언을 다루지 않았을까? => 어셈블리에서 불리언이라는 것은 없음 불리언만 봐도 참/거짓 둘 중 하나라는 힌트를 준다(가독성) int main(){ // 아래처럼 표현해도 되지만 // 여성 갯수? 뭔 말이지? 하는 상황이 올수도 있음 if(isFemale != 1) { //TODO } } int main(..