더북(TheBook)

if (...) ... else ...선택문(selection statement)C이라 부른다. 이 문장은 (...) 안에 담긴 값에 따라 두 가지 코드 경로(code path)C 중 하나를 선택한다. 기본 형식은 다음과 같다.

if (조건) 문장0_또는_블록0
else 문장1_또는_블록1

조건 부분에 들어가는 제어 표현식(controlling expression)의 형태는 다양하다. 앞에 나온 코드처럼 간단한 비교부터 굉장히 복잡한 중첩 표현식까지 나올 수 있다. 이 부분에 사용할 수 있는 기본 요소(primitive)에 대해서는 4.3.2절에서 자세히 소개한다.

if문의 조건 부분에 나올 수 있는 형태 중에서 가장 간단한 예는 다음과 같다. 예제 1-1의 for 루프를 약간 변형한 것이다.

for (size_t i = 0; i < 5; ++i) {
  if (i) {
    printf("element %zu is %g, \tits square is %g\n",
            i,
            A[i],
            A[i]*A[i]);
  }
}

이 코드에서 printf의 실행 여부를 결정하는 조건으로 달랑 i만 나온다. 즉, 숫값 하나만을 조건으로 사용한다. 이 코드에 따르면 i0이 아닐 때만 printf가 실행된다.Exs 1

숫값 하나로 주어진 조건을 평가할 때는 다음과 같이 간단한 두 가지 규칙이 적용된다.

 

 


Exs 1 예제 코드에 if (i) 조건을 추가하고 실행해서 출력 결과가 어떻게 달라지는지 비교해 보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.