게임개발 캠프 2일차

IIRU·2026년 5월 15일

1. C++

< 연산자 >

오늘은 연산자에 관련한 내용을 배웠습니다.

기본 사칙연산 + %( 모듈러 )

int num = 20;
int num2 = 20;

cout << num + num2 << endl; //더하기
cout << num - num2 << endl; //빼기
cout << num * num2 << endl; //곱하기
cout << num / num2 << endl; //나누기
cout << num % num2 << endl; //나머지연산

모듈러는 나머지연산이며 예를 들면 원래 4나누기2는 2인데, 4%2는 0이에요!
몫을 구하는게 아니라 나머지 값을 구한다고 보시면 됩니다!

비교연산자

//비교연산자
bool b; //true, false 참/거짓
b = num > num2; // false;
b = num <= num2; // true;
b = num == num2; // true;

참이냐 거짓이나 참이면 1(true), 거짓이면 0(false)입니다.

증감연산자

//증감연산자
num++; //num = num + 1; 이건 동작후 +1
++num; //num = num + 1; 이건 동작전 +1
num--;
--num;

각 변수에 +1을 더하는 개념입니다.

논리 연산자

//논리연산자
// && and || or ! not

b = true && true; //b = true
b = true && false; //b = false
b = false && true; //b = false
b = false && false;//b = false

b = true || true; //b = true
b = true || false; //b = true
b = false || true; //b = true
b = false || false;//b = false

b = true;
b = !b; //b = false

&&는 and 라고 합니다. 하나라도 거짓일 때 전부 거짓인 구조입니다.
||은 or 이라고 합니다. 하나라도 참이면 전부 참인 구조입니다.
!은 not 이라고 합니다. b가 참일때 !b은 거짓입니다.

비트연산

//비트연산
// & | ^ ~
// << >> (시프트)

비트 연산은 & - and , | - or, ^ - xor, ~ - not 이렇게 구성되어있습니다.
여기서 xor이 뭔지 모르실텐데 xor은 비교대상 a,b 가 있다면
a == 1 / b == 1 이라면 0
a == 0 / b == 1 이라면 1
a == 1 / b == 0 이라면 1
a == 0 / b == 0 이라면 0
즉 서로 같으면 false(0) 이고 서로 같으면 true(1) 입니다.

삼항연산

//삼항연산
//항이 3개
//a = b ? c : d 
num = 10;
num2 = 20;

int max = num > num2 ? num : num2;

위 소스코드를 보시면 a = b ? c : d 이렇게 나오는데 설명하자면 a와 b가 서로 같으면 c값이고 다르면 d값이라는 뜻입니다.
( 그럼 max에는 num2의 값인 20이 들어가겠네요! )

전체 소스코드 입니다!!

#include<iostream>

using namespace std;

int main() {

	int num = 20;
	int num2 = 20;

	cout << num + num2 << endl; //더하기
	cout << num - num2 << endl; //빼기
	cout << num * num2 << endl; //곱하기
	cout << num / num2 << endl; //나누기
	cout << num % num2 << endl; //나머지연산

	int num3;
	num3 = num + num2;

	//비교연산자
	bool b; //true, false 참/거짓
	b = num > num2; // false;
	b = num <= num2; // true;
	b = num == num2; // true;

	//증감연산자
	num++; //num = num + 1; 이건 동작후 +1
	++num; //num = num + 1; 이건 동작전 +1
	num--;
	--num;

	b = num > num2; //b = false
	b = num++ > num2; // b = false
	b = num > num2; //b = true
	b = num > ++num2; //b = false

	//논리연산자
	// && and || or ! not

	b = true && true; //b = true
	b = true && false; //b = false
	b = false && true; //b = false
	b = false && false;//b = false

	b = true || true; //b = true
	b = true || false; //b = true
	b = false || true; //b = true
	b = false || false;//b = false

	b = true;
	b = !b; //b = false

	//비트연산
	// & | ^ ~
	// << >> (시프트)

	//layer
	//layer가 같은지 다른지 검사
	// bool isTrue = layer1 == layer2; 이렇게 안함.
	// layer1 layer2를 비트연산 한다. 이게 더 가볍다고함.



	//삼항연산
	//항이 3개
	//a = b ? c : d 
	num = 10;
	num2 = 20;

	int max = num > num2 ? num : num2;
	// 비교연산자의 우선순위가 삼항연산자보다 높다.
	// = 연산자들에게 우선순위가 존재한다.
	// 연산자들 중에 가장 우선순위가 낮은 것은? 대입연산자



	return 0;
}

< 조건문 >

조건문은 크게 if / switch 두 가지 방식이 있습니다.

if

