경일게임아카데미 멀티 디바이스 메타버스 플랫폼 개발자 양성과정 20220407 2022/04/04~2022/12/13

Jinho Lee·2022년 4월 7일
0

경일게임아카데미 멀티디바이스 메타버스 플랫폼 개발자 양성과정 1주차 4일. GitHub 추가, 연산자와 실습.
GitHub를 사용하는데 있어서 문제점이 몇 가지 생겨, 그 해결을 위해 추가로 수업을 받았다. 그리고 C++의 연산자를 공부하였다. 내가 간과했던 주의점도 배웠기에, 정리하면서 같이 적어두려 한다.

Github (추가)

gitignore 설정 변경법 (예시 : C++ → Visual Studio)
1) Open gitignore file (anyway)
2) Googling Visual Studio gitignore → GitHub site
3) Copy Raw Contents (button)
4) Copy&Paste on gitignore file

Switch branch
주의 : Commit을 아직 안 한 내용이 있다면 branch 바꿀 때 Leave 할 거냐 알림 → ok 누르면 변경사항 날아감

GitHub Desktop 계정 주의
1. options Accounts - 계정
2. options Git - Name, e-mail - 커밋, 푸쉬하는 사람 이름

Merge
1) Create Pull Request
2) Memo
3) Wait, and Merge Pull Request

주의 : Visual Studio 가동 시에는 cpp 파일 뿐만 아니라 솔루션 (sln) 파일 등 프로젝트 전체가 필요하다는 걸 잊지 말자.

