상세 컨텐츠

본문 제목

C/C++ Operators

개발생활/C C++

by 한국인맛집 2021. 3. 13. 23:24

본문

반응형

Operator  : 연산자

 

C/C++ 에서 많은 연산자를 사용할수 있습니다.

연산자를 이용하여 값을 대입하거나 계산을 할수있습니다.

 

  • = 대입 연산자

일반적인 변수에 값을 대입할때 사용되는 대입연산자입니다.

 

A = b

 

수학에선 '좌항과 우항이 같다' 라고 알고계시겠지만, 프로그래밍의 세계에선 우항의 값을 좌항에 대입 한다 라고 알고 계시면 됩니다.

 

int a = b

 

해석 : 정수형 타입 변수이름이 a인 변수에 b 값을 넣는다.

 

다음과 같이 사용됩니다.

void main(){

   int a  = 10;
   char c = 'A';
   float f = 22.34f;
}

 

 

  •  + , - . * , / , % 연산자

+ , - , * , / 는 우리가 알고있는 덧셈, 뺄셈, 곱셈, 나눗셈 연산자입니다.

 

% 연산자는 모듈러 연산자라고합니다.  모듈러 연산자는 나머지를 구하는 연산자입니다.

void main(){

    int a = 10;
    int b = 3;
    int result;
    
    result = a%b;
    // 모듈러 연산 결과값은 1 이 나오게됩니다.
    
    result = 10/3;
    // 나눗셈 결과값은 3이 나오게 됩니다. ( 몫을 구합니다.)
}

 

  • 복합 할당( Compound Assignment)

복합 할당은 다음과 같이 사용됩니다.

void main(){
  
  int a = 10, b =1;
  
  b += a;    //   b = a + b;
  b *= a;    //   b = a * b;
  b -= a;    //   b = a - b;
  b /= a;    //   b = a / b;

}

 

 

  • 증감 연산자

증감 연산자는 전위 상승, 후위 상승 연산자가 있습니다.

void main(){

   int a= 2;
   
   ++a;  // 전위 증가 연산자
   a++;  // 후위 증가 연산자
   
   --a;  // 전위 감소 연산자
   a--;  // 후위 감소 연산자

}

 

전위 연산자는 우선 값을 처리 (증감) 하고 다음 코드블럭을 실행합니다. 반대로 후위 연산자는 값을 처리한뒤 값을 증가해주는 개념입니다.

 

 

  • 관계 비교 연산자

관계 비교 연산자는 값을 비교할때 사용하는 연산자입니다.

void main(){
   int a = 10, b = 3;
   bool isTrue;
      
   isTrue = a == b;   // a 와 b 변수가 값이 같은가?
   isTrue = a != b;   // a 와 b 변수가 값이 다른가?
   isTrue = a >= b;   // a 변수가 b보다 크거나 같은가?
   isTrue = a <= b;   // a 변수가 b보다 작거나 같은가?
   isTrue = a > b;   // a 변수가 b보다 큰가?
   isTrue = a < b;   // a 변수가 b보다 작은가?
}

 

 

  • 논리 연산자

논리연산자는 논리값이나 특정 조건을 동시에 만족하게 해야할때 사용됩니다.

 

! -  Not Operator

 

해당 연산자는 일항 연산자입니다.

지금 값의 부정을 출력하는 연산자입니다.

 

void main(){

   bool isTure = true;
   isTrue = !isTrue;   //  True 값이 --->  False 로 바뀌게 됩니다.
   isTrue = !isTrue;   // False ----> True 값으로 바뀌게 됩니다.
}

 

 

 

&& -  And Operator,  || -  Or Operator

 

두연산자는 이항 연산자입니다. 단독으로 사용은 불가능하며, 좌항과 우항의 값의 조건을 반드시 만족해야하거나, 둘중 하나만 만족해야 비교해야 할때 사용됩니다.

 

void main(){
   int a = 10, b = 3;
   bool isLogical;
     
   isLogical = ((a == 10) && (b == 3));  
   // 앞조건과 뒷 조건이 모두 충족하면 true
   // 그렇지 않으면 false.

   isLogical = ((a == 3) || (b == 3));
   // 앞조건과 뒷 조건 둘중 하나라도 참이 되면 true
   // 그렇지 않으면 false.
   


}

 

 

연산자 우선순위 표

 

1 Scope :: scope qualifier Left-to-right
2 Postfix (unary) ++ -- postfix increment / decrement Left-to-right
() functional forms
[] subscript
. -> member access
3 Prefix (unary) ++ -- prefix increment / decrement Right-to-left
~ ! bitwise NOT / logical NOT
+ - unary prefix
& * reference / dereference
new delete allocation / deallocation
sizeof parameter pack
(type) C-style type-casting
4 Pointer-to-member .* ->* access pointer Left-to-right
5 Arithmetic: scaling * / % multiply, divide, modulo Left-to-right
6 Arithmetic: addition + - addition, subtraction Left-to-right
7 Bitwise shift << >> shift left, shift right Left-to-right
8 Relational < > <= >= comparison operators Left-to-right
9 Equality == != equality / inequality Left-to-right
10 And & bitwise AND Left-to-right
11 Exclusive or ^ bitwise XOR Left-to-right
12 Inclusive or | bitwise OR Left-to-right
13 Conjunction && logical AND Left-to-right
14 Disjunction || logical OR Left-to-right
15 Assignment-level expressions = *= /= %= += -=
>>= <<= &= ^= |=
assignment / compound assignment Right-to-left
?: conditional operator
16 Sequencing , comma separator Left-to-right

 

 

반응형

'개발생활 > C C++' 카테고리의 다른 글

Loop -1  (0) 2021.03.21
Basic Input & output  (0) 2021.03.14
C/C++ Constant  (0) 2021.03.14
C/C++ Variables And Types  (0) 2021.03.13
IDE Tool 설치. (Visual Studio 2019 install)  (0) 2021.03.01
C/C++ multi Thread  (0) 2017.10.17

관련글 더보기