C#에서 숫자를 표현하는 방법: int 타입
C#에서 정수를 다룰 때는 int 타입을 사용합니다. int는 양수 또는 음수의 정수(소수점이 없는 숫자)를 나타내는 기본 데이터 타입으로, C# 프로그래밍에서 가장 널리 쓰이는 숫자 타입입니다.
두 정수 더하기
수학 연산자 +를 사용하면 두 개의 정수를 간단하게 더할 수 있습니다. 아래 예제를 살펴보겠습니다.
using System;
using System.Linq;
class Program {
static void Main() {
int x = 20;
int y = 30;
int sum = 0;
sum = x + y;
Console.WriteLine(sum);
}
}이 코드를 실행하면 x와 y에 저장된 값 20과 30이 더해져 콘솔에 50이 출력됩니다.
연산자 우선순위(Operator Precedence)란?
연산자 우선순위는 하나의 수식 안에서 어떤 연산을 먼저 수행할지 결정하는 규칙입니다. 이 규칙은 수식의 평가 결과에 직접적인 영향을 미치며, 연산자마다 우선순위가 다릅니다.
예를 들어, 곱셈 연산자(*)는 덧셈 연산자(+)보다 우선순위가 높습니다. 따라서 다음과 같은 수식이 있을 때,
x = 9 + 2 * 5;
x에는 55가 아니라 19가 대입됩니다. 그 이유는 *가 +보다 우선순위가 높아 먼저 2 * 5 = 10을 계산한 뒤, 여기에 9를 더해 최종 결과가 19가 되기 때문입니다.
만약 덧셈을 먼저 수행하고 싶다면 괄호 ()를 사용하여 계산 순서를 명시적으로 지정할 수 있습니다.
연산자 우선순위 확인 예제
다음 예제는 괄호의 위치와 연산자 조합에 따라 결과값이 어떻게 달라지는지 보여줍니다.
using System;
namespace Demo {
class Program {
static void Main(string[] args) {
int a = 200;
int b = 100;
int c = 150;
int d = 50;
int res;
res = (a + b) * c / d;
Console.WriteLine("Value of (a + b) * c / d is : {0}", res);
res = ((a + b) * c) / d;
Console.WriteLine("Value of ((a + b) * c) / d is : {0}", res);
res = (a + b) * (c / d);
Console.WriteLine("Value of (a + b) * (c / d) : {0}",res);
res = a + (b * c) / d;
Console.WriteLine("Value of a + (b * c) / d : {0}",res);
Console.ReadLine();
}
}
}실행 결과 분석
- (a + b) * c / d: 괄호 안의 덧셈이 먼저 계산되고, 이후 곱셈과 나눗셈이 왼쪽에서 오른쪽 순서로 처리됩니다.
- ((a + b) * c) / d: 괄호로 묶인 부분이 우선 계산되므로 위 식과 동일한 결과를 얻습니다.
- (a + b) * (c / d): 나눗셈이 별도의 괄호로 묶여 먼저 실행되므로, 정수 나눗셈 특성상 결과값이 달라질 수 있습니다.
- a + (b * c) / d: 곱셈 후 나눗셈이 진행되고 마지막에 덧셈이 수행됩니다.
이처럼 연산자 우선순위와 괄호 사용은 C#에서 수식의 결과를 결정짓는 핵심 요소입니다. 복잡한 수식을 작성할 때는 의도한 계산 순서를 명확히 하기 위해 괄호를 적극적으로 활용하는 것이 좋습니다.