어서와 C언어는 처음이지 제16장
break와 continue break와 continue 문을 사용하면 조건에 따라 일찍 반복문을 끝내거나 정상적인 경우보다 더 빨리 반복문을 다시 반복할 수 있다.
break 문 break가 실행되면 반복문을 빠져나간다. for (i = 0; i < 10; i++) { printf("%d ", i) if (i == 4) break; } // 프로그램의 나머지 부분이 뒤따른다.
// 완전 초보자 가이드 3판 16장 예제 #1 // 파일 Chapter16ex1.c /* 이 프로그램은 사용자에게 학생 25명의 시험 성적을 입력하게 한다. 시험 성적의 평균을 계산한다. 만약 25명보다 적은 학생이 시험을 봤다면 사용자는 성적으로 –1.0을 입력하고 반복 반복문을 종료한다. 지금까지 입력된 성적만 가지고 평균을 계산한다. */ #include <stdio.h> main() { int numTest; float stTest, avg, total = 0.0;
// 25명의 성적을 입력받는다. for (numTest = 0; numTest < 25; numTest++) { // 시험 성적이 –1이 아닌지를 검사한다. printf("다음 학생의 성적은? "); scanf(" %f", &stTest); if (stTest < 0.0) break; } total += stTest; avg = total / numTest; printf("평균은 %.1f%%입니다.", avg); return 0;
다음 학생의 성적은? 89.9 다음 학생의 성적은? 92.5 다음 학생의 성적은? 51.0 다음 학생의 성적은? 86.4 다음 학생의 성적은? 78.6 다음 학생의 성적은? -1.0 평균은 79.7%입니다.
break 문
continue 문 break가 반복문을 일찍 탈출하게 하는 것과 다르게 continue는 반복문이 다음 반복을 일찍 시작하게 한다.
// 완전 초보자 가이드 3판 16장 예제 #1 // 파일 Chapter16ex1.c /* 이 프로그램은 10개의 숫자를 반복한다. 그리고 숫자가 홀수인지 짝수인지를 출력한다. 만약 숫자가 홀수이면 메시지를 출력하고 다음 반복을 시작한다. 그렇지 않으면 짝수 메시지를 출력한다. */ #include <stdio.h> main() { int i; // 1부터 10까지 반복한다. for (i = 1; i <= 10; i++) if ((i % 2) == 1) // 홀수는 나머지로 1을 가진다. printf("홀수이군요..."); // 반복문의 다음 반복으로 점프한다. continue; } printf("짝수이군요!"); return 0;
홀수이군요... 짝수이군요!
Lab: 배수 구하기 사용자로부터 최대 n개의 양수를 입력받아서 평균값을 구하는 프로그램을 작성하여 보자. 만약 사용자가 음수를 입력하면 반복을 중단하고 이제까지의 평균값을 출력하고 프로그램을 종료한다. 입력의 개수: 10 1번째 수: 10 2번째 수: 20 3번째 수: 30 4번째 수: -1 평균값=20.00
# include <stdio.h> main() { float num, average, sum; int i, n; sum = 0.0; printf("입력의 개수: "); scanf("%d", &n); for (i = 1; i <= n; ++i) printf("%d번째 수: ", i); scanf("%f", &num); if (num<0.0) break; sum = sum + num; } average = sum / (i - 1); printf("평균값=%.2f ", average); return 0;
학습 정리 while, do-while, for 반복문을 일찍 종료하려면 break를 사용한다. 반복문의 새로운 사이클을 시작하려면 continue를 사용한다. break나 continue의 앞에는 if(조건식)이 오는 것이 보통이다.
Q & A