switch 사용법


C에서 if~else말고 여러 조건을 간결하게 표현 할 수 있는 제어문이 있다.

바로 switch라는 것인데 사용 하는데 제약이 있긴 하지만 if ~ else if ~ 를 여러 번 써서 표현 하는 것 보다 빠르고 보기 좋다.



switch 사용법


switch의 사용법을 간단히 표현 하면 다음과 같다.

 switch( 변수 값 )

 {

    case 조건 :

 break;

case 조건2:

  break;

default:

 }


switch 안에 조건을 판단 할 변수 값을 넣는다.

case 조건 : -> 조건에 변수의 값을 표시한다.

변수 값이 조건이면 case 조건을 break를 만날 때 까지 실행 한다.

default는 조건에 맞는 것이 없으면 실행 된다.


다음 switch를 사용한 예를 보도록 한다.

#include <stdio.h>


int main(int argc, char *argv[]) 

{

int value = 1;

switch( value )

{

case 0 :

printf(" value is 0 \n");

break;

case 1 :

printf(" value is 1 \n");

break;

case 2 :

printf(" value is 2 \n");

break;

default :

printf(" value is default \n");

}

return 0;

}


vaule 값이 1이다.


switch( value ) 는 value의 값을 보고 조건을 판단 하겠다는 뜻이다.


case 0 : -> value 가 0일 경우에 동작한다. if( value == 0 ) 과 동일 하다.


case 1 : -> value 가 1일 경우에 동작 하며 value 값이 1이기 때문에 그 안에 

              printf(" value is 1 \n"); 를 수행 후 break로 switch를 빠져 나온다.


default -> case 가 0, 1, 2 3가지를 뒀는데 만약 value 값이 0, 1, 2도 아니면 수행이 된다.


이해를 돕기 위해 아래는 동일한 내용을 if문과 switch문으로 각각 구현했다.


      switch( value )

{

case 0 :

printf(" value is 0 \n");

break;

case 1 :

printf(" value is 1 \n");

break;

default :

printf(" value is default \n");

}

 if( value == 0 )

    printf(" value is 0 \n");

 else if( value == 1 )

    printf(" value is 1 \n");

 else

   printf(" value is default \n");






각 case 에 실행문 뒤에 break가 없을 경우


case 0 :

      printf(" value is 0 \n");

       break; 


여기에서 break 문이 빠지면 어떻게 될까?

다음 예제를 보면서 알아보자


#include <stdio.h>


int main(int argc, char *argv[]) 

{

int value = 1;

switch( value )

{

case 0 :

printf(" value is 0 \n");

break;

case 1 :

printf(" value is 1 \n");

case 2 :

printf(" value is 2 \n");

break;

default :

printf(" value is default \n");

}

return 0;

}


case 1에 진입이 되고 printf문을 한 번 실행 후  break문이 없어 계속 다음 케이스를 수행 하게 된다.

그래서 결과 값이 value is 1, value is 2 두 개가 표시 된다.

break 문이 빠지면 엉뚱하게 수행 되면 꼭 넣도록 한다.

반응형

'프로그램 > C' 카테고리의 다른 글

[C] 배열 사용법  (0) 2017.03.22
[C] goto 제어문 사용법  (0) 2017.03.18
[C] continue, break 사용법  (0) 2017.03.16
[C] if ~ else 제어문 사용법  (0) 2017.03.15
[C] for 반복문 사용법  (0) 2017.03.14

continue, break 사용법


C에서는 반복문을 탈출 하거나 생략하는 기능을 제공한다.

break는 반복문을 탈출하며 continue는 반복문을 생략 즉 반복문 안에 프로그램 내용을 건너 띄고 다음 루프로 건너띄는 기능을 한다.



continue 사용법


continue의 사용법을 간단히 표현 하면 다음과 같다.

 while(1)

 {

     실행문 1

conitnue;

실행문 2

 }


위의 내용을 실행하면 실행문1만 수행 되며 실행문2는 수행되지 않는다. 


다음 continue를 사용한 예를 보도록 한다.

#include <stdio.h>


int main(int argc, char *argv[]) 

{

int i = 0;

for( i = 1 ; i < 20 ; i++ )

{

if( i % 2 != 0 )

continue;

printf( " %d \n", i );

}

return 0;

}


