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++로 이동하여 i는 6이 된다.
마지막으로 return이 있다. return은 반복문의 흐름을 제어하는 것이 아닌 함수를 종료하는 역할을 한다.
아래 코드에서 return은 main 함수 안에 있으므로 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
break는 for 반복문만 종료시켜서 반복문의 끝난 다음에 있는 “프로그램 종료”라는 메시지를 출력하지만, return은 함수를 종료시키므로 더 이상 출력되는 것은 없다.
break, continue, return 이렇게 세 가지 명령어를 적절히 활용하여 반복 구조의 흐름제어를 효과적으로 할 수 있다.
'프로그래밍 > C' 카테고리의 다른 글
정수(int)의 크기가 넘치는 경우(정수 오버플로우) (1) | 2023.01.05 |
---|---|
C언어 전역변수와 지역변수의 블록 범위 (0) | 2023.01.05 |
C언어 반복문(while, do-while, for) (0) | 2023.01.03 |
C언어 조건문(if, switch, 3항 연산자) (0) | 2023.01.03 |
C언어 입력함수 scanf와 입력 버퍼 (0) | 2023.01.02 |