Page 15 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 15
식 x = n + 135를 생각해 보겠습니다. 이때 변수 x와 n은 int형입니다. 이 식에서 x, n, 135, n + 135,
x = n + 135는 모두 식입니다. 또한 ○○연산자와 피연산자가 결합한 식을 ○○식이라고 합니다. 예컨
대 대입 연산자에 의해 x와 n + 135가 결합된 식 x = n + 135는 대입식(assignment expression)입니다.
•식의 평가
원칙적으로 모든 수식에는 값이 있습니다(특별한 형태인 void형의 식만 값이 없습니다). 그 값은 프로그램
을 실행할 때 확인할 수 있으며 식의 값을 알아내는 것을 평가(evaluation)라고 합니다. 평가의 이미지
를 구체적으로 보여주는 예가 그림 1C-1입니다(이 그림은 int형 변수 n의 값이 2라고 가정합니다).
변수 n의 값이 52이므로 n, 135, n + 135의 각 식을 계산한 값은 52, 135, 187입니다. 물론 세 값의
형은 모두 int형입니다. 아래에서 볼 수 있듯이 이 책은 디지털 온도계처럼 그림으로 평갓값을 나타냅
니다. 왼쪽의 작은 글자가 ‘형’이고, 오른쪽의 큰 글자가 ‘값’입니다.
형
값
int 52 int 135
프로그램을 실행할 때 n + 135
식이 평가됩니다.
식을 평가하면 형과 값
을 얻을 수 있습니다. int 187
[그림 1C-1] 식의 평가(int형 + int형)
세 값의 최댓값을 구하는 순서를 이해하기 쉽게 그림으로 나타내 보겠습니다. 이런 그림은 여
러 종류가 있으며, 여기서는 순서도(flowchart)를 사용합니다. 그림 1-1에 나타낸 것이 세 값의
최댓값을 구하는 순서도입니다. 순서도의 주요 기호는 1-1절 마지막 부분에서 한데 모아 살펴보겠습니다.
max = a;
if(b > max) max = b;
if(c > max) max = c; b > c > a 인 경우 지나는 경로
a → max
Yes
b > max
No b → max
위에서 아래 방향으로
진행합니다.
Yes
c > max
No c → max
[그림 1-1] 세 값의 최댓값을 구하는 알고리즘의 순서도 01•기본 알고리즘 15