C언어 break
문은 반복문, switch
조건문을 탈출합니다. continue
문은 잔여 코드를 건너뛰고 반복문의 조건식 부분으로 돌아갑니다. return
문은 소속 함수 블록을 탈출합니다.
C언어 제어문
C언어의 제어문은 큰 범위에서는 반복문, 조건문, break
문, continue
문을 모두 지칭합니다. 작은 범위에서는 break
문과 continue
문을 의미합니다. C언어의 break
, continue
제어문은 반복문과 조건문에 일종의 필터링 기능을 부여합니다.
기호 | 역할 |
---|---|
break | 소속 코드 블록 탈출 |
continue | 잔여 코드 블록 무시 및 반복문 조건식으로 회기 |
return | 소속 함수 탈출 |
break 제어문
C언어 break
제어문은 반복문에 삽입시 break
조건이 맞으면 반복문 코드 블록을 바로 탈출합니다.
#include<stdio.h>
void main() {
int i;
for (i = 0; i <= 100; i++)
{
if (i == 31) //i가 31과 같지 않을 경우 반복문을 계속 실행
break; //i가 31과 같아질 경우 for문을 탈출
printf("%d \n", i);
}
}
결과
0~100
까지 숫자 출력에서 i == 31
에 break
를 생성했으므로 0~30
까지만 출력되고 반복문이 종료됩니다.
0
1
...중략
29
30
break
문은 switch
조건문에서 해당 조건문 블록을 빠져나갈 때 사용됩니다.
#include<stdio.h>
void main() {
int x = 2;
int y;
switch (x)
{
case 1 :
{
y = 10;
printf("y는 %d", y);
}
break; //잔여 case 문을 무시하고 switch 문을 빠져나갑니다.
case 2 :
{
y = 20;
printf("y는 %d", y);
}
break; //잔여 case 문을 무시하고 switch 문을 빠져나갑니다.
default :
{
y = 90;
printf("y는 %d", y);
}
}
}
결과
y는 20
예제
continue 제어문
C언어 continue
제어문은 코드의 잔여 블록을 무시하고, 반복문의 조건식이 있는 곳으로 돌아갑니다.
#include<stdio.h>
void main() {
int i;
for (i = 0; i <= 10; i++) { if (i > 3)
continue; //i가 3보다 큰 정수가 되면 하단의 printf를 건너뛰고 for (조건식)으로 돌아갑니다.
printf("%d \n", i);
}
}
결과
0~10
을 한 줄씩 출력하는 반복문에서 i
가 3
보다 크면 하단의 출력 블록이 무시되고, 조건식으로 계속 돌아갑니다. i
가 10
이 되면 종료됩니다.
0
1
2
3
continue
문은 continue
보다 앞에 있는 코드 블록에는 관여하지 않습니다.
#include<stdio.h>
void main() {
int i;
for (i = 0; i <= 10; i++) { printf("영향 안받음 \n"); //continue 보다 위에 있는 수식은 continue와 무관하게 실행됩니다. if (i > 3)
continue; //i가 3보다 큰 정수가 되면 하단의 printf를 건너뛰고 for (조건식)으로 돌아갑니다.
printf("%d \n", i);
}
}
결과
continue
보다 위에 있는 수식은 건너뛰기 영향을 받지 않으므로 정상적인 10
회 반복 출력이 발생합니다.
영향 안받음
0
영향 안받음
1
영향 안받음
2
영향 안받음
3
영향 안받음
영향 안받음
영향 안받음
영향 안받음
영향 안받음
영향 안받음
영향 안받음
return문
C언어 return
문은 소속된 함수 블록을 탈출합니다. 현재 코드는 main()
함수에 소속되었으므로 return
을 만나면 main()
함수 자체를 빠져나갑니다.
#include<stdio.h>
void main() {
int i;
for (i = 0; i <= 10; i++) { if (i > 3)
return; //main () 함수 자체를 빠져나갑니다.
printf("%d \n", i);
}
}
결과
0
1
2
3
break
문과 결과가 비슷해 보이지만, break
문은 소속된 반복문 또는 조건문 블록 범위만 탈출하며, 함수의 소속은 유지합니다.