본문 바로가기
  • Eigenspace of Knowledge
CS/C언어

[C언어] 6. 반복문(2) - 중첩반복문, break, continue

by eigenarea 2024. 6. 6.
반응형

1.중첩반복문

 

중첩반복문(nested loop)이란, 반복문 안에 다른 반복문이 포함되는 구조를 말한다.

 

 

for ( i = ...){

    for(j =...){

          문장;

    }

    문장;

}

 

중첩반복문의 직관적인 이해

 

 

for (x=1; x<=5; x++){
    for (y=0; y<x; y++){
         printf("*");
    }
    printf("\n");
}


>>>
*
**
***
****
*****

 

 

2. break문

break문은 반복루프를 빠져나오는데 사용된다.

 

보통 if(조건문) break; 형태로, 특정 조건을 만족하면 반복문을 벗어나는 형태이다.

 

int i;
for (i=1; i<100; i++){
    printf("%d\n",i);
    if (i==5) break;
}


>>>
1
2
3
4
5

 

 

중첩반복문에서 break는 모든 반복문을 빠져나오는 것이 아닌, 해당되는 반복문만 빠져나간다.

 

int i,j;

for (i=1; i<=2; i++){
    for (j=1; j<100; j++){
        printf("%d\n",j);
        if (j==5) break; //내부 반복문만 빠져나가는 것을 볼 수 있다.
    }
}

>>>
1
2
3
4
5
1
2
3
4
5

 

 

 

3. continue문

continue문은 현재 반복을 중단하고 다음 반복을 시작할 때 사용된다.

 

break와 마찬가지로, 보통 if(조건문) continue; 형태로 특정 조건을 만족하면 반복문을 새로 시작하는 형태이다.

 

또한 중첩반복문에서 continue 역시 break와 같이 해당되는 반복문만 빠져나간다.

 

 

int i = 0;
for (;i<10;i++){
    if(i%2 == 1) continue;
    printf("%d",i);
}



>>>0 2 4 6 8