|
||||||||||
2장과 3장에서 선택 구조의 조건 식을 관계 연산자와 논리 연산자를 사용하여 표현하는 방법을 알아보았다. 이제 선택 구조를 C에서 표현하는 방법을 알아본다. 선택 구조는 1장의 그림 4-1에서 살펴보았듯이, 조건 식, then-부분, else-부분의 3 부분으로 구분된다. C는 이러한 선택 구조를 직접 표현할 수 있는 if-else 문을 제공한다. 또한, 선택 구조에서 else-부분이 생략된 if 문도 제공된다. 1. if-else 문 1장에서 다룬 선택 구조를 다시 한번 생각해보자.
다음은 위의 선택 구조를 직접 표현할 수 있는 C에서 제공되는 if-else 문의 형식이다.
위 if-else 문의 형식을 선택 구조와 직접 연관시킬 수 있다.
지금까지 여러분은 조건에 따라서 두 가지의 행동 중에서 선택하는 선택 구조에 대해서 살펴보았고, 이러한 선택 구조를 효과적으로 표현할 수 있는 C 언어 구문을 살펴보았다. 이제 C의 선택 구조를 사용하는 프로그램 예제를 살펴본다. 다음 문장을 생각해보자: x의 값이 짝수이면 "x는 짝수이다"를 출력하고, 홀수이면 "x는 홀수이다"를 출력한다. 위의 문장을 C 문장으로 표현하기 위해서, 먼저 주어진 문장에 대한 순서도를 생각하면 다음과 같다.
위의 알고리즘은 다음과 같이 C의 선택 구조 문장으로 번역될 수 있다.
이제 위의 선택 구조 문장을 이용할 수 있는 다음 프로그램 문제를 생각해보자. 위 문제에 대한 알고리즘은 다음과 같이 x를 읽어들이는 단계를 추가하여 작성할 수 있다.
|
2. if 문 4.1에서 다룬 if-else 문은 조건에 따라 두 가지의 행동 가운데서 한 가지를 선택하는 경우를 표현하였다. 그러나 조건에 따라서 주어진 행동을 선택적으로 수행하는 경우도 발생한다. 즉, if-else 문에서 then-부분이 선택적으로 수행되고, else-부분은 존재하지 않는다. 이 경우의 선택 구조를 다음과 같이 순서도로 표현할 수 있다.
C 언어는 else-부분이 없는 선택 구조를 직접 표현할 수 있는 if 문을 다음과 같은 형식으로 제공한다.
if 문은 다음과 같이 실행된다: 먼저, 조건 식을 평가하고, 그 결과 값이 참이면 문장을 수행하고, 그렇지 않으면 if 문을 빠져나온다. if 문의 사용 예로서, 문제 4.1을 다음과 같이 단순화시킨다. 다음은 위의 문제에 대한 알고리즘과 이로부터 변환된 C 프로그램을 보여준다.
|
![]() |
|