if (num < num2) {
		//true면 실행
}
else{
		//false면 실행
}

코드를 보시면 if는 if(조건문) 형태로 이뤄져 있습니다. 조건문이 true라면 실행할 것이고 false라면 if안에 있는 코드는 실행하지 않고 else에 있는 코드를 실행하게됩니다!

자 그럼 여러 조건을 사용하려면 어떻게 해야할까요?

if (num < num2) {
		//true면 실행
}
else if (num < num3) {

}
else{
		//false면 실행
}

if 아래에 else if 라는 형식으로 만들게 되면 맨 위에 조건이 참이 아닐경우 그 아래 조건으로 검사를 하게 됩니다.
( 그럼 두 가지가 다 아니라면 else로 가겠죠? )

if (num<num2 && num3 > num2) {

}

연산자를 사용해서 위 두 가지 조건을 하나로도 묶을 수 있다는 사실도 알아두면 좋습니다!

switch

switch (num) {
		case 10:
			cout << num << endl;
			break;
		case 20:
			cout << num2 << endl;
			break;
		default:
			cout << "둘다 아님." << endl;
}

switch는 num자리에 변수를 넣어주시고 변수가 case일 경우의 결과를 출력할 수 있게 해주는 조건문입니다.
사용방법은 어렵지 않으니 한번 해보시길 바랍니다!

전체 소스코드 입니다!!

#include<iostream>

using namespace std;

int main() {
	
	//조건문
	//삼항연산자

	int num = 10;
	int num2 = 20;
	int num3 = 30;

	if (num < num2) {
		//true면 실행
	}
	else if (num < num3) {

	}
	
	if (num<num2 && num3 > num2) {

	}

	if (num < num2 < num3) {
		//실행은 되는데 버그다. 
		//뒤에 num2 < num3는 검사하지 않음
	}


	switch (num) {
		case 10:
			cout << num << endl;
			break;
		case 20:
			cout << num2 << endl;
			break;
		default:
			cout << "둘다 아님." << endl;
	}


	return 0;
}

< 반복문 >

반복문에는 3가지 종류가 있습니다.
for / do while / while

for

for (int i = 1; i <= 100; i++) {
		cout << i << endl;
}

for는 i가 1부터 시작해서 100까지 i가 1씩 증가한다는 의미 입니다.
for 안의 코드가 100번 반복되는 것입니다!

while

int i = 1;
while (i <= 100) {
		cout << i << endl;
		i++;
}

while은 while(조건문) 입니다. 조건문이 true(1) 일때 계속 반복된다는 의미입니다.
while안의 코드에 i++를 둬서 i값이 증가하다가 결국 100이 넘으면 종료됩니다.

do-while

do-while은 while과 동일해보이지만 조건을 마지막에 실행하기 때문에 do안의 코드는 최초 한번 이상 실행됩니다.

//do-while은 조건을 마지막에 실행하기
//때문에 최초 한번은 실행한다.
do { 
	cout << i << endl;
} while (i <= 100);

while뒤에 세미콜론 잊지말기!

for 실습내용

두가지 모양을 만들어 보세요.

for (int i = 1; i <= 5; i++) {
		cout << i << endl;
}

for (int i = 0; i < 5; i++) {
	for (int r = 0; r < 5; r++) {
		cout << "*";
	}
	cout << endl;
}

//for문에서 i,j,k 순서로 간다.
for (int i = 0; i < 5; i++) {
	for (int j = 0; j <= i; j++) {
		cout << '*';
	}
	cout << endl;
}

( 참고! for 사용하다가 강사님이 말씀해주신게 for문에서 컨벤션을 해야하는 부분이 이중 for문을 사용할 때 i,j,k 순서로 가면 좋다고 하셨습니다! )

전체 소스코드 입니다!!

#include<iostream>

using namespace std;

int main() {

	//반복문
	//1~100까지 출력하라.

	for (int i = 1; i <= 100; i++) {
		cout << i << endl;
	}

	int i = 1;
	while (i <= 100) {
		cout << i << endl;
		i++;
	}

	//do-while은 조건을 마지막에 실행하기
	//때문에 최초 한번은 실행한다.
	do { 
		cout << i << endl;
	} while (i <= 100);


	for (int i = 1; i <= 5; i++) {
		cout << i << endl;
	}

	for (int i = 0; i < 5; i++) {
		for (int r = 0; r < 5; r++) {
			cout << "*";
		}
		cout << endl;
	}

	//for문에서 i,j,k 순서로 간다.
	for (int i = 0; i < 5; i++) {
		for (int j = 0; j <= i; j++) {
			cout << '*';
		}
		cout << endl;
	}

	return 0;
}

profile
초보 개발자 블로그입니다!

0개의 댓글