프로그래밍/C,C++

[C/C++] 연산자 기초

gameObject 2023. 5. 31. 20:30
728x90

연산자: 특정 연산을 요구할 때 사용하는 약속된 기호이다. Operator라고 한다.

 

산술연산자 -> 산술에 연관된 연산자다.

단항연산자 -> 항이 1개인 연산자다(++,-- 등)

이항연산자 -> 항이 2개인 연산자다(x+y -> x,y항이 2개)

삼항연산자 -> 항이 3개인 연산자다(x?y:z)

삼항연산자 예시)  현재체력 20, 힐량은 변수, Max 체력 50

 

이항연산자

- 대입연산자 : (=) 연산자 오른쪽에 있는 값을 연산자 왼쪽에 있는 변수에 대입

- 산술연산자: 연산자 오른쪽에 있는 값을 연산자 왼쪽에 연산(수학에 사용되는 연산자들이 있다.)

   + , -, / , * , % 여기서 %는 mod연산이라고 불리며 나머지를 반환한다.

 

복합 대입 연산자: 다른 연산자와 합쳐진 형태의 대입 연산자

- *=, /=, %=, +=, -= 등

 

부호 연산자: 변수 또는 상수에 부호를 결정지어주는 연산자이다.(음수, 양수)

 

 

증감 연산자: 증감연산자는 대입연산자 없이도 스스로 값이 증가한다. 주의할점은 위치에 있다.

ex) ++num과 num++는 계산 순서가 다르다.(전위와 후위의 차이)

전위일 경우 먼저 계산이 되고나서 printf가 실행이 되고, 후위의 경우 printf가 수행이 되고나서 변수가 변한다.

아래 예시를 보면 알수있다. 6,7이 출력되는것이 아닌 5와 7이 출력된다.

 

관계연산자: 크고 작음과 동등한지 관계를 따지는 연산자이다. 비교연산자라고도 불린다.

• <,>,==,!=,<=,>= 등이 있다.

• 연산 결과는 조건을 만족하면 참, 만족하지 않으면 거짓(c++에서는 거짓 = 0, 참 = 0이 아닌 모든수) 

 

참 거짓 예시)

 

논리연산자: AND(논리곱), OR(논리합), NOT(논리부정) 등을 표현하는 연산자이다.

• &&(AND): A&&B 의미 A와 B 모두 '참'이면 연산결과로 '참'을 반환한다.

• ||(OR) : A||B 의미 A와 B 둘 중 하나라도 참이면 연산결과로 참을 반환한다.

• !(NOT) : !A 의미 A가 참이면 거짓으로 변환, 거짓이면 참으로 변환

 

예시)

 

연산자에는 계산순서가 있는데 연산자 우선순위를 참고해보자

https://learn.microsoft.com/ko-kr/cpp/cpp/cpp-built-in-operators-precedence-and-associativity?view=msvc-170

 

C++ 기본 제공 연산자, 우선 순위 및 결합성

자세한 정보: C++ 기본 제공 연산자, 우선 순위 및 결합성

learn.microsoft.com

 

 

728x90