사실 지금까지 연산자를 사용해왔습니다.
덧셈, 뺄셈, 곱셈, 나눗셈, …
연산자(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;
}
'C' 카테고리의 다른 글
| [내배캠자습]C언어 챕터 2-3:형변환 연산자, 삼항 연산자, sizeof (0) | 2026.03.28 |
|---|---|
| [내배캠자습]C언어 챕처2-2 : 증감 연산자, 논리 연산자, 비교 연산자 (0) | 2026.03.27 |
| [내배캠자습] C언어 챕터 1-11 : 입력 기초 (0) | 2026.03.27 |
| [내배캠자습]C언어 챕터 1-10 : ASCII (0) | 2026.03.27 |
| [내배캠자습]C언어 챕터 1-9 : 변수 (0) | 2026.03.27 |