연산자
데이터를 가공(연산)하는 모든 명령에 필요한 것들
1) 어떤 종류의 연산자들이 있는지?
2) 우선 순위 : 어떤 순서로 연산이 진행되는지?
3) 결합 순서 : 좌측부터 연산하는 연산자, 우측부터 연산하는 연산자

  1. 사칙연산 : 산술연산자 (좌측부터 연산)
    + : 더하기
    - : 빼기
    : 곱하기
    / : 나누기 11 / 3 => 3 (주의 : 0으로 나누면 Runtime Error가 일어난다)
    % : 나머지 11 % 3 => 2
    우선순위 :
    , /, % > +, -

    	int left_value = 11 + 3;
    	int right_value = 3;
    
    	cout << "+ : " << left_value + right_value << endl;	// 17
    	cout << "- : " << left_value - right_value << endl;	// 11
    	cout << "* : " << left_value * right_value << endl;	// 42
    	cout << "/ : " << left_value / right_value << endl;	// 4	// right_value = 0 -> Runtime Error
    	cout << "% : " << left_value % right_value << endl;	// 2
  1. 대입연산자 (우측부터 연산)
    = : 왼쪽 항에 오른쪽 항의 값을 대입한다. 복사한다.

  2. 복합대입연산자
    += : 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; (a와 b는 정수형 타입이어야 한다)

    • 2, 3과 같은 대입연산자를 사용하면 변수의 값을 바꿀 수 있다.

    특수 : 계산식이어도 괄호로 묶어주면 괄호 안에서 연산이 종료되기에, 출력이 가능하다. 출력은 left_value(계산 결과)

    ```
	cout << left_value << " += " << right_value << ", left_value => ";
	left_value += right_value;	
	cout << left_value << endl;	// 17
	//left_value = 14;

	cout << left_value << " -= " << right_value << ", left_value => ";
	left_value -= right_value;
	cout << left_value << endl;	// 14
	//left_value = 14;

	cout << left_value << " *= " << right_value << ", left_value => ";
	left_value *= right_value;
	cout << left_value << endl;	// 42
	//left_value = 14;

	cout << left_value << " /= " << right_value << ", left_value => ";
	left_value /= right_value;
	cout << left_value << endl;	// 14
	//left_value = 14;

	cout << left_value << " %= " << right_value << ", left_value => ";
	left_value %= right_value;
	cout << left_value << endl;	// 2
	//left_value = 14;

	// 특수 : 아래처럼 계산식이어도 괄호로 묶어주면 괄호 안에서 연산이 종료되기에, 출력이 가능하다. 출력은 left_value(계산 결과)
	cout << (left_value += right_value) << endl;	// 5
  1. 증감연산자
    특정 변수의 값을 1씩 증가시키거나 감소시킬 때 사용한다.
    변수의 앞이나 뒤에 ++ / -- 를 붙여서 사용한다.
    주의 : 증감연산은 cout이 수행되고 수행된다.
	left_value++; // 6
	++left_value; // 7

	left_value--; // 6
	--left_value; // 5

	cout << left_value++ << endl;	// 출력 : 5, 메모리 : 6	// 주의 : 증감연산은 cout이 수행되고 수행된다.
	cout << ++left_value << endl;	// 출력 : 7, 메모리 : 7

	cout << left_value-- << endl;	// 출력 : 7, 메모리 : 6
	cout << --left_value << endl;	// 출력 : 5, 메모리 : 5
  1. 관계연산자
    두 값을 비교한 결과가 참(1, 0 이외의 모든 수, true)인지 거짓(0, false)인지 반환하는 연산자

    1) < : 왼쪽 항의 값이 오른쪽 항의 값보다 작으면 참을 반환한다.
    2) > : 왼쪽 항의 값이 오른쪽 항의 값보다 크면 참을 반환한다.
    3) <= : 왼쪽 항의 값이 오른쪽 항의 값보다 작거나 같으면 참을 반환한다.
    4) >= : 왼쪽 항의 값이 오른쪽 항의 값보다 크거나 같으면 참을 반환한다.
    5) == : 왼쪽 항의 값과 오른쪽 항의 값이 같을 때 참을 반환한다.
    6) != : 왼쪽 항의 값과 오른쪽 항의 값이 다를 때 참을 반환한다.

    • C++에서의 true/false 직접 출력하기 위해서는, cout에서 출력할 변수의 앞에 [ boolalpha << ]를 적어 출력한다.
	/*
		실습.
		고객의 나이를 입력 받아서 미성년자(19세 이하)이면 false를 출력
		성인이면 true를 출력.

		아까 입력 받은 나이를 기준으로, 주민등록증 발급대상(20살만)이면 true를 아니면 false를 출력.

		+아홉수(1의 자리가 9인 수)인지 확인해서 true, false를 출력.
	*/

	int age;

	cout << "나이를 입력하시오." << endl;
	cin >> age;

	cout << "성인 : " << boolalpha << (age > 19) << endl;
	cout << "주민등록증 발급 대상 : " << boolalpha << (age == 20) << endl;
	cout << "아홉수 : " << boolalpha << (age % 10 == 9) << endl;

	// c++에서의 true/false 직접 출력하기 위해서는, cout에서 출력할 변수의 앞에 [ boolalpha << ]를 적어 출력한다.

이하는 수업에서 사용한 소스 코드 전체이다. 전 수업과 중복된 부분은 제외하였다.

#include <iostream>
#include <string>

using namespace std; // 네임스페이스 std 선언

int main()
{
	/*
		연산자
		데이터를 가공(연산)하는 모든 명령에 필요한 것들
		1) 어떤 종류의 연산자들이 있는지?
		2) 우선 순위 : 어떤 순서로 연산이 진행되는지?
		3) 결합 순서 : 좌측부터 연산하는 연산자, 우측부터 연산하는 연산자

		1. 사칙연산 : 산술연산자 (좌측부터 연산)
		+ : 더하기
		- : 빼기
		* : 곱하기
		/ : 나누기		11 / 3 => 3
		% : 나머지		11 % 3 => 2

		*, /, % > +, -
		
		2. 대입연산자 (우측부터 연산)
		= : 왼쪽 항에 오른쪽 항의 값을 대입한다. 복사한다.

		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; (a와 b는 정수형 타입이어야 한다)

		* 2, 3과 같은 대입연산자를 사용하면 변수의 값을 바꿀 수 있다.
		
		4. 증감연산자
		특정 변수의 값을 1씩 증가시키거나 감소시킬 때 사용한다.
		변수의 앞이나 뒤에 ++ / -- 를 붙여서 사용한다.

		5. 관계연산자
		두 값을 비교한 결과가 참(1, 0 이외의 모든 수, true)인지 거짓(0, false)인지 반환하는 연산자

		< : 왼쪽 항의 값이 오른쪽 항의 값보다 작으면 참을 반환한다.
		> : 왼쪽 항의 값이 오른쪽 항의 값보다 크면 참을 반환한다.
		<= : 왼쪽 항의 값이 오른쪽 항의 값보다 작거나 같으면 참을 반환한다.
		>= : 왼쪽 항의 값이 오른쪽 항의 값보다 크거나 같으면 참을 반환한다.
		== : 왼쪽 항의 값과 오른쪽 항의 값이 같을 때 참을 반환한다.
		!= : 왼쪽 항의 값과 오른쪽 항의 값이 다를 때 참을 반환한다.

	*/

	int left_value = 11 + 3;
	int right_value = 3;

	cout << "+ : " << left_value + right_value << endl;	// 17
	cout << "- : " << left_value - right_value << endl;	// 11
	cout << "* : " << left_value * right_value << endl;	// 42
	cout << "/ : " << left_value / right_value << endl;	// 4	// right_value = 0 -> Runtime Error
	cout << "% : " << left_value % right_value << endl;	// 2

	cout << left_value << " += " << right_value << ", left_value => ";
	left_value += right_value;	
	cout << left_value << endl;	// 17
	//left_value = 14;

	cout << left_value << " -= " << right_value << ", left_value => ";
	left_value -= right_value;
	cout << left_value << endl;	// 14
	//left_value = 14;

	cout << left_value << " *= " << right_value << ", left_value => ";
	left_value *= right_value;
	cout << left_value << endl;	// 42
	//left_value = 14;

	cout << left_value << " /= " << right_value << ", left_value => ";
	left_value /= right_value;
	cout << left_value << endl;	// 14
	//left_value = 14;

	cout << left_value << " %= " << right_value << ", left_value => ";
	left_value %= right_value;
	cout << left_value << endl;	// 2
	//left_value = 14;

	// 특수 : 아래처럼 계산식이어도 괄호로 묶어주면 괄호 안에서 연산이 종료되기에, 출력이 가능하다. 출력은 left_value(계산 결과)
	cout << (left_value += right_value) << endl;	// 5

	left_value++; // 6
	++left_value; // 7

	left_value--; // 6
	--left_value; // 5

	cout << left_value++ << endl;	// 출력 : 5, 메모리 : 6	// 주의 : 증감연산은 cout이 수행되고 수행된다.
	cout << ++left_value << endl;	// 출력 : 7, 메모리 : 7

	cout << left_value-- << endl;	// 출력 : 7, 메모리 : 6
	cout << --left_value << endl;	// 출력 : 5, 메모리 : 5

	/*
		실습.
		고객의 나이를 입력 받아서 미성년자(19세 이하)이면 false를 출력
		성인이면 true를 출력.

		아까 입력 받은 나이를 기준으로, 주민등록증 발급대상(20살만)이면 true를 아니면 false를 출력.

		+아홉수(1의 자리가 9인 수)인지 확인해서 true, false를 출력.
	*/

	int age;

	cout << "나이를 입력하시오." << endl;
	cin >> age;

	cout << "성인 : " << boolalpha << (age > 19) << endl;
	cout << "주민등록증 발급 대상 : " << boolalpha << (age == 20) << endl;
	cout << "아홉수 : " << boolalpha << (age % 10 == 9) << endl;

	// c++에서의 true/false 직접 출력하기 위해서는, cout에서 출력할 변수의 앞에 [ boolalpha << ]를 적어 출력한다.
}

0개의 댓글