앞서 살펴본 if-else 선택 구조에서 then-부분이나 else-부분에 단지 한 개의 문장만이 표현되었다. 그러나 각 선택 사항에 대해서 여러 개의 행동이 요구될 수 있고, 이 경우에 then-이나 else-부분은 여러 개의 C 문장으로 표현되어야 할 것이다.

C의 선택 구조에서 then-부분이나 else-부분에 한 개 이상의 문장이 올 수 있다. C에서 한 개 이상의 문장은 복합문(compound statement)으로 표현된다. 다음은 C의 복합문 형식이다.

 

        {
             문장1
             문장2
              ...
             문장n
         }

위의 형식에서 보듯이, 복합문은 여러 개의 문장들이 중괄호에 둘러싸여 표현된다. 복합문에는 main() 함수에서처럼 변수가 선언될 수 있으나, 이것에 관해서는 9주차 강의 함수에서 다룰 것이다.

다음은 if-else 선택 구조에서 복합문의 사용을 보이기 위해서, 알고리즘 4-1이 다음 사항을 추가로 만족하도록 약간 수정한다: 변수 x외에 even과 odd의 변수를 추가하여 각각 짝수들의 합과 홀수들의 합을 나타낸다고 가정한다. 그리고 x가 짝수이면 even에 x를 더하고, "x는 짝수이다"를 출력하고, 그렇지 않으면 odd에 x를 더하고, "x는 홀수이다"를 출력하도록 수정한다.

수정된 알고리즘은 다음과 같다.

 

                     알고리즘   4-1-1
       
       
정수 X를 읽어들인다.

          IF(x의 값이 짝수이면) THEN
                    
even에 X를 더하고
                "x는 짝수이다"를 출력

        

         ELSE
                    
odd에 X를 더하고
                "x는 홀수이다"를 출력한다.

        

        ENDIF


알고리즘 4-1-1을 C 코드로 작성하면 다음과 같다.

알고리즘의 then-부분과 else-부분에 명세된 행동은 각각 두 가지씩이고, 각 부분이 복합문으로 효과적으로 표현되었음을 알 수 있다.



top으로... 다음페이지로.. 이전페이지로.. home으로..

top으로... 다음페이지로.. 이전페이지로.. home으로..

top으로... 다음페이지로.. 이전페이지로.. home으로..

 

top으로... 다음페이지로.. 이전페이지로.. home으로..