for문은 1부터 19까지 반복한다.

이 중 i 값이 2의 배수가 아니면 continue를 하도록 되어있다.

continue를 만나면 반복문의 처음으로 돌아 간다.


처음 i = 1이기 때문에 if 조건에 부합하여 continue 만나게 되고

다시 반복문의 처음으로 가기 때문에 for 즘감값이 i++이기 때문에 2인 상태에서 

다시 if 조건을 만나게 된다.

2일 때는 if 조건에 맞지 않기 때문에 printf문을 실행 하게 된다.


continue를 만나게 되면 이하 실행문은 수행 되지 않고 반복문의 처음으로 돌아간다.





break 사용법


break 의 사용법을 간단히 표현 하면 다음과 같다.

 while(1)

 {

     실행문1

     break;

     실행문2

 }

 실행문3


반복문 while 안에 실행문 1이 수행되고 break를 만나게 된다.

이렇게 되면 while의 반복문를 탈출하게 되며 반복문 밖에 실행문 3를 수행하게 된다.


다음 break를 사용한 예를 보도록 한다.

#include <stdio.h>


int main(int argc, char *argv[]) 

{

int i = 0;

for( i = 1 ; i < 20 ; i++ )

{

if( i == 7 )

break;

printf( " %d \n", i );

}

printf( " 반복문 종료 \n" );

return 0;

}


반복문은 1~19까지 반복 하도록 되어 있다.

i가 1....5..7이 되고 if 조건에 7이면 break를 만나게 되어있다.

break를 만나기 전 까지 printf를 통해 1~6까지 출력 되고


break를 만나서 반복문을 빠져 나와서 "반복문 종료" 라는 printf를 출력 하게 된다.



반응형

'프로그램 > C' 카테고리의 다른 글

[C] goto 제어문 사용법  (0) 2017.03.18
[C]switch 제어문 사용법  (0) 2017.03.17
[C] if ~ else 제어문 사용법  (0) 2017.03.15
[C] for 반복문 사용법  (0) 2017.03.14
[C] while, do~while 반목문 사용법  (0) 2017.03.13

if ~ else 사용법


C에서는 특정한 조건에 따라 프로그램 내용을 분기 할 수 있도록 제공해주는 기능이 있다.

이것을 제어문이라고 하고 제어문 중 if ~ else 구문을 살펴볼 것이다.



if 사용법


if의 사용법을 간단히 표현 하면 다음과 같다.

 if( 조건 )

 {

      실행문

 }


조건이 참일 경우 실행문이 수행이 된다.


다음 if문을 사용한 예를 보도록 한다.

#include <stdio.h>

#include <stdlib.h>


int main(int argc, char *argv[]) 

{

int value = 5;

        // value 값이 5가 맞기 때문에 printf가 수행된다.

if( value == 5 ) 

{

printf(" value == 5 조건 참 \n");

}

if( value != 5 )

{

printf(" value != 5 조건 거짓 \n");

}

if( value < 10 )

{

printf(" value < 10 조건 참 \n");

}

if( value > 10 )

{

printf(" value > 10 조건 거짓 \n");

}

}


첫 번째 조건은 value == 5 로 되어있는데 "==" 은 같다 라는 뜻이다. 해당 조건은 

value 값이 5이기 때문에 참이 되어 printf(" value == 5 조건 참 \n"); 이 수행 된다.

그 다음에 3개의 if문이 있는데 "!=" 조건은 같지 않다는 뜻이다.

결과를 예측 해보고 수행을 해보자.





if ~ else 사용법


if ~ else 의 사용법을 간단히 표현 하면 다음과 같다.

 if( 조건 )

 {

      실행문

 }

 else

 {

     조건이 맞지 않으면 수행 됨

 }


조건이 참일 경우 실행문이 수행이 되고 조건이 맞지 않으면 else 안에 실행문이 수행 된다.


다음 if ~ else 문을 사용한 예를 보도록 한다.

#include <stdio.h>

#include <stdlib.h>


int main(int argc, char *argv[]) 

