식과 평가

3 + 4 * 5는 23일까, 35일까?

화면을 누르면 다음 장으로 넘어갑니다

식

식은 계산을 적은 것입니다

식(expression)은 계산을 적은 것이고, 그 값을 구하는 일이 평가(evaluation)입니다. 식은 계산 기호인 연산자(operator)와, 계산에 쓰이는 값인 피연산자(operand)로 이뤄집니다.

a, b, c의 값 3, 4, 5는 예시입니다. 식에는 괄호와 함수 호출도 들어갑니다.

연산자의 갈래

피연산자가 몇 개인가로 나눕니다

피연산자가 하나면 단항(unary), 둘이면 이항(binary), 셋이면 삼항(ternary) 연산자입니다. 이항 연산자는 대부분의 언어에서 a + b처럼 두 피연산자 사이에 씁니다.

사이에 쓰는 것을 중위(infix), 앞에 쓰는 것을 전위(prefix)라고 합니다. 삼항 연산자 ? : 는 바로 다음 장에서 봅니다.

조건식

if-else를 식 하나로 씁니다

C 계열 언어(C와 C++, Java, C# 같은 언어)의 조건식(conditional expression)입니다. ? 앞의 조건이 참이면 ? 뒤의 값이, 거짓이면 : 뒤의 값이 식의 값이 됩니다. if-else 문이 하는 일을 식 하나로 적은 것입니다.

count == 0은 count가 0과 같은지 묻습니다. count와 sum에 넣은 값은 예시입니다.

평가하는 순서

식은 트리로 묶이고 아래부터 채워집니다

a + b * c를 계산하려면 무엇과 무엇을 먼저 묶을지 정해야 합니다. 묶인 모양을 그리면 나무(트리)가 됩니다. 계산은 맨 아래 피연산자에서 시작하고, 값이 위로 올라가며 채워집니다.

1강 8편에서 본 파스 트리와 같은 모양입니다. 값 3, 4, 5는 예시입니다.

묶는 법이 다르면

글자는 같은데 답이 다릅니다

곱셈부터 묶으면 23, 덧셈부터 묶으면 35입니다. 글자는 한 자도 다르지 않은데 묶는 순서에 따라 답이 달라집니다. 그래서 언어는 순서를 정하는 규칙을 가져야 합니다.

이번 강의

정해야 할 것은 여섯 가지

이 강의가 따르는 교재는 산술식을 설계할 때 정해야 할 것으로 이 여섯 가지를 듭니다. 1과 2는 2편, 3과 4는 3편과 4편, 5는 5편, 6은 6편에서 봅니다.

다음 편

먼저, 곱셈을 덧셈보다 먼저 계산하라는 규칙부터 봅니다

2편무엇부터 계산할까? 6강 목록