C - 루프: 효율적인 프로그래밍의 관문
안녕하세요, 야심 찬 프로그래머 여러분! 오늘 우리는 C 언어의 루프 세계로 흥미로운 여정을 떠납니다. 여러분의 친절한 이웃 컴퓨터 과학 교사로서, 저는 여러분이 프로그래밍 경험을 혁명적으로 바꿔 놓을 이 기본 개념을 안내해 드리게 되어 기쁩니다.
루프는 무엇이고 왜 필요한가요?
"저는 프로그래밍을 사랑해요"를 100번 쓰는 작업을 상상해 보세요. 지루하지 않나요? 이럴 때 루프가 구원자가 됩니다! 루프는 코드 블록을 반복적으로 실행하여 시간을 절약하고 프로그램을 더 효율적으로 만들어줍니다.
C 루프 문의 흐름도
코드로 들어가기 전에, 루프가 어떻게 작동하는지 시각화해 보겠습니다:
┌─────────────┐
│ 시작 루프 │
└──────┬──────┘
│
┌──────▼──────┐
│ 조건 체크 │
└──────┬──────┘
│
┌───────┴───────┐
No │ │ Yes
│ ┌───────────▼─────────┐
│ │ 루프 본문 실행 │
│ └───────────┬─────────┘
│ │
│ ┌───────────▼─────────┐
│ │ 카운터 업데이트 │
│ └───────────┬─────────┘
│ │
┌───▼───┐ │
│ 종료 │◄──────────┘
└───────┘
이 흐름도는 루프의 기본 구조를 보여줍니다. 조건을 체크한 후, 그 조건이 참이면 루프 본문을 실행하고 카운터를 업데이트합니다. 그런 다음 조건을 다시 체크합니다. 이 과정이 조건이 거짓이 될 때까지 계속됩니다.
C에서의 루프 유형
C는 우리에게 세 가지 주요 루프 유형을 제공합니다. 각각을 탐구해 보겠습니다:
1. For 루프
for
루프는 정확히 몇 번 반복할지 알 때 완벽합니다.
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
printf("반복 %d\n", i);
}
return 0;
}
이 예제에서 우리는 반복 번호를 5번 출력합니다. 이를 쪼개보면:
-
int i = 1
: 카운터 초기화 -
i <= 5
: 이 조건이 참인 동안 계속 -
i++
: 각 반복 후 카운터 증가
출력:
반복 1
반복 2
반복 3
반복 4
반복 5
2. While 루프
while
루프는 조건이 참인 동안 반복할 때 유용합니다.
#include <stdio.h>
int main() {
int count = 1;
while (count <= 5) {
printf("카운트는: %d\n", count);
count++;
}
return 0;
}
여기서 우리는 1에서 5까지 카운트합니다. 루프는 count
이 5 이하일 때 계속됩니다.
출력:
카운트는: 1
카운트는: 2
카운트는: 3
카운트는: 4
카운트는: 5
3. Do-While 루프
do-while
루프는 while
루프와 유사하지만, 루프 본문이 최소한 한 번은 실행되도록 보장합니다.
#include <stdio.h>
int main() {
int num = 1;
do {
printf("%d 제곱은 %d\n", num, num * num);
num++;
} while (num <= 5);
return 0;
}
이 프로그램은 1에서 5까지의 숫자의 제곱을 계산하고 출력합니다.
출력:
1 제곱은 1
2 제곱은 4
3 제곱은 9
4 제곱은 16
5 제곱은 25
C 루프의 부분
C의 모든 루프는 세 가지 주요 부분으로 구성됩니다:
- 초기화: 루프 변수를 설정하는 부분
- 조건: 루프가 계속되는지 여부를 결정하는 테스트
- 업데이트: 각 반복 후 루프 변수를 변경하는 방법
C에서의 루프 제어 문
때로는 우리는 루프에 대한 더 많은 제어가 필요합니다. C는 이를 위한 두 가지 특별한 문을 제공합니다:
1. Break 문
break
문은 루프를 사전에 종료합니다.
#include <stdio.h>
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 6) {
printf("루프를 i = %d에서 종료\n", i);
break;
}
printf("i = %d\n", i);
}
return 0;
}
이 루프는 i
가 6에 도달할 때 종료합니다.
출력:
i = 1
i = 2
i = 3
i = 4
i = 5
루프를 i = 6에서 종료
2. Continue 문
continue
문은 현재 반복의 나머지 부분을 건너뛰고 다음 반복으로 이동합니다.
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
printf("반복 %d 건너뛰기\n", i);
continue;
}
printf("i = %d\n", i);
}
return 0;
}
이 루프는 i
가 3일 때 출력을 건너뛰습니다.
출력:
i = 1
i = 2
반복 3 건너뛰기
i = 4
i = 5
C에서의 무한 루프
무한 루프는 결코 끝나지 않는 루프입니다. 일반적으로 실수지만, 특정 경우에는 이러한 행동을 원할 수 있습니다.
#include <stdio.h>
int main() {
while (1) {
printf("이 문구는 영원히 출력됩니다!\n");
}
return 0;
}
무한 루프에 주의하세요! 제대로 처리하지 않으면 프로그램이崩溃될 수 있습니다.
결론
축하합니다! 여러분은 C 루프의 세계로 첫 걸음을 뗐습니다. 연습이 완벽을 만듭니다. 자신만의 루프를 작성해 보세요, 다양한 조건을 실험하고, 곧 루프를 마스터하실 것입니다!
여기서 다루었던 루프 유형의 빠른 참고 표입니다:
루프 유형 | 문법 | 가장 사용할 때 |
---|---|---|
For | for (init; condition; update) { ... } |
정확한 반복 횟수를 알 때 |
While | while (condition) { ... } |
조건이 참인 동안 반복할 때 |
Do-While | do { ... } while (condition); |
루프 본문을 최소한 한 번은 실행해야 할 때 |
Happy coding, 여러분의 루프가 항상 원하는 대로 종료되길 바랍니다!
Credits: Image by storyset