C 기본 문법 – 조건문과 반복문 – 4편: do-while문 완전 정복
안녕하세요! C 언어를 차근차근 배워가고 계신 여러분 😊
이번 시간에는 반복문의 마지막 주자, **do-while문
**에 대해 공부해보겠습니다!
🧠
do-while문
은 마치 “일단 해보고, 조건을 따지는 스타일”의 반복문이에요.
무조건 한 번은 실행하고 나서 조건을 확인해서 반복 여부를 결정합니다.
즉, while문
과 비슷해 보이지만
**”최소 한 번은 반드시 실행되는 반복문”**이라는 큰 차이가 있어요!
그럼 지금부터 do-while문의 구조와 특징, 예제, 주의할 점까지
쉽고 풍부하게 알려드릴게요 😄
do-while문의 기본 구조
do {
실행할 코드;
} while (조건식);
- 코드를 먼저 실행한 후, 조건식을 검사합니다.
- 조건이 참(
true
)이면 다시 반복, 거짓이면 종료합니다.
기본 예제로 쉽게 이해하기
#include <stdio.h>
int main() {
int i = 1;
do {
printf("i = %d
", i);
i++;
} while (i <= 5);
return 0;
}
출력 결과:
i = 1
i = 2
i = 3
i = 4
i = 5
🎯
i
가 1부터 5까지 증가하면서 반복 실행됩니다!
while문과의 차이점은?
int i = 10;
while (i < 5) {
printf("while 실행: %d
", i);
}
int j = 10;
do {
printf("do-while 실행: %d
", j);
} while (j < 5);
- while문은
i < 5
가 거짓이므로 한 번도 실행되지 않음 - do-while문은 `조건이 거짓이어도 한 번은 실행됨**
💡 바로 이게 do-while문의 핵심!
실행 → 검사 순서라는 점이 다른 반복문들과의 가장 큰 차이입니다.
사용자 입력 반복 예제
#include <stdio.h>
int main() {
int num;
do {
printf("양의 정수를 입력하세요: ");
scanf("%d", &num);
} while (num <= 0);
printf("입력된 수: %d
", num);
return 0;
}
🎯 사용자가 양수를 입력할 때까지 계속 요구하는 코드예요!
최소 한 번은 입력받아야 하므로 do-while문이 제격입니다.
메뉴 선택 반복 예제
#include <stdio.h>
int main() {
int choice;
do {
printf("=== 메뉴 ===
");
printf("1. 게임 시작
");
printf("2. 랭킹 보기
");
printf("3. 종료
");
printf("번호를 선택하세요: ");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("게임을 시작합니다!
");
break;
case 2:
printf("랭킹을 보여줍니다.
");
break;
case 3:
printf("프로그램을 종료합니다.
");
break;
default:
printf("잘못된 선택입니다.
");
}
} while (choice != 3);
return 0;
}
📌 이처럼 사용자가 종료할 때까지 반복 실행되는 메뉴 시스템에도 아주 유용해요!
무한 루프도 가능할까?
do {
// 무한 반복
} while (1);
✔️ 물론 가능합니다!
무한 루프가 필요할 때도do-while(1)
형태로 사용할 수 있어요.
break와 continue와 함께 사용
break 예시
int num;
do {
printf("숫자 입력 (0 입력 시 종료): ");
scanf("%d", &num);
if (num == 0) break;
printf("입력한 수: %d
", num);
} while (1);
continue 예시
int i = 0;
do {
i++;
if (i % 2 == 0) continue;
printf("%d는 홀수입니다.
", i);
} while (i < 5);
continue
는 남은 코드 생략 후 다음 반복으로 점프!
do-while문을 쓰는 대표적인 상황
상황 | 이유 |
---|---|
사용자 입력 최소 1회 요구 | 무조건 실행 후 검사를 원함 |
로그인, 비밀번호 체크 | 입력 → 검사 반복 구조에 적합 |
메뉴 선택 반복 | 조건에 따라 탈출 가능한 무한 루프 |
파일 처리 루프 | 일단 한 번 읽고 나서 반복 판단 |
✅ do-while문 한눈에 정리
항목 | 설명 |
---|---|
실행 순서 | 실행 → 조건 검사 |
반복 조건 | 조건이 참이면 계속 반복 |
최소 실행 보장 | 무조건 한 번은 실행됨 |
제어 키워드 | break , continue 사용 가능 |
활용 예 | 사용자 입력, 메뉴, 검사 후 반복 상황 |
⚠️ do-while문 사용 시 주의할 점
주의사항 | 설명 |
---|---|
조건이 거짓이라도 1회 실행 | 의도치 않게 한 번 실행될 수 있음 |
세미콜론 ; 위치 주의 |
while (조건); ← 세미콜론 꼭 붙여야 함 |
break 없이 무한 반복 위험 | 조건 없이 반복하면 빠져나올 수 없음 |
변수 초기화 중요 | 반복 변수는 반드시 초기화하고 사용하기 |
마무리하며 💬
오늘 배운 do-while문
은
사용자의 입력을 기다리거나, 조건 확인보다 실행이 우선인 상황에 아주 강력한 도구예요!
특히 입력 → 검사 → 반복 구조를 갖는 실전 프로그램에서 자주 등장합니다.
🎯 반복문의 3대장 —
for
,while
,do-while
— 중
do-while은 가장 적게 쓰이지만, 꼭 필요한 순간엔 그 누구보다 유용한 존재랍니다!
다음 시간엔 **함수(function)**에 대해 배워보며
코드 재사용성과 구조적 프로그래밍의 묘미를 알아볼게요 😄
오늘도 끝까지 함께해 주셔서 감사합니다!
코딩은 실천하는 사람에게 열립니다 💻✨