4월 7일 학습 내용

블로그 정리법

  • 다른 사람들의 블로그를 보면서 자신에게 부족한 점 찾기

github 추가사항

  • ignore를 왜 사용하는지 : 빌드파일, 실행파일같이 재생성이 되는 불필요한 파일들을 제외하고 github에 올리기 위함

  • desktop github 로그아웃 한 뒤에 다른 컴퓨터에서 재로그인하여 접속했으면 repository를 다시 클론 하여야 한다.

  • 머지 방식 2개 : desktop에서 바로 머지, full request를 이용하여 머지

Visyal Stdio 단축키

  • ctrl + space : 자동완성 -> 변수이름이 길 경우 일부 입력하고 바로 해당 변수 찾을때 주로 사용.

연산자

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

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

    <코드>

   cout << "+ : " << left_value + right_value << endl;
    cout << "- : " << left_value - right_value << endl;
    cout << "* : " << left_value * right_value << endl;
    cout << "/ : " << left_value / right_value << endl;
    cout << "% : " << left_value % right_value << endl << endl;

결과

  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는 정수형 타입이어야 한다)
  • 값을 바꾸기 위해서 대입 연산자를 사용한다!
    <<소스코드>>
	int left_value2 = 27;
    int right_value2 = 5;
    
    cout << left_value2 << " += " << right_value2 << " => ";
    left_value2 += right_value2;
    cout << left_value2 << endl;

    cout << left_value2 << " -= " << right_value2 << " => ";
    left_value2 -= right_value2;
    cout << left_value2 << endl;

    cout << left_value2 << " *= " << right_value2 << " => ";
    left_value2 *= right_value2;
    cout << left_value2 << endl;

    cout << left_value2 << " /= " << right_value2 << " => ";
    left_value2 /= right_value2;
    cout << left_value2 << endl;

    cout << left_value2 << " %= " << right_value2 << " => ";
    left_value2 %= right_value2;
    cout << left_value2 << endl << endl;

결과

!!실수주의!!

  • cout은 함수임으로 값이 들어가야 출력을 하는데 위 식은 (-=)로 인해서 값이 나오지 않아서 오류 발생
  • (left_value -= right_value)로 묶었을 경우 괄호가 먼저 계산되어 값으로 나와서 정상적으로 출력이 가능함
  1. 증감연산자 : 특정 변수의 값을 1씩 증가시키거나 감소시킬 떄 사용한다.
    -> 변수의 앞이나 뒤에 ++ / --를 붙혀서 사용한다.
    -> 변수의 뒤에 증감연산자가 있을경우 문장을 종료한뒤에 증감연산자 실행
    -> 변수의 앞에 증감연산자가 있을경우 증감연산자 먼저 실행 후 문장 종료
 left_value = 14; cout << left_value++ << endl; // 출력 : 14 , 메모리 : 15
 left_value = 14; cout << ++left_value << endl; // 메모리 : 15, 출력 : 15
  1. 관계연산자 : 두 값을 비교한 결과가 참(1, true))인지 거짓(0, false)인지 반환하는 연산자
    -> < : a < b : 왼쪽 항의 값이 오른쪽 항의 값보다 작으면 참, 아니면 거짓(크거나 같을때)
    -> > : a > b : 왼쪽 항의 값이 오른쪽 항의 값보다 크면 참, 아니면 거짓(작거나 같을때)
    -> <= : a <= b : 왼쪽 항의 값이 오른쪽 항의 값보다 작거나 같으면 참, 아니면 거짓(클때)
    -> >= : a >= b : 왼쪽 항의 값이 오른쪽 항의 값보다 크거나 같으면 참, 아니면 거짓(작을때)
    -> == : a == b : 왼쪽 항의 값이 오른쪽 항의 값과 같으면 참, 아니면 거짓(크거나 작을때)
    -> != : a != b : 왼쪽 항의 값이 오른쪽 항의 값고 다르면 참, 아니면 거짓(같을때)

    ----> 실제 실습

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

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

  4. (+사항) 아홉수(1의자리가 9인수)인지 확인해서 true, false를 출력
    <<소스코드>>

    int cinAge;

    cout << "나이를 입력하시오 : ";
    cin >> cinAge;

    cout << "미성년자? >> " << boolalpha << (cinAge <= 19) << endl;
    cout << "주민등록증 발급대상? >> " << boolalpha << (cinAge == 20) << endl;
    cout << "아홉수? >> " << boolalpha << ((cinAge % 10) == 9) << endl;

결과

==> 출력을 true, false로 하기 위해서는 'boolalpha'를 사용!!!

Visual Stdio 실습내용

#include <iostream>
#include <string>

using namespace std;

int main()
{
    //산술연산자
    int left_value = 14;
    int right_value = 3; // 값을 0으로 바꾸면 *까지 출력지만 /, %는 런타임에러 발생

    cout << "+ : " << left_value + right_value << endl;
    cout << "- : " << left_value - right_value << endl;
    cout << "* : " << left_value * right_value << endl;
    cout << "/ : " << left_value / right_value << endl;
    cout << "% : " << left_value % right_value << endl << endl;


    //복합대입연산자
    int left_value2 = 27;
    int right_value2 = 5;
    
    cout << left_value2 << " += " << right_value2 << " => ";
    left_value2 += right_value2;
    cout << left_value2 << endl;

    cout << left_value2 << " -= " << right_value2 << " => ";
    left_value2 -= right_value2;
    cout << left_value2 << endl;

    cout << left_value2 << " *= " << right_value2 << " => ";
    left_value2 *= right_value2;
    cout << left_value2 << endl;

    cout << left_value2 << " /= " << right_value2 << " => ";
    left_value2 /= right_value2;
    cout << left_value2 << endl;

    cout << left_value2 << " %= " << right_value2 << " => ";
    left_value2 %= right_value2;
    cout << left_value2 << endl << endl;

    //증감연산자
    //left_value++; //15
    cout << left_value++ << endl; // 출력 : 14 , 메모리 : 15
    //++left_value; //16
    cout << ++left_value << endl; // 메모리 : 16, 출력 : 16;

    cout << "초기 값 : " << left_value << endl;
    cout << "출력문 안 변수앞에 증감연산자 : " << --left_value << endl; //메모리 : 15, 출력 : 15
    cout << "출력문 안 변수뒤에 증감연산자 : " << left_value-- << endl; //출력 : 15, 메모리 :14
    left_value--; // 증감연산자로 인해 13
    cout << "증감연산자(변수뒤) 먼저 한 뒤에 출력 : " << left_value << endl;
    --left_value; // 증감연산자로 인해 12
    cout << "증감연산자(변수앞) 먼저 한 뒤에 출력 : " << left_value << endl << endl;

    int cinAge;

    cout << "나이를 입력하시오 : ";
    cin >> cinAge;

    cout << "┌────────────────────────────────────────────────────────┐" << endl;
    cout << "│ 미성년자 맞죠?? >> \t\t\t" << boolalpha << (cinAge <= 19) << "\t\t │" << endl;
    cout << "│ 주민등록증 발급대상인가요?? >> \t" << boolalpha << (cinAge == 20) << "\t\t │" << endl;
    cout << "│ 아홉수인가요?? >> \t\t\t" << boolalpha << ((cinAge % 10) == 9) << "\t\t │" << endl;
    cout << "└────────────────────────────────────────────────────────┘" << endl;

}

좋은 웹페이지 즐겨찾기