C 기본 문법 – 조건문과 반복문 – 3편: while문 완전 정복
안녕하세요, 열정 넘치는 코딩 학습자 여러분! 😊
이번 시간에는 반복문의 두 번째 주자, 바로 **while문
**에 대해 알아보려고 해요.
🧠
while문
은 마치 “조건을 계속 체크하며 멈출 때까지 반복하는 탐색자”와 같아요!
정해진 횟수가 아니라, 조건이 만족하는 동안 무한히 반복될 수 있는 유연한 구조랍니다.
for문
은 반복 횟수가 명확할 때,
while문
은 언제 멈출지 모를 때 또는 조건이 가장 중요할 때 자주 사용돼요.
그럼 지금부터 친절한 설명과 예시를 통해 while문
을 완벽하게 익혀보아요 💪
while문의 기본 구조
while (조건식) {
반복할 코드;
}
설명:
- **조건식이 참(0이 아님)**인 동안 계속 반복합니다.
- 조건식이 **거짓(0)**이 되면 반복을 종료해요.
가장 기본적인 예제
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) {
printf("%d번째 반복입니다.
", i);
i++;
}
return 0;
}
출력 결과:
1번째 반복입니다.
2번째 반복입니다.
3번째 반복입니다.
4번째 반복입니다.
5번째 반복입니다.
🎯 변수
i
가 1부터 5까지 증가하면서 조건을 만족하는 동안 반복됩니다.
while문의 실행 순서
- 조건식 검사
- 조건이 참이면 코드 블록 실행
- 다시 조건식 검사
- 조건이 거짓이 될 때까지 반복
💡 조건을 먼저 검사하므로, 한 번도 실행되지 않을 수도 있어요!
무한 반복 예제 (의도적 사용)
while (1) {
printf("계속 반복 중...
");
}
🛑 이런 코드는 멈추지 않아요! 무한 루프!
게임 루프, 서버 대기 상태 등에서 자주 사용돼요.
사용자 입력 반복 예제
int input = 0;
while (input != 5) {
printf("5를 입력해야 종료됩니다: ");
scanf("%d", &input);
}
printf("종료합니다!
");
🎯 사용자가 특정 값을 입력할 때까지 계속 반복되는 구조입니다.
이런 식으로 사용자와의 상호작용에도 많이 쓰여요!
break와 continue와 함께 사용
break: 조건 만족 시 반복 종료
int i = 1;
while (1) {
if (i > 5) break;
printf("%d
", i);
i++;
}
i > 5
일 때 루프를 강제로 종료해요.
continue: 특정 조건에서 코드 생략하고 다음 반복
int i = 0;
while (i < 5) {
i++;
if (i == 3) continue;
printf("%d
", i);
}
i
가 3일 때는printf
를 건너뛰고 반복만 계속돼요.
실전 예제: 로그인 시도 제한
char password[20];
int attempt = 0;
while (attempt < 3) {
printf("비밀번호 입력: ");
scanf("%s", password);
if (strcmp(password, "1234") == 0) {
printf("로그인 성공!
");
break;
} else {
printf("비밀번호가 틀렸습니다.
");
attempt++;
}
}
if (attempt == 3) {
printf("3회 이상 실패. 계정 잠김!
");
}
🎯 3번 이상 틀리면 로그인 실패 처리! 실전 느낌이죠?
while문 vs for문
기준 | while문 | for문 |
---|---|---|
반복 횟수 명확하지 않음 | O | X |
조건만 중요할 때 | 적합 | 덜 적합 |
가독성 | 단순한 조건 반복에 좋음 | 반복 제어가 한 줄에 있어 간결 |
초기식/증감식 | 블록 외부 작성 | for문에 포함됨 |
do-while문과 비교
do {
// 실행문
} while (조건식);
항목 | while문 | do-while문 |
---|---|---|
조건 먼저 검사 | O | X (조건은 마지막에 검사) |
최소 1회 실행 보장 | X | O |
자주 쓰임 | 중간 | 특정 상황에서만 사용 |
✅ while문 요약 정리
요소 | 설명 |
---|---|
조건식 | 참인 동안 반복 |
실행 순서 | 조건 → 실행 → 조건 … |
탈출 조건 | 코드 안에서 변수 변경 필수 |
무한 루프 | while(1) |
제어 키워드 | break , continue 가능 |
⚠️ while문 사용 시 주의할 점
주의사항 | 설명 |
---|---|
조건을 바꾸는 코드 누락 | 무한 루프가 발생할 수 있어요 |
조건 검사 위치 주의 | 처음부터 거짓이면 한 번도 실행되지 않음 |
입력값 잘못 처리 | 무한 대기 상황 발생 가능 |
조건식에 실수형 사용 자제 | 정수형이 더 안전해요 |
마무리하며 💬
오늘 배운 while문
은
조건을 기반으로 유동적인 반복을 가능하게 해주는 중요한 도구입니다!
특히 반복 횟수를 정확히 알 수 없거나
사용자 입력, 센서 데이터, 실시간 처리처럼 변화무쌍한 상황에서 매우 유용하게 사용돼요.
🎯 반복의 조건이 핵심일 땐 언제나 while문을 떠올리세요!
다음 시간에는 do-while문
을 통해 최소 1회는 실행되는 반복문을 다뤄볼게요.
오늘도 함께 해주셔서 감사합니다! 😊
코딩은 꾸준한 반복을 통해 완성됩니다 💻✨