더듬이의 헬로월드

Hello, World!

프로그래밍 언어/C++ [기본]

[C++기본] 3.연산자

더듬이 2021. 8. 24. 21:58
728x90

연산자란?

연산자란 컴퓨터에서 실행되는 모든 연산에 필요한 문자를 말한다.

연산 시 컴퓨터는 레지스터 메모리에 중간 연산 결과를 저장해둔다.

1.산술 연산자

    a = 10;//기본 할당
    a = 5 + 10; //덧셈
    a = 5 - 10; //뺄셈
    a = 5 / 10; //나눗셈
    a = 5 % 10; //나머지(Mod)
    a = 5 * 10; //곱셈
    a = -5; //단항 뺄셈
    a = +5; //단한 덧셈

정수,실수끼리의 나눗셈

int a=10/3;
double b = 10. / 3.;

정수형끼리의 나눗셈 연산에서는 소수점은 사라진다.

실수형끼리의 나눗셈 연산을 위해서는 실수 형식으로 선언해주어야 한다.

따라서, a는 3, b는 3.3333333...이 대입된다.

4.5f
4.5
f가 붙어있다면 float 형태로 본다는 뜻이고,
안붙어있다면 double 형태로 보고 있다는 뜻이다.

증가, 감소 연산자

    int a = 5;
    cout << ++a << endl;
    cout << a++ << endl;

    double b = 10;
    cout << --b << endl;
    cout << b-- << endl;

증가나 감소 연산자에서는 +1 -1의 연산이라고 생가하면 된다.

하지만 이후의 포인터 개념을 배운다면 단순히 +1, -1의 연산이 아닌 다음단계, 이전단계로 가는

연산이라고 생각하면 좋다!

피연산자가 무엇이냐의 따라 증감 연산자의 대입 결과가 달라질 수 있다!!

++나 - - 가 앞에 온다면 우선순위에 따라 실행되고(전위),

++나 - - 가 뒤에 온다면 모든 연산자 우선순위중 가장 늦게 실행된다!!(후위)

만일 증감 연산자뿐 실행이 된다면 전위,후위 상관이 없겠지만
다른 연산도 같이 실행된다면 전위,후위를 잘 신경써서 사용해야 한다.
특별한 사유가 없는 한 전위로 쓰는 습관을 들여놓는 것이 좋다.


2.비교 ,관계 연산자

비교나 관계 연산자는 참(True)라면 1,거짓(False)이라면 0을 반환해준다!!!

int a = 5;
    int b = 10;
    bool value;

    value = a == b;
    //a와 b가 같은가? 
    //반환값 : 0 (False)

    value = a != b;
    //a와 b가 다른가? 
    //반환값 : 1 (True)

    value = a > b;
    //a가 b보다 큰가? 
    //반환값 : 0 (False)

    value = a >= b;
    //a가 b보다 크거나 같은가? 
    //반환값 : 0 (False)

    value = a < b;
    //b가 a보다 큰가? 
    //반환값 : 1 (True)

    value = a <= b;
    //b가 a보다 크거나 같은가? 
    //반환값 : 1 (True)

3.논리 연산자

논리를 따져서 참과 거짓을 알려주는 연산자이다.

논리 연산자도 참(True)라면 1,거짓(False)이라면 0을 반환해준다!!!

    bool a = true;
    bool b = false;
    bool c;

    c = !a;
    //NOT연산자 : True면 False, False면 True를 반환한다.
    //C : false

    c = a && b;
    //AND연산자 : 두 값이 모두 True면 True, 이외는 모두 False
    //C : false

    c = a || c;
    //Or연산자 : 두 값 중 하나라도  True면 True, 이외는 모두 False
    //C : true

4.복합 대입 연산자

연산과 대입를 한꺼번에 표현할 수 있는 연산자이다.

    int a = 10;
    a += 10; //덧셈  : a=a+10 과 같다.
    a -= 10; //뺄셈 : a=a-10 과 같다.
    a /= 10; //나눗셈 : a=a/10 과 같다.
    a %= 10; //나머지(Mod) : a=a%10 과 같다.
    a *= 10; //곱셈 : a=a*10 과 같다.

728x90

'프로그래밍 언어 > C++ [기본]' 카테고리의 다른 글

[C++기본] 6.변수  (0) 2021.08.25
[C++기본] 5.반복문  (0) 2021.08.25
[C++기본] 4.조건문과 삼항연산자  (0) 2021.08.24
[C++기본] 2.자료형  (0) 2021.08.24
[C++기본] 1.프로젝트 생성  (0) 2021.08.24