식과 평가
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편에서 봅니다.
다음 편