C언어 초급 - 7장: 반복문 (7.4 반복문의 제어 (break, continue))
2025. 2. 23. 19:10ㆍ프로그래밍 언어/C
7.4 반복문의 제어 (break, continue)
C 언어에서 반복문의 제어문을 사용하면 특정 조건에서 반복을 중단하거나 특정 반복을 건너뛸 수 있습니다.
이러한 기능은 break 문과 continue 문을 통해 구현됩니다.
1. break 문 – 특정 조건에서 반복 중단
1.1 break 문의 개념
- 반복문(for, while, do-while)에서 실행 중 특정 조건을 만나면 즉시 반복을 중단하고 빠져나감.
- 주로 반복문을 강제로 종료해야 하는 경우 사용됨.
1.2 break 문 기본 구조
for (초기값; 조건; 증감) {
if (특정 조건) {
break; // 반복문 종료
}
// 실행할 코드
}
1.3 break 문 예제 – 특정 숫자에서 반복 중단
#include <stdio.h>
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // i가 5일 때 반복문 종료
}
printf("%d ", i);
}
return 0;
}
출력 결과
1 2 3 4
📌 설명
- i == 5이면 break 실행 → 반복문 즉시 종료.
- 따라서 5 이후의 숫자는 출력되지 않음.
1.4 break 문 예제 – 사용자 입력을 통한 반복 중단
사용자가 0을 입력하면 반복을 중단하는 프로그램입니다.
#include <stdio.h>
int main() {
int num;
while (1) { // 무한 루프
printf("숫자를 입력하세요 (0 입력 시 종료): ");
scanf("%d", &num);
if (num == 0) {
break; // 0을 입력하면 반복문 종료
}
printf("입력한 숫자: %d\n", num);
}
printf("프로그램을 종료합니다.\n");
return 0;
}
실행 예시
숫자를 입력하세요 (0 입력 시 종료): 5
입력한 숫자: 5
숫자를 입력하세요 (0 입력 시 종료): 3
입력한 숫자: 3
숫자를 입력하세요 (0 입력 시 종료): 0
프로그램을 종료합니다.
📌 설명
- while (1)을 사용해 무한 루프 실행.
- num == 0이면 break 실행 → 반복문 종료.
2. continue 문 – 특정 조건에서 다음 반복으로 건너뛰기
2.1 continue 문의 개념
- 현재 반복을 중단하고, 다음 반복으로 건너뜀.
- 반복문을 완전히 종료하지 않고 특정 조건에서 일부 코드만 실행하지 않도록 설정 가능.
2.2 continue 문 기본 구조
for (초기값; 조건; 증감) {
if (특정 조건) {
continue; // 현재 반복 중단 후 다음 반복 실행
}
// 실행할 코드
}
2.3 continue 문 예제 – 짝수만 출력하기
#include <stdio.h>
int main() {
for (int i = 1; i <= 10; i++) {
if (i % 2 != 0) { // 홀수일 경우
continue; // 아래 코드 실행하지 않고 다음 반복으로 건너뜀
}
printf("%d ", i); // 짝수만 출력됨
}
return 0;
}
출력 결과
2 4 6 8 10
📌 설명
- i % 2 != 0 (홀수)이면 continue 실행 → 출력 코드 실행 건너뜀.
- 따라서 짝수(2, 4, 6, 8, 10)만 출력됨.
2.4 continue 문 예제 – 특정 숫자 제외하고 출력
#include <stdio.h>
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
continue; // i가 5일 때 건너뜀
}
printf("%d ", i);
}
return 0;
}
출력 결과
1 2 3 4 6 7 8 9 10
📌 설명
- i == 5일 때 continue 실행 → 5는 출력되지 않음.
3. break와 continue 비교
제어문 | 동작 방식 | 반복문 종료 여부 | 예제 |
break | 특정 조건에서 반복문을 완전히 종료 | ✅ (반복문 종료) | if (x == 5) break; |
continue | 특정 조건에서 현재 반복을 건너뛰고 다음 반복 실행 | ❌ (반복문 유지) | if (x == 5) continue; |
📌 반복을 완전히 종료해야 하면 break 사용
📌 일부 조건에서만 실행을 건너뛰려면 continue 사용
4. break와 continue를 활용한 프로그램
4.1 break를 활용한 특정 조건에서 반복 중단
사용자가 0을 입력하면 프로그램을 종료하는 코드입니다.
#include <stdio.h>
int main() {
int num;
while (1) {
printf("숫자를 입력하세요 (0 입력 시 종료): ");
scanf("%d", &num);
if (num == 0) {
printf("프로그램을 종료합니다.\n");
break; // 0 입력 시 종료
}
printf("입력한 숫자: %d\n", num);
}
return 0;
}
실행 예시
숫자를 입력하세요 (0 입력 시 종료): 10
입력한 숫자: 10
숫자를 입력하세요 (0 입력 시 종료): 5
입력한 숫자: 5
숫자를 입력하세요 (0 입력 시 종료): 0
프로그램을 종료합니다.
4.2 continue를 활용한 특정 입력 건너뛰기
사용자가 음수를 입력하면 출력하지 않고 건너뛰는 코드입니다.
#include <stdio.h>
int main() {
int num;
for (int i = 0; i < 5; i++) {
printf("숫자를 입력하세요: ");
scanf("%d", &num);
if (num < 0) {
printf("음수는 출력하지 않습니다.\n");
continue; // 음수면 아래 코드 실행하지 않고 다음 반복 진행
}
printf("입력한 숫자: %d\n", num);
}
return 0;
}
실행 예시
숫자를 입력하세요: 5
입력한 숫자: 5
숫자를 입력하세요: -3
음수는 출력하지 않습니다.
숫자를 입력하세요: 10
입력한 숫자: 10
📌 설명
- 음수 입력 시 continue 실행 → 출력문 건너뜀.
5. 정리
개념 | 설명 | 예제 |
break | 특정 조건에서 반복문 완전히 종료 | if (x == 5) break; |
continue | 특정 조건에서 현재 반복 건너뛰기 | if (x == 5) continue; |
while에서 break | 무한 루프 탈출 | while (1) { if (x == 0) break; } |
for에서 continue | 특정 값 제외하고 반복 | if (x % 2 == 0) continue; |
📌 반복문을 완전히 종료하려면 break 사용
📌 특정 조건에서 현재 반복만 건너뛰려면 continue 사용
'프로그래밍 언어 > C' 카테고리의 다른 글
C언어 초급 - 8장: 배열과 문자열 (8.2 다차원 배열) (0) | 2025.02.23 |
---|---|
C언어 초급 - 8장: 배열과 문자열 (8.1 배열의 개념) (0) | 2025.02.23 |
C언어 초급 - 7장: 반복문 (7.3 for 문) (0) | 2025.02.23 |
C언어 초급 - 7장: 반복문 (7.2 do-while 문) (0) | 2025.02.23 |
C언어 초급 - 7장: 반복문 (7.1 while 문) (0) | 2025.02.23 |