Home C언어 공부 정리(2/10)-제어문
Post
Cancel

C언어 공부 정리(2/10)-제어문

21/12/30

1. if문

1) 기본 문법

1
2
3
if ( 조건 ) {
    실행문;
}
  • 조건이 참일 경우 실행문을 수행
  • 조건이 거짓일 경우 if문을 빠져나온다.

2) else

1
2
3
4
5
6
if ( 조건 ) {
    실행문;
}
else {
    실행문;
}
  • 조건의 거짓일 경우 else 실행문 수행

3) else if

1
2
3
4
5
6
7
8
if ( 조건1 ) {
    실행문1;
}
else if ( 조건2 ){
    실행문2;
} else {
    실행문3;
}
  • 조건1 = 참 : 실행문1
  • 조건1 = 거짓, 조건2 = 참 : 실행문2
  • 조건1 = 거짓, 조건2 = 거짓 : 실행문3

4) 중첩 if문

  • if문 안에 if문이 있는 경우
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    if ( 조건1 ) {
      if ( 조건2 ) {
          실행문1;
      }
      else {
          실행문2;
      }
    }
    else {
      실행문3;
    }
    
  • 조건1 = 참, 조건2 = 참 : 실행문1
  • 조건1 = 참, 조건2 = 거짓 : 실행문2
  • 조건1 = 거짓 : 실행문3

2. switch문

문법

1
2
3
4
5
6
7
8
switch( n )
{
    case value1 : 실행문1;
        break;
    case value2 : 실행문2;
        break;
    default : 실행문3;
}
  • n = int 또는 char
  • n의 결과에 따라 실행되는 case가 달라진다.
  • n = value1 : 실행문1
  • n = value2 : 실행문2
  • default : if문의 else와 같음

break

  • break 有
    1
    2
    3
    4
    5
    6
    7
    8
    
      switch( n )
      {
          case value1 : 실행문1;
              break;
          case value2 : 실행문2;
              break;
          default : 실행문3;
      }
    
    • n = value2 : 실행문2 » switch문 빠져나옴
  • break 無

    1
    2
    3
    4
    5
    6
    
      switch( n )
      {
          case value1 : 실행문1;
          case value2 : 실행문2;
          default : 실행문3;
      }
    
    • n = value2 : 실행문2, 실행문3 수행

3. while문

문법

1
2
3
4
while ( 조건 )
{
    실행문;
}
  • 조건이 참일동안 실행문이 반복된다.
  • ex)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    int i = 1;
    int n = 0;
    
    while (n < 10) // n = 10 >> while문 실행 x
    {
        i += 1;
        n += 2;
    }
    
    printf("i = %d, n = %d", i, n);
    
    • 수행 순서
      • i = 2, n = 2
      • i = 3, n = 4
      • i = 4, n = 6
      • i = 5, n = 8
      • i = 6, n = 10

      결과 : i = 6, n = 10

중첩 while

1
2
3
4
5
6
7
while ( n )
{
    while ( m )
    {
        실행문;
    }
}
  • 가장 안쪽 while부터 실행

4. do - while문

  • 문법
    1
    2
    3
    4
    
    do
    {
        실행문;
    } while ( 조건 )
    
  • 조건이 참일동안 실행문 수행

5. for문

문법

1
2
3
for ( 초기식; 조건식; 증감식 ) {
    실행문;
}
  • 초기식
    • 초기식을 기준으로 조건과 증감식의 결과가 나온다.
    • 주로 int = 0;을 사용한다.
  • 조건식
    • 초기식의 반복 조건.
    • 조건식이 거짓이 되면 for문 종료
  • 증감식
    • 반복할 때 마다 초기식이 증감한다.
    • ++ 혹은 --을 쓴다
  • ex)
    1
    2
    3
    
    for (int i = 0; i < 10; i++) {
        printf("%d, ", i);
    }
    

    결과 : 1, 2, 3, 4, 5, 6, 7, 8, 9,

중첩 for

1
2
3
4
5
6
7
int i;
int j;
for (i = 0; i <=5; i++ ) { // i가 5를 넘으면 for문 실행 x
    for (j = 0; j <=4; j++) {
        printf("i = %d, j = %d\n", i, j);
    }
}

결과
i = 0, j = 0
i = 0, j = 1
i = 0, j = 2
i = 0, j = 3
i = 0, j = 4
i = 1, j = 0
i = 1, j = 1
       …
i = 5, j = 0
i = 5, j = 1
i = 5, j = 2
i = 5, j = 3
i = 5, j = 4

6. Continue

  • 조건으로 다시 돌아간다.
  • ex)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    int sum = 0;
    for (int i=0; i<=6; i++) {
          
        if (i % 2 == 0) {
            continue; // 짝수일 경우 조건으로 돌아간다
        }
        sum += i; // sum = sum + i;
        printf("%d번째 sum값 = %d\n", i+1, sum);
    }
    
    • 실행 순서
      • i = 0 » if : T » i++
      • i = 1 » if : F » sum += i; (sum=1), printf(), i++
      • i = 2 » if : T » i++
      • i = 3 » if : F » sum += i; (sum=4), printf(), i++
      • i = 4 » if : T » i++
      • i = 5 » if : F » sum += i; (sum=9), printf(), i++
      • i = 6 » if : T » i++
    • 결과
      • 2번째 sum값 = 1
      • 4번째 sum값 = 4
      • 6번째 sum값 = 9
This post is licensed under CC BY 4.0 by the author.

C언어 공부 정리(2/10)-연산자 종류

C언어 공부 정리(3/10)-연습문제

Comments powered by Disqus.