[C#] 연산자

장민제·2025년 4월 14일

C# Study

목록 보기
2/11
post-thumbnail

🧮 C#의 연산자

  • C#은 여러 연산자를 제공해준다.

산술 연산자

연산자설명예시
+덧셈a + b
-뺄셈a - b
*곱셈a * b
/나눗셈a / b
%나머지 연산a % b

비교 연산자

연산자설명예시
==값이 같은가a == b
!=값이 다른가a != b
>큰가a > b
<작은가a < b
>=크거나 같은가a >= b
<=작거나 같은가a <= b

논리 연산자

연산자설명예시
&&AND (둘 다 true일 때)a > 5 && b < 10
``
!NOT (부정)!(a > 5)

비트 및 시프트 연산자

연산자설명예시
&ANDa & b
``OR
^XORa ^ b
~NOT~a
<<왼쪽 시프트a << 1
>>오른쪽 시프트a >> 1

대입 연산자

연산자설명예시
=값을 변수에 대입a = 10
+=더한 후 대입a += 5
-=뺀 후 대입a -= 5
*=곱한 후 대입a *= 5
/=나눈 후 대입a /= 5
%=나머지를 구한 후 대입a %= 5

증감 연산자

연산자설명예시
++1 증가a++, ++a
--1 감소a--, --a

조건(삼항) 연산자

연산자설명예시
? :조건에 따라 값 선택a > b ? a : b

코드 예시


using System;

class OperatorExamples
{
    static void Main()
    {
        int a = 10, b = 3;

        // 1. 산술 연산자
        Console.WriteLine("\n 산술 연산자");
        Console.WriteLine($"a + b = {a + b}");
        Console.WriteLine($"a - b = {a - b}");
        Console.WriteLine($"a * b = {a * b}");
        Console.WriteLine($"a / b = {a / b}");
        Console.WriteLine($"a % b = {a % b}");

        // 2. 대입 연산자
        Console.WriteLine("\n 대입 연산자");
        int c = 5;
        c += 2;
        Console.WriteLine($"c += 2 -> {c}");
        c *= 3;
        Console.WriteLine($"c *= 3 -> {c}");

        // 3. 비교 연산자
        Console.WriteLine("\n 비교 연산자");
        Console.WriteLine($"a == b -> {a == b}");
        Console.WriteLine($"a > b -> {a > b}");

        // 4. 논리 연산자
        Console.WriteLine("\n 논리 연산자");
        bool result = (a > 5) && (b < 5);
        Console.WriteLine($"(a > 5) && (b < 5) -> {result}");

        // 5. 증감 연산자
        Console.WriteLine("\n 증감 연산자");
        int d = 1;
        Console.WriteLine($"d++ -> {d++} (출력 후 증가)");
        Console.WriteLine($"++d -> {++d} (증가 후 출력)");

        // 6. 조건 연산자
        Console.WriteLine("\n 조건(삼항) 연산자");
        int max = (a > b) ? a : b;
        Console.WriteLine($"a > b ? a : b -> {max}");

        // 7. 비트 연산자
        Console.WriteLine("\n 비트 연산자");
        int x = 6;  // 0110
        int y = 3;  // 0011
        Console.WriteLine($"x & y -> {x & y}");  // 0010 = 2
        Console.WriteLine($"x | y -> {x | y}");  // 0111 = 7
        Console.WriteLine($"x ^ y -> {x ^ y}");  // 0101 = 5
        Console.WriteLine($"~x -> {~x}");        // 비트 반전
        Console.WriteLine($"x << 1 -> {x << 1}"); // 왼쪽 시프트: 1100 = 12
        Console.WriteLine($"x >> 1 -> {x >> 1}"); // 오른쪽 시프트: 0011 = 3
    }
}

🥇 연산자 우선순위

  • 여러 연산자가 있는 식에서 연산자가 수행되는 순서를 결정한다.
  • 연산자 우선순위에 따라 연산의 결과가 달라질 수 있다.

연산자 우선순위 요약표

우선순위연산자 종류예시결합 방향
1괄호(a + b)왼 → 오
2단항 연산자++a, --a, !a, -a오른 → 왼
3곱셈, 나눗셈, 나머지*, /, %왼 → 오
4덧셈, 뺄셈+, -왼 → 오
5관계 연산자<, <=, >, >=왼 → 오
6동등/부등 비교 연산자==, !=왼 → 오
7비트 AND&왼 → 오
8비트 XOR^왼 → 오
9비트 OR``
10논리 AND&&왼 → 오
11논리 OR`
12조건(삼항) 연산자조건 ? 값1 : 값2오른 → 왼
13대입 연산자=, +=, -=, *=오른 → 왼

우선순위를 암기하기 보다는 괄호로 명확하게 표현하는 것이 좋다.

profile
Unity, C#

0개의 댓글