目次
1. continue
문의 개요와 그 중요성
continue
문이란
continue
문은 반복 처리(루프) 내에서 사용되는 C 언어의 제어문입니다. for
문, while
문, do-while
문 등 루프 처리에 이용되며, 특정 조건을 만족할 때 루프 내 남은 처리를 건너뛰고 다음 반복으로 이동합니다. 이를 통해 불필요한 처리를 생략하고 효율적인 코드를 작성할 수 있습니다.continue
문의 장점과 단점
continue
문은 프로그램 흐름을 제어하는 데 유용하지만, 사용 방법을 잘못하면 코드 가독성을 해칠 가능성이 있습니다. 예를 들어, 루프 안에서 여러 개의continue
문을 사용하면 프로그램 동작을 이해하기 어려워집니다. 따라서 적절한 상황에서 신중하게 사용하는 것이 중요합니다.2. continue
문의 기본 구문
continue
문의 기본 구문
continue
문은 간단한 구문으로, 다음과 같이 작성됩니다。continue;
이 문이 실행되면, 그 시점에서 루프의 현재 반복 처리를 중단하고 다음 반복으로 이동합니다. 이를 통해 특정 조건에서 불필요한 처리를 회피하고 효율적인 프로그램을 만들 수 있습니다。continue
문과 break
문의 차이
continue
문과 비슷한 제어문으로 break
문이 있지만, 이들은 다른 목적에 사용됩니다. continue
문은 루프를 중단하지 않고 다음 반복으로 진행하지만, break
문은 루프를 완전히 빠져나갑니다. 따라서 continue
문은 반복 처리의 일부를 건너뛰고 싶을 때 사용하고, break
문은 루프 자체를 종료하고 싶을 때 사용합니다。3. continue
문의 기본적인 사용법
for
문에서의 continue
문 사용 예
for
문에서 continue
문을 사용하면, 특정 조건이 성립했을 때 다음 반복으로 이동합니다. 아래 예에서는 i
가 짝수인 경우에 처리를 건너뜁니다。#include <stdio.h>
int main() {
for(int i = 0; i < 10; i++) {
if(i % 2 == 0) {
continue; // i가 짝수일 때 건너뛰기
}
printf("%dn", i);
}
return 0;
}
이 프로그램에서는 i
가 짝수일 때 continue
문이 실행되고, printf
함수 호출이 건너뛰어집니다. 따라서 출력되는 것은 홀수만이 됩니다。while
문에서의 continue
문 사용 예
while
문에서도 continue
문을 사용할 수 있습니다. continue
문이 실행되면, while
문은 다음 반복으로 이동합니다。#include <stdio.h>
int main() {
int i = 0;
while(i < 10) {
i++;
if(i % 2 == 0) {
continue; //가 짝수일 때 건너뛰기
}
printf("%dn", i);
}
return 0;
}
이 예에서는 i
가 짝수일 때 continue
문이 실행되고, printf
함수가 건너뛰어집니다. 다음 반복으로 진행하므로 홀수만 출력됩니다。do-while
문에서의 continue
문 사용 예
do-while
문에서도 continue
문을 사용할 수 있지만, do-while
문은 최소 한 번은 실행되므로 continue
문의 동작이 약간 다릅니다。#include <stdio.h>
int main() {
int i = 0;
do {
i++;
if(i % 2 == 0) {
continue; // i가 짝수일 때 건너뛰기
}
printf("%dn", i);
} while(i < 10);
return 0;
}
이 프로그램에서는 i
가 짝수인 경우에 <>문이 실행되고, printf
함수 호출이 건너뛰어집니다. 다만, do-while
문의 특성상 i
가 10에 도달할 때까지 반복이 계속됩니다。
4. continue
문의 응용 예
중첩된 루프에서 continue
문의 사용법
continue
문은 중첩된 루프 내부에서도 사용할 수 있습니다. 아래 예에서는 내부 루프에서 j
가 2인 경우 처리를 건너뜁니다。#include <stdio.h>
int main() {
for(int i = 0; i < 5; i++) {
for(int j = 0; j < 5; j++) {
if(j == 2) {
continue; // j가 2일 때 건너뛰기
}
printf("i:%d, j:%dn", i, j);
}
}
return 0;
}
이 프로그램에서는 j
가 2일 때 continue
문이 실행되어 printf
호출이 건너뛰어집니다. 이를 통해 j:2
출력이 사라지고 프로그램 동작이 최적화됩니다。특정 조건을 만족하는 경우 루프 내 처리를 건너뛰는 예
continue
문은 특정 조건에서 루프 내 처리를 건너뛸 때 매우 유용합니다. 아래 예에서는 배열에서 음수를 건너뛰고 양수만 출력합니다。#include <stdio.h>
int main() {
int data[10] = {1, -1, 2, -2, 3, -3, 4, -4, 5, -5};
for(int i = 0; i < 10; i++) {
if(data[i] < 0) {
continue; // 음수 값을 건너뛰기
}
printf("%dn", data[i]);
}
return 0;
}
이 코드에서는 배열 요소가 음수인 경우 continue
문이 실행되어 출력이 건너뛰어집니다. 이를 통해 양수만 효율적으로 출력됩니다。5. continue
문에 대한 주의점과 모범 사례
continue
문의 과도한 사용에 의한 프로그램 가독성 저하
continue
문은 편리하지만, 자주 사용하면 프로그램의 가독성을 해칠 가능성이 있습니다. 특히, 중첩된 루프 안에서 많이 사용하면 어느 부분이 건너뛰어졌는지 파악하기 어려워집니다. 따라서, continue
문 사용은 최소한으로 제한해야 합니다.continue
문 대체 방법
continue
문을 사용하지 않고 동일한 동작을 구현하기 위해서는 조건 분기를 활용하는 방법이 있습니다. 예를 들어, 다음과 같이 if
문을 이용해 건너뛰는 조건을 반전시킬 수 있습니다.#include <stdio.h>
int main() {
for(int i = 0; i < 10; i++) {
if(i % 2 != 0) {
printf("%dn", i);
}
}
return 0;
}
이 코드에서는 i
가 홀수인 경우에만 printf
함수가 실행됩니다. continue
문을 사용하지 않고 처리를 분기함으로써, 코드의 가독성을 유지할 수 있습니다.코드 복잡화를 피하기 위한 모범 사례
continue
문 사용에 있어서는, 다음 사항에 주의하면 좋습니다.- 가능한 한 코드의 단순성을 유지하기 위해,
continue
문 사용은 최소한으로 제한한다. - 사용하는 경우에는, 코드에 주석을 추가하여
continue
문이 어떤 목적으로 사용되는지 명시한다. continue
문 대체 방법을 검토하고, 다른 구조가 더 적절한지 판단한다.
6. 실전: continue
문을 사용한 프로그래밍 과제
과제1: 특정 숫자를 건너뛰어 출력하는 프로그램
1부터 10까지의 숫자를 출력하는 프로그램을 작성하세요. 단, 사용자가 지정한 숫자를 건너뛰게 합니다. 예를 들어, 사용자가 “3”을 입력하면 출력은 “1 2 4 5 6 7 8 9 10”이 됩니다。#include <stdio.h>
int main() {
int num;
printf("건너뛸 번호를 입력하세요 (1〜10): ");
scanf("%d", &num);
for(int i = 1; i <= 10; i++) {
if(i == num) {
continue; // 지정된 번호를 건너뛰기
}
printf("%d ", i);
}
return 0;
}
이 프로그램에서는 continue
문을 사용하여 사용자가 지정한 숫자를 건너뛰고 있습니다. 이를 통해 지정된 숫자만 건너뛰고 다른 숫자를 출력합니다。과제2: 중첩된 루프에서 continue
문을 활용하는 프로그램
2중 루프를 사용하여 i
와 j
의 조합을 출력하는 프로그램을 작성하세요. 단, j
가 3인 경우는 건너뛰세요。#include <stdio.h>
int main() {
for(int i = 0; i < 5; i++) {
for(int j = 0; j < 5; j++) {
if(j == 3) {
continue; // j가 3일 때 건너뛰기
}
printf("i:%d, j:%dn", i, j);
}
}
return 0;
}
이 프로그램에서는 j
가 3인 경우 내부 루프에서 continue
문이 실행됩니다. 이를 통해 특정 조건에서만 처리를 건너뛰고 다른 값에 대한 처리를 계속합니다。과제3: continue
문을 사용한 효율적인 데이터 처리
배열 내 데이터를 처리하는 프로그램을 작성하세요. 배열 요소가 음수인 경우 해당 요소를 건너뛰고 처리를 계속합니다。#include <stdio.h>
int main() {
int data[10] = {1, -1, 2, -2, 3, -3, 4, -4, 5, -5};
for(int i = 0; i < 10; i++) {
if(data[i] < 0) {
continue; // 음수를 건너뛰기
}
printf("%dn", data[i]);
}
return 0;
}
이 코드에서는 continue
문을 사용하여 음수를 건너뛰고 있습니다. 이를 통해 불필요한 처리를 생략하고 필요한 데이터만 효율적으로 출력합니다。7. 요약
continue
문은 반복 처리 중 특정 조건을 만족할 경우 처리를 건너뛰고 다음 반복으로 이동하기 위한 편리한 제어문입니다. 적절히 사용하면 불필요한 처리를 생략하고 효율적인 프로그램을 만들 수 있습니다. 그러나 과도하게 사용하면 프로그램의 가독성이 떨어지므로 최소한으로 사용하고, 경우에 따라 조건 분기나 함수 활용을 검토하는 것이 좋습니다.continue
문의 효과적인 사용 포인트
- 조건에 따라 불필요한 처리를 건너뛰어 효율적인 루프 제어를 구현한다.
- 남용에 주의하고, 필요한 경우에만 사용하여 코드의 가독성을 유지한다.
- 대체 방법(조건 분기의 개선이나 함수 활용)도 검토하여 가장 적절한 방법을 선택한다.
학습을 심화하기 위해
continue
문의 이해를 심화하려면 다른 제어문(break
문, return
문 등)도 배우고 각각의 특징과 사용 구분을 이해하는 것이 중요합니다. 또한 실제 프로그램에서 다양한 상황에 continue
문을 활용하여 그 효과를 체감하는 것도 권장합니다.