Page 23 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 23
16 return 0;
17 }
이 프로그램에서 네모로 표시한 부분의 순서도를 그림 1-3에 나타냈습니다. 변수 n의 값이
양수면 1 , 음수면 2 , 0이면 3 이 실행됩니다. 즉, 실행되는 부분은 1 , 2 , 3 중 하나뿐이며
두 가지가 동시에 실행되거나 하나도 실행되지 않거나 하는 경우는 없습니다. 이는 프로그램
의 흐름이 세 가지로 분기하기 때문입니다. 여기서 간단한 실험을 해보겠습니다. 위 프로그램
의 네모로 표시한 부분을 아래 [리스트 1]처럼 수정해 보겠습니다(chap01/if123a.c).
리스트 1은 if123a.c의 일부입니다.
1 , 2 , 3 가운데 어느 하나만 실행됩니다.
No
n이 0보다 크다
Yes No
n이 0보다 작다
1 2 Yes 3
"이 수는 양수입니다."라고 출력합니다. "이 수는 음수입니다."라고 출력합니다. "이 수는 0입니다."라고 출력합니다.
[그림 1-3] 변수 n의 부호 판단
리스트 1
if(n == 1)
printf("1입니다.\n"); 1
else if(n == 2)
printf("2입니다.\n"); 2
else if(n == 3)
printf("3입니다.\n"); 3
n의 값이 1이면 1 , 2이면 2 , 3이면 3 이 실행됩니다.
이 if문에서 초록색 박스로 표시한 부분을 삭제하면 구문은 ‘if(식)문 else if(식)문 else문’이
됩니다. 이것은 흐름이 세 가지로 분기하는 실습 1-3과 같은 형식입니다(chap1/if123b.c). 그
01•기본 알고리즘 23