ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 제어문
    C & C++ 2023. 1. 16. 19:57
    반응형
    SMALL

    if 문

    제어문은 어떠한 상황을 판단하기 위해 사용되는 명령문입니다. 제어문의 형식은 다음과 같습니다.

    if ( 조건1 ) {
      // 조건 1이 참이면 수행

    [ else if ( 조건2 ) {  
    // 조건1이 아니라 조건2가 참이면 수행

    ... else if 반복 가능
    else {  
    // 위의 조건들이 전부 거짓이면 수행
    }
    ]

    제어문은 if ( 조건 ) 수행문; 의 형식으로 만들 수 있습니다. 수행문이 여러문장이 올 경우 { } 를 이용해 수행해야 할 블럭을 지정할 수 있습니다. 제어문을 수행하기 위해서는 반드시 하나의 if 문이 있어야 하며 조건식에는 (  ) 를 사용하여 표현해야 합니다.

     

    위의 사용방법에서 [ ]대괄호, 가 감싸고 있는 부분은 필요시 만들수 있다는 뜻입니다. 첫번째 조건이 아니고 다음 조건식을 만들어 참,거짓 여부를 판단하여 다음 수행 블럭을 진행시킬 수 있습니다. 

     

    마지막으로 if, else if를 포함한 모든 조건에 참이 아닌경우 최종 else 에 있는 블럭을 수행하게 됩니다.

     

     

    switch~case 문

    switch~case문은 조건식의 경우의 수가 많아 분기를 많이 해야 하는 경우 사용합니다. 즉, if () else if를 여러번 겹쳐서 만들어야 할 때 사용됩니다. 형식은 다음과 같습니다.

    switch ( 조건 1) {
    case 1: // 수행블럭 1, [ break; ]
    case 2: // 수행블럭 2, [ break; ]
    ...
    case n: // 수행블럭 n, [ break; ]
    default: // 수행블럭, 위의 경우가 모두 아닌경우 수행됨 
    }

    위 형식에서 조건 1의 값이 참 또는 거짓이 아니라 여러개의 값이 나오는 경우, 예를 들면 

    int n = a;
    switch ( n ) {
    case 1: // 수행 블럭...
    case 2: // 수행 블럭...
    ...
    default :  // 수행 블럭... 위의 경우가 모두 아닌경우 수행됨 
    }

    위 예와 같은 경우에는 정수형 변수의 n의 값에 따라 수도 없이 많은 분기가 이루어 질수 있는데 이럴경우 사용하기 쉬운 제어문입니다. default:는 위의 case 에 모두 해당하지 않으면 수행하는 블럭입니다.

     

    switch ~ case 문의 특징은 n의 값에 따라 처음 분기는 해당 블럭으로 이동하지만, 그 이후부터는 순차적으로 아래방향으로 쭈욱~ 수행이 된다는 특징이 있어, break; 문을 같이 사용하는게 일반적입니다. 예를들어 위 예제에서 n=2라면 case1: 블럭을 건너뛴 뒤 case 2: 블럭에서부터 순차적으로 명령문들을 수행하게 됩니다. 여기에서 다음 case로 가지 않고 현재 case의 명령문들만 수행하고 switch ~ case문을 탈출하려면 break; 명령문을 써줘야 합니다. 

     

     

     

    반응형
    LIST

    'C & C++' 카테고리의 다른 글

    함수  (0) 2023.01.16
    반복문  (0) 2023.01.16
    연산자(Operators)와 우선순위  (0) 2023.01.16
    변수와 상수  (0) 2023.01.16
    Windows에서 C/C++ 개발 환경 만들기  (0) 2023.01.13
Designed by Tistory.