{

int value = 6;

if( value == 5 )

{

printf(" value == 5 조건 참 \n");

}

else

{

printf(" value == 5 조건 거짓 \n");

}


첫 번째 조건은 value == 5 로 되어있는데 value 값이 6이기 때문에 

printf(" value == 5 조건 참 \n"); 이 수행 되지 않고

else 안에 있는 수행 문이 실행이 된다.


프로그램이 수행을 해보면 "value == 5 조건 거짓" 이 출력 되는 것을 확인 할 수 있다.




if ~ else if ~ else 사용법


if ~ else if ~ else 의 사용법을 간단히 표현 하면 다음과 같다.

 if( 조건 1 )

 {

      조건1 실행문

 }

 else if ( 조건 2 )

 {

      조건2 실행문

 }

 else

 {

     조건이 맞지 않으면 수행 됨

 }


조건 1이 참일 경우 조건 1실행문이 수행이 되고 조건이 맞지 않으면 

다음 else if문을 수행한다. 

else if문을 여러개 둘 수 있고 계속 조건이 맞지 않으면 else 안에 수행문이 실행 된다.


다음 if ~ else if ~ else 문을 사용한 예를 보도록 한다.

#include <stdio.h>

#include <stdlib.h>


int main(int argc, char *argv[]) 

{

int value = 6;

if( value == 5 )

{

printf(" value == 5 조건 참 \n");

}

else if ( value == 6 ) 

{

printf(" value == 6 조건 참 \n");

}

else

{

printf(" value == 5 조건 거짓 \n");

}


첫 번째 조건은 value == 5 로 되어있는데 value 값이 6이기 때문에 

printf(" value == 5 조건 참 \n"); 이 수행 되지 않고

다음 조건인 value == 6이 참이기 때문에 

printf(" value == 6 조건 참 \n"); 이 수행이 된다.


프로그램이 수행을 해보면 "value == 6 조건 참" 이 출력 되는 것을 확인 할 수 있다.


반응형

'프로그램 > C' 카테고리의 다른 글

[C]switch 제어문 사용법  (0) 2017.03.17
[C] continue, break 사용법  (0) 2017.03.16
[C] for 반복문 사용법  (0) 2017.03.14
[C] while, do~while 반목문 사용법  (0) 2017.03.13
[C] 비트(bit) 단위 연산  (0) 2017.03.12

for 사용법


C에서는 여러가지 반복문 ( while, for )과 제어문 (if, switch)가 있다.

그 중 반복 횟수를 직관적으로 지정해 지정된 횟수 만큼 반복 수행되는 for 사용법에 알아보도록 하겠다.



for


for의 사용법을 간단히 표현 하면 다음과 같다.

 for(초기 값:조건 :증감 값)

 {

       반복 실행 문

 }


초기 값 : 처음 시작하는 값

조건 : 처음 시작한 값이 언제 종료 될 지 조건 설정

증감 값 : 초기 값이 반복문이 실행 될 때마다 어떻게 별할 지 설정한 값


다음 for문을 사용한 예를 보도록 한다.

#include <stdio.h>


int main(int argc, char *argv[]) 

{

    int i = 0;  //변수 i 선언

    for( i = 1; i < 6; i++ )

{

printf("i[%d]\n",i);

}

return 0;

}


예를 보면 i 변수를 0으로 선언하였다.


이제 자세히 봐야할 for문을 살펴 보자


 for( i = 1 :i < 6 : i++ )


초기 값은 i = 1로 설정 되어 있다. 
이것은 for문이 수행되기 전 i는 1 부터 시작하라는 뜻이다.

조건은 i < 6이다. i 값이 6보다 작으면 계속 반복 하라는 뜻이다.

증감 값은 i++이다. 한번 반복문이 수행 된 후 i의 값의 증감을 설정 한 것으로
한번 반복하면 i는 1씩 증가 한다.




위의 예제를 수행 하면

 i[1]

 i[2]

 i[3]

 i[4]

 i[5]


위 i가 최초에 1이 출력 되며 한번 반복할 때 1이 증가 되고 6보다 작을 때까지 반복하는 것을 알 수 있다.



반응형

'프로그램 > C' 카테고리의 다른 글

[C] continue, break 사용법  (0) 2017.03.16
[C] if ~ else 제어문 사용법  (0) 2017.03.15
[C] while, do~while 반목문 사용법  (0) 2017.03.13
[C] 비트(bit) 단위 연산  (0) 2017.03.12
[C] 입력 함수 scanf 사용법  (0) 2017.03.10

+ Recent posts