C

[내배캠자습]C언어 챕터 2-1 : 연산자와 피연산자, 산술 연산자, 복합 대입 연산자, 값식문

BreadMushroom 2026. 3. 27. 23:38

사실 지금까지 연산자를 사용해왔습니다.

덧셈, 뺄셈, 곱셈, 나눗셈, …

 

연산자(Operator) Vs. 피연산자(Operand)

피연산자와 함께 사용되어서 계산 결과를 만들어 내는 기호. ex) 5 + 2에서 5와 2를 피연산자, +를 연산자라고 합니다.

 

 

연산자 우선순위(Operator Priority)와 결합법칙

덧셈과 곱셈이 뒤섞여 있는 식에서 우리는 묵시적으로 곱셈을 먼저 계산합니다. 이처럼 연산자들 간에는 우선순위가 존재합니다. ex) 3 + 5 * 2 만약 덧셈만 있는 식에서는 좌에서 우로 계산한다는 결합법칙도 있습니다. ex) 3 + 5 + 2

[여기]에서 연산자 우선순위와 결합법칙 표를 볼 수 있습니다.

 

 

산술 연산자의 종류

덧셈, 뺄셈, 곱셈, 나눗셈, 나머지(%). 여기서 나머지 연산자가 어려울 수 있습니다. 나눗셈은 몫을 구하는 연산자이고, 나머지 연산자는 말그대로 나눗셈의 나머지를 구하는 연산자입니다.

 

정수 피연산자와 실수 피연산자

int 자료형끼리의 나눗셈은 그 결과도 int. float 자료형끼리의 나눗셈은 그 결과도 float임에 주의하셔야 합니다. 또, C언어에서는 float 자료형의 나머지 연산은 불가능합니다.

 

복합 대입 연산자

산술 연산과 대입 연산이 함께 계산되는 연산자. ex) 복합 대입 연산자 *=은 곱셈 연산 후 대입됩니다.

mul *= 3; // 동작자체는 mul = mul * 3; 코드와 똑같습니다.

 

(Value), (Expression), (Statement)

 

은 이전 시간에 언급한 리터럴과 같습니다.

ex) 2147483647, 3.141592, “Hello, World!”, …

 

은 피연산자와 연산자로 이루어져서 값으로 귀결되는 것들.

ex) 3 + 5, 5.43 - 9.2, …

 

은 컴퓨터가 수행할 명령어.

int num = 5;    // 선언문.
if (7 == num)   // 조건문. 7 == num은 조건식.

은행에 가서 오늘 번 돈인 1만원을 입금하려 합니다.

아래와 같이 입금 함수를 작성해도될까요?

float CurrentAccountBalance = 980000;

void Deposit(int InMoney)
{
	CurrentAccountBalance = InMoney;

	return 0;
}

Deposit(10000);

 

정상동작하는 입금 함수

float CurrentAccountBalance = 980000;

void Deposit(int InMoney)
{
	CurrentAccountBalance = CurrentAccountBalance + InMoney;

	return 0;
}

Deposit(981000);

Feed-back

아래와 같은 코드들을 피드백 코드라고 부릅니다. 상당히 중요한 개념입니다.

int s = 0;
s = s + 10; // s += 10과 같습니다. 현재 변수 = 이전 변수값 + 10;
            // s = s + 10 뿐만아니라, s -= 10이나 s %= 10 같이 다른 사칙연산도 피드백 코드 가능합니다.
int CurrentPlayerExp = 2147483646;

void Kill(int MonsterExp)
{
	CurrentPlayerExp = CurrentPlayerExp + MonsterExp;

	return 0;
}