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
   18   19   20   21   22   23   24   25   26   27   28