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이 나오게 됩니다. ( 몫을 구합니다.)
}
복합 할당은 다음과 같이 사용됩니다.
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 |
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 |