본문 바로가기

Language/_C

분기문 ( if, if - else, switch )

분기문 : 프로그램의 흐름을 조건에 따라서 분기시킨다.

if 문 :

개념 : 조건식이 TRUE면   if 문 내의 문장을 실행한다. (FALSE 라면 건너뛴다)

사용법 : 예외처리, 단순조건검사(하나의 경우검사)에 쓰임.

if(조건)
{
       실행할 문장;
}



if - else 문 :

개념 : if 문의 조건을 충족시키지 못한 모든 경우를 else 문에서 실행한다.

사용법 : 두가지 경우로 분기를 나눌때 사용

if(조건)
{
        실행할 문장;
}

else
{
       실행할 문장;
}



if - else if - else 문 : 여러 경우로 흐름이 나뉠때 쓰임(경우에 따라 switch 와 바꿔쓸수 있다)

개념 : if ->  조건 TRUE : 실행
                 조건 FALSE : 다음 else if -> 조건 TRUE : 실행
                                                          조건 FALSE : 다음 else if -> ........  -> 조건 TRUE : 실행
                                                                                                             -> 조건 FALSE : else 문 실행

사용법 :

if(조건)
{
        실행할 문장;
}

else if(조건)         // (if 문의 조건을 충족시키는 경우를 제외한 나머지 모든 경우)
{
        실행할 문장;
}

else
{
       실행할 문장;
}



switch 문 :

개념 : 해당하는 경우의 case 문으로 이동하여 실행한다.

사용법 : 여러 경우로 흐름이 나뉠때 쓰임.  경우에는 int 형 정수나, char 형 문자만 올수 있다.
         (if - else if - else 와 바꿔쓸수 있으며 깔끔하고 속도가 빠르다. 하지만 case 에 조건식이 올수 없다는
         치명적 단점이 있다. 사용빈도가 if - else if - else 에 비해 적다)
                              
switch(식)
{
       case 경우 : 실행 할문장;
                        break;
       case 경우 : 실행할 문장;
                        break;
       default : 실행할 문장;      // 정의한 경우에 속하지 않은 나머지 경우
}


(참고 : switch 문은 경우에 조건식이 올수 없으므로 식을 매우 잘구성해야 한다
따라서 if - else if - else 구문이 사용하기 더 편하다

예) switch 잘못된 사용 :

switch(grade)
{
        case 'A' || 'a' :         // 조건식이 경우에 왔으므로 에러가 발생한다.
                  printf("A학점");
                  break;
})

'Language > _C' 카테고리의 다른 글

포인터(Pointer)  (3) 2010.05.11
1차원 배열(Array)  (2) 2010.05.04
반복문 (for, while)  (0) 2010.03.25
자료형, 상수, 변수, 연산자  (1) 2010.03.16
C Hello World 출력  (3) 2010.03.13