루프 제어 이해는 효율적인 C 프로그램 작성에 필수적입니다. 이 가이드에서는 break와 continue 문이 실전 예제를 통해 루프 동작을 어떻게 형성하는지 깊이 다룹니다.
C break
break 문은 실행 시 루프를 즉시 종료합니다. 문법은 단순합니다:
break;
일반적으로 루프 내부 if...else 조건과 함께 사용돼 특정 상황에서 빠져나옵니다.
break 작동 원리
예제 1: break로 입력 조기 중단
// 최대 10개 숫자의 합 계산
// 사용자가 음수 입력 시 루프 종료
#include <stdio.h>
int main() {
int i;
double number, sum = 0.0;
for (i = 1; i <= 10; ++i) {
printf("Enter n%d: ", i);
scanf("%lf", &number);
if (number < 0.0) {
break;
}
sum += number;
}
printf("Sum = %.2lf\n", sum);
return 0;
}
출력
Enter n1: 2.4
Enter n2: 4.5
Enter n3: 3.4
Enter n4: -3
Sum = 10.30
이 프로그램은 음수 입력 시 break가 for 루프를 중단해 추가 입력을 막고 즉시 누적 합을 표시함을 보여줍니다.
또한 break는 switch 문에서 case 블록을 빠져나가는 데 널리 쓰이며 이는 다음 튜토리얼에서 다룹니다.
C continue
continue 문은 현재 루프 반복의 나머지를 건너뛰고 다음 반복으로 바로 진행합니다. 문법:
continue;
break처럼 주로 if...else 조건과 짝지어 루프 흐름을 동적 제어합니다.
continue 작동 원리
예제 2: continue로 음수 건너뛰기
// 최대 10개 숫자 합 계산
// 음수 입력은 continue로 무시
#include <stdio.h>
int main() {
int i;
double number, sum = 0.0;
for (i = 1; i <= 10; ++i) {
printf("Enter a n%d: ", i);
scanf("%lf", &number);
if (number < 0.0) {
continue;
}
sum += number;
}
printf("Sum = %.2lf\n", sum);
return 0;
}
출력
Enter n1: 1.1
Enter n2: 2.2
Enter n3: 5.5
Enter n4: 4.4
Enter n5: -3.4
Enter n6: -45.5
Enter n7: 34.5
Enter n8: -4.2
Enter n9: -1000
Enter n10: 12
Sum = 59.70
여기서 continue 문은 음수가 합계에 기여하지 않게 해 유효한 입력만 합에 영향을 주도록 합니다.