산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C# 연산자 완전 정복: 산술, 관계, 논리, 비트, 할당 연산자 총정리

연산자(Operator)는 컴파일러에게 특정 수학적/논리적 조작을 수행하도록 지시하는 기호입니다. C#은 풍부한 내장 연산자 세트를 제공하며, 주요 분류는 다음과 같습니다.

산술 연산자 (Arithmetic Operators)

변수 A = 10, B = 20 가정 시:

연산자설명예시
+두 피연산자 더하기A + B = 30
-첫 번째에서 두 번째 빼기A - B = -10
*두 피연산자 곱하기A * B = 200
/분자를 분모로 나누기B / A = 2
%나머지 연산자 (정수 나눗셈 후 나머지)B % A = 0
++증가 연산자 (정수 값을 1 증가)A++ = 11
--감소 연산자 (정수 값을 1 감소)A-- = 9

관계 연산자 (Relational Operators)

A = 10, B = 20 가정 시:

연산자설명예시
==두 피연산자 값이 같은지 확인 (같으면 true)(A == B) is false
!=두 피연산자 값이 다른지 확인 (다르면 true)(A != B) is true
>좌측이 우측보다 큰지 확인(A > B) is false
<좌측이 우측보다 작은지 확인(A < B) is true
>=좌측이 우측보다 크거나 같은지 확인(A >= B) is false
<=좌측이 우측보다 작거나 같은지 확인(A <= B) is true

논리 연산자 (Logical Operators)

A = true, B = false 가정 시:

연산자설명예시
&&논리 AND: 둘 다 0이 아니면 true(A && B) is false
||논리 OR: 둘 중 하나라도 0이 아니면 true(A || B) is true
!논리 NOT: 피연산자의 논리 상태 반전!(A && B) is true

비트 연산자 (Bitwise Operators)

비트 단위로 연산합니다. A = 60 (0011 1100), B = 13 (0000 1101) 가정 시:

pqp & qp | qp ^ q
00000
01011
11110
10011
A = 0011 1100 (60)
B = 0000 1101 (13)
-------------------
A & B = 0000 1100 (12)
A | B = 0011 1101 (61)
A ^ B = 0011 0001 (49)
~A    = 1100 0011 (-61, 2의 보수)
연산자설명예시
&비트 AND: 두 피연산자 모두에 비트가 있으면 결과에 복사(A & B) = 12
|비트 OR: 어느 한쪽에라도 비트가 있으면 복사(A | B) = 61
^비트 XOR: 한쪽에만 비트가 설정된 경우 복사(A ^ B) = 49
~비트 1의 보수: 단항, 비트 반전(~A) = -61
<<왼쪽 시프트: 좌측 피연산자 값을 우측 피연산자 비트 수만큼 왼쪽으로 이동A << 2 = 240
>>오른쪽 시프트: 좌측 피연산자 값을 우측 피연산자 비트 수만큼 오른쪽으로 이동A >> 2 = 15

할당 연산자 (Assignment Operators)

연산자설명예시
=단순 할당: 우측 값을 좌측에 대입C = A + B
+=더하기 후 할당C += A ≡ C = C + A
-=빼기 후 할당C -= A ≡ C = C - A
*=곱하기 후 할당C *= A ≡ C = C * A
/=나누기 후 할당C /= A ≡ C = C / A
%=나머지 후 할당C %= A ≡ C = C % A
<<=왼쪽 시프트 후 할당C <<= 2 ≡ C = C << 2
>>=오른쪽 시프트 후 할당C >>= 2 ≡ C = C >> 2
&=비트 AND 후 할당C &= 2 ≡ C = C & 2
^=비트 XOR 후 할당C ^= 2 ≡ C = C ^ 2
|=비트 OR 후 할당C |= 2 ≡ C = C | 2

기타 중요 연산자 (Miscellaneous Operators)

연산자설명예시
sizeof()데이터 타입의 크기 반환sizeof(int) → 4
typeof()클래스의 타입 반환typeof(StreamReader)
&변수의 주소 반환 (unsafe 컨텍스트 필요)&a
*포인터 선언 (unsafe 컨텍스트 필요)*a
? :조건부 연산자 (삼항 연산자)조건 ? 값X : 값Y
is객체가 특정 타입인지 확인if (Ford is Car)
as캐스트 실패 시 예외 대신 null 반환obj as StringReader

연산자 우선순위 (Operator Precedence)

연산자 우선순위는 식에서 항의 그룹화를 결정하며, 평가 순서에 영향을 줍니다. 높은 우선순위 연산자가 먼저 평가됩니다.

예: x = 7 + 3 * 2 → x = 13 (곱셈이 덧셈보다 높은 우선순위)

범주연산자결합 방향
후위 (Postfix)() [] -> . ++ --왼쪽 → 오른쪽
단항 (Unary)+ - ! ~ ++ -- (type)* & sizeof오른쪽 → 왼쪽
곱셈/나눗셈* / %왼쪽 → 오른쪽
덧셈/뺄셈+ -왼쪽 → 오른쪽
시프트<< >>왼쪽 → 오른쪽
관계< <= > >=왼쪽 → 오른쪽
등가== !=왼쪽 → 오른쪽
비트 AND&왼쪽 → 오른쪽
비트 XOR^왼쪽 → 오른쪽
비트 OR|왼쪽 → 오른쪽
논리 AND&&왼쪽 → 오른쪽
논리 OR||왼쪽 → 오른쪽
조건부?:오른쪽 → 왼쪽
할당= += -= *= /= %= >>= <<= &= ^= |=오른쪽 → 왼쪽
쉼표,왼쪽 → 오른쪽
팁: 복잡한 식에서는 괄호 ()를 사용해 우선순위를 명시적으로 지정하면 가독성과 버그 방지에 도움이 됩니다.

C 언어

  1. C# 연산자 – C# 연산자 종합 가이드
  2. C# 비트 연산자와 시프트 연산자 완전 정복: 종합 가이드
  3. C++ 연산자 마스터하기: 유형별 완벽 가이드와 실전 예제
  4. C 프로그래밍 연산자 완벽 가이드
  5. 파이썬 연산자 마스터하기: 종합 가이드
  6. Java 연산자 마스터하기: 종류, 문법, 실전 예제
  7. C 비트 연산자 마스터: AND, OR, XOR, 시프트, 컴플리먼트
  8. Verilog 연산자 총정리: 산술·관계·등가·논리·비트와이즈·시프트
  9. Java 핵심 연산자: 종합 가이드
  10. C 연산자 완전 정복: 산술, 관계, 논리, 비트, 대입, 우선순위 총정리