2장 3장에서 선택 구조의 조건 식을 관계 연산자와 논리 연산자를 사용하여 표현하는 방법을 알아보았다. 이제 선택 구조를 C에서 표현하는 방법을 알아본다. 선택 구조는 1장의 그림 4-1에서 살펴보았듯이, 조건 식, then-부분, else-부분의 3 부분으로 구분된다. C는 이러한 선택 구조를 직접 표현할 수 있는 if-else 문을 제공한다. 또한, 선택 구조에서 else-부분이 생략된 if 문도 제공된다.

1. if-else 문

1장에서 다룬 선택 구조를 다시 한번 생각해보자.


조건 식에는 선택 판단을 위한 조건이 명시되며, then-부분에는 조건 식의 평가 결과 값이 참일 경우 실행될 문장이 명세되고, else-부분에는 거짓일 경우에 실행될 문장이 명세된다.

다음은 위의 선택 구조를 직접 표현할 수 있는 C에서 제공되는 if-else 문의 형식이다.

 

        if (조건 식)
             문장1
        else
             문장2

위 if-else 문의 형식을 선택 구조와 직접 연관시킬 수 있다.


즉, if-else 문은 다음과 같이 실행된다. 먼저 조건 식을 평가하고, 그 결과 값이 참이면 문장1을 수행하고, 그렇지 않으면 문장2를 수행한다.

지금까지 여러분은 조건에 따라서 두 가지의 행동 중에서 선택하는 선택 구조에 대해서 살펴보았고, 이러한 선택 구조를 효과적으로 표현할 수 있는 C 언어 구문을 살펴보았다. 이제 C의 선택 구조를 사용하는 프로그램 예제를 살펴본다.

다음 문장을 생각해보자: x의 값이 짝수이면 "x는 짝수이다"를 출력하고, 홀수이면 "x는 홀수이다"를 출력한다. 위의 문장을 C 문장으로 표현하기 위해서, 먼저 주어진 문장에 대한 순서도를 생각하면 다음과 같다.


위의 순서도는 다음과 같이 알고리즘으로 표현할 수 있다. 선택 구조에 대한 알고리즘은 1장에서 이미 다루었다.

 

                     알고리즘  
       
       
IF(x의 값이 짝수이면) THEN
                    
"x는 짝수이다"를 출력한다.
        
ELSE
                    
"x는 홀수이다"를 출력한다.
        
ENDIF

위의 알고리즘은 다음과 같이 C의 선택 구조 문장으로 번역될 수 있다.


C의 선택 구조 문장에서 x가 짝수인지를 판단하기 위해서 나머지 연산자 %를 사용하였음을 알 수 있다. %는 첫 번째 피연산자를 두 번째 피연산자로 나눈 후 그 나머지를 연산 결과 값으로 생성한다.

이제 위의 선택 구조 문장을 이용할 수 있는 다음 프로그램 문제를 생각해보자.

위 문제에 대한 알고리즘은 다음과 같이 x를 읽어들이는 단계를 추가하여 작성할 수 있다.

 

                     알고리즘   4-1
       
       
정수 X를 읽어들인다.
           IF(x의 값이 짝수이면) THEN
                    
"x는 짝수이다"를 출력
        
ELSE
                    
"x는 홀수이다"를 출력
        
ENDIF


위 알고리즘은 다음과 같이 C 프로그램으로 작성된다.


[프로그램 단위 입력 실행] 다음 실습창을 통해서 프로그램 4-1의 실행과정을 알아본다

(여러분은 실습창의 왼편에 위치한 '새프로그램 입력' 버튼을 클릭하여 새로운 프로그램을 입력하여 실행시켜 볼 수 있다. )

 

[문장 단위 입력 실행] 여러분은 다음 실습창에서 C 프로그램을 한 문장씩 입력하여 실행시켜  볼 수 있다. 새로운 프로그램을 한 문장씩 입력하고 오른쪽 창에서 그 실행 결과를 살펴 보시오.       

 도움말 보기 (꼭! 확인 바랍니다)

 

 

2. if 문

4.1에서 다룬 if-else 문은 조건에 따라 두 가지의 행동 가운데서 한 가지를 선택하는 경우를 표현하였다. 그러나 조건에 따라서 주어진 행동을 선택적으로 수행하는 경우도 발생한다. 즉, if-else 문에서 then-부분이 선택적으로 수행되고, else-부분은 존재하지 않는다. 이 경우의 선택 구조를 다음과 같이 순서도로 표현할 수 있다.

 

C 언어는 else-부분이 없는 선택 구조를 직접 표현할 수 있는 if 문을 다음과 같은 형식으로 제공한다.

 

        if (조건 식)
             문장

if 문은 다음과 같이 실행된다: 먼저, 조건 식을 평가하고, 그 결과 값이 참이면 문장을 수행하고, 그렇지 않으면 if 문을 빠져나온다.

if 문의 사용 예로서, 문제 4.1을 다음과 같이 단순화시킨다.

다음은 위의 문제에 대한 알고리즘과 이로부터 변환된 C 프로그램을 보여준다.


위의 문제는 읽어들인 x가 짝수일 경우에만 수행할 행동만이 명세되어 있다. 따라서 if 문으로 적절히 변환되었음을 알 수 있다.

[프로그램 단위 입력 실행] 다음 실습창을 통해서 프로그램 4-2의 실행과정을 알아본다

(여러분은 실습창의 왼편에 위치한 '새프로그램 입력' 버튼을 클릭하여 새로운 프로그램을 입력하여 실행시켜 볼 수 있다. )

 

[문장 단위 입력 실행] 여러분은 다음 실습창에서 C 프로그램을 한 문장씩 입력하여 실행시켜  볼 수 있다. 새로운 프로그램을 한 문장씩 입력하고 오른쪽 창에서 그 실행 결과를 살펴 보시오.        

도움말 보기 (꼭! 확인 바랍니다)

 


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

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

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

 

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