프로그래밍/C

C언어 반복문 흐름제어(break, continue, return)

swedu 2023. 1. 5. 18:02
728x90
반응형

2023.1.5. 최초 작성

 

 

 

 

프로그램의 코드를 작성하다 보면 반복 구조를 잘 제어하는 것이 굉장히 중요하다. 특히 중첩된 구조의 반복문은 흐름을 제어하다가 실수할 확률이 높다.

 

반복문 안에 조건문을 활용해 반복 구조의 흐름을 제어할 수 있는데 이때 활용할 명령어 중 첫 번째는 break이다.

 

아래 코드는 if 조건문에서 i 변수가 5와 같으면 반복문을 멈추게 된다. 실행 결과를 보면 break 는 자신이 포함된 한 개의 반복문을 멈출 수 있다. 다중 반복 구조일 경우 break를 포함하고 있는 반복문만 멈추는 효과를 가진다.

 
#include <stdio.h>
void main() {
	int i;
	for (i = 1; i <= 10; i++) {
		if (i == 5) {
			break;
		}
		printf("%d\n", i);
	}
	printf("프로그램 종료");
}

[실행 결과]

1

2

3

4

프로그램 종료

 
 

두 번째는 continue인데 예제 코드와 실행 결과는 아래와 같다.

#include <stdio.h>
void main() {
	int i;
	for (i = 1; i <= 10; i++) {
		if (i == 5) {
			continue;
		}
		printf("%d\n", i);
	}
	printf("프로그램 종료");
}

[실행 결과]

1

2

3

4

6

7

8

9

10

프로그램 종료

 

continue를 만나면 현재 실행하는 내용을 멈추고 증감식으로 이동한다. if 조건문에서 i 변수가 5와 같으면 if 문 아래에 있는 i를 출력하는 printf를 실행하지 않고 증감식인 i++로 이동하여 i6이 된다.

 

 

 

마지막으로 return이 있다. return은 반복문의 흐름을 제어하는 것이 아닌 함수를 종료하는 역할을 한다.

아래 코드에서 returnmain 함수 안에 있으므로 if 조건문에서 i 변수가 5와 같으면 return에 의해 main 함수가 종료된다. 그러면 for 반복문도 자연스럽게 멈추는 효과가 있다.

 
#include <stdio.h>
void main() {
	int i;
	for (i = 1; i <= 10; i++) {
		if (i == 5) {
			return;
		}
		printf("%d\n", i);
	}
	printf("프로그램 종료");
}

[실행 결과]

1

2

3

4

 

 

 

breakfor 반복문만 종료시켜서 반복문의 끝난 다음에 있는 프로그램 종료라는 메시지를 출력하지만, return은 함수를 종료시키므로 더 이상 출력되는 것은 없다.

 

 

break, continue, return 이렇게 세 가지 명령어를 적절히 활용하여 반복 구조의 흐름제어를 효과적으로 할 수 있다.

 

 

 
728x90
반응형

 

728x90
반응형