C언어 초급 - 7장: 반복문 (7.2 do-while 문)
2025. 2. 23. 19:08ㆍ프로그래밍 언어/C
7.2 do-while 문
C 언어에서 do-while 문은 조건을 확인하기 전에 코드 블록을 최소 한 번 실행하는 반복문입니다.
즉, 일반적인 while 문과 달리, 반복 조건이 false여도 최소 1회 실행이 보장됩니다.
1. do-while 문의 개념
- while 문: 조건을 먼저 검사하고 실행 여부를 결정.
- do-while 문: 한 번 실행 후 조건을 검사 → 조건이 참(true)이면 반복 실행.
📌 while 문과의 차이점
반복문 | 실행 순서 | 최소 실행 횟수 |
while | 조건 검사 → 참이면 실행 | 0번 이상 |
do-while | 실행 → 조건 검사 → 참이면 반복 | 1번 이상 |
2. do-while 문의 기본 구조
do {
// 실행할 코드
} while (조건);
📌 while (조건); 뒤에 세미콜론(;)이 필요함!
📌 최소 한 번 실행한 후 조건을 검사하여 반복 여부 결정.
3. do-while 문 예제
3.1 최소 한 번 실행되는 반복문
아래 코드는 1부터 5까지 출력하는 프로그램입니다.
#include <stdio.h>
int main() {
int i = 1;
do {
printf("%d\n", i);
i++;
} while (i <= 5);
return 0;
}
출력 결과
1
2
3
4
5
📌 설명
- do 블록 실행 (i = 1 출력).
- i++ 실행 (i = 2).
- while (i <= 5) 조건 확인 → 참(true)이면 반복.
4. do-while 문과 while 문의 차이
4.1 조건이 처음부터 false일 경우
아래 코드를 비교해 보겠습니다.
(1) while 문
#include <stdio.h>
int main() {
int i = 10;
while (i < 5) { // 조건이 처음부터 false
printf("%d\n", i);
i++;
}
return 0;
}
출력 결과
(아무것도 출력되지 않음)
📌 while 문은 조건이 거짓(false)이면 한 번도 실행되지 않음.
(2) do-while 문
#include <stdio.h>
int main() {
int i = 10;
do {
printf("%d\n", i);
i++;
} while (i < 5);
return 0;
}
출력 결과
10
📌 설명
- do 블록을 실행(i = 10 출력) → 최소 한 번 실행.
- while (i < 5) 조건 확인 → 거짓(false).
- 반복 종료.
5. 사용자 입력을 받는 do-while 예제
5.1 올바른 값이 입력될 때까지 반복
사용자가 0~100 사이의 점수를 입력할 때까지 반복하는 프로그램입니다.
#include <stdio.h>
int main() {
int score;
do {
printf("점수를 입력하세요 (0~100): ");
scanf("%d", &score);
} while (score < 0 || score > 100);
printf("입력한 점수: %d\n", score);
return 0;
}
실행 예시
점수를 입력하세요 (0~100): 150
점수를 입력하세요 (0~100): -5
점수를 입력하세요 (0~100): 85
입력한 점수: 85
📌 설명
- 첫 번째 입력이 0~100 범위를 벗어나면 계속 입력 요청.
- do 블록을 최소 한 번 실행 후 조건 검사.
- 올바른 값(0~100)을 입력하면 반복 종료.
6. do-while 문을 활용한 비밀번호 확인 시스템
6.1 올바른 비밀번호를 입력할 때까지 반복
사용자가 1234를 입력할 때까지 반복하는 프로그램입니다.
#include <stdio.h>
int main() {
int password;
do {
printf("비밀번호를 입력하세요: ");
scanf("%d", &password);
} while (password != 1234);
printf("비밀번호가 확인되었습니다.\n");
return 0;
}
실행 예시
비밀번호를 입력하세요: 1111
비밀번호를 입력하세요: 2222
비밀번호를 입력하세요: 1234
비밀번호가 확인되었습니다.
📌 설명
- 최소 한 번 실행 후 비밀번호 검사.
- 비밀번호가 틀리면 다시 입력 요청.
- 올바른 비밀번호를 입력하면 do-while 문 종료.
7. do-while 문과 while 문 비교
반복문 | 실행 순서 | 최소 실행 횟수 | 사용 예제 |
while | 조건 검사 → 참이면 실행 | 0번 이상 | 사용자 입력 값이 유효한 경우에 실행 |
do-while | 실행 → 조건 검사 → 참이면 반복 | 1번 이상 | 사용자 입력이 필요한 경우, 메뉴 반복 |
📌 언제 do-while을 사용해야 할까?
- 사용자 입력이 최소 한 번 필요할 때 (비밀번호 입력, 메뉴 선택)
- 조건이 처음엔 false여도 한 번 실행해야 하는 경우
8. do-while 문을 활용한 간단한 메뉴 시스템
8.1 사용자가 0을 입력하면 종료되는 프로그램
#include <stdio.h>
int main() {
int choice;
do {
printf("\n===== 메뉴 =====\n");
printf("1. 게임 시작\n");
printf("2. 설정\n");
printf("3. 종료\n");
printf("메뉴를 선택하세요 (1~3, 0 입력 시 종료): ");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("게임을 시작합니다!\n");
break;
case 2:
printf("설정 화면으로 이동합니다.\n");
break;
case 3:
printf("게임을 종료합니다.\n");
break;
case 0:
printf("프로그램을 종료합니다.\n");
break;
default:
printf("잘못된 입력입니다. 다시 선택하세요.\n");
}
} while (choice != 0);
return 0;
}
실행 예시
===== 메뉴 =====
1. 게임 시작
2. 설정
3. 종료
메뉴를 선택하세요 (1~3, 0 입력 시 종료): 1
게임을 시작합니다!
===== 메뉴 =====
1. 게임 시작
2. 설정
3. 종료
메뉴를 선택하세요 (1~3, 0 입력 시 종료): 0
프로그램을 종료합니다.
📌 설명
- do-while 문을 사용하여 최소 한 번 메뉴를 표시.
- 0을 입력하면 프로그램 종료.
9. 정리
개념 | 설명 | 예제 |
do-while | 최소 한 번 실행 후 조건 검사 | do { 실행코드 } while (조건); |
최소 실행 횟수 | 1회 이상 | do { printf("Hello"); } while (0); |
일반 while과 차이 | while은 조건 검사 후 실행 | while (조건) { 실행 } |
📌 사용자가 반드시 입력해야 하는 경우 → do-while 사용
📌 조건이 처음에 false여도 실행이 필요한 경우 → do-while 사용
'프로그래밍 언어 > C' 카테고리의 다른 글
C언어 초급 - 7장: 반복문 (7.4 반복문의 제어 (break, continue)) (0) | 2025.02.23 |
---|---|
C언어 초급 - 7장: 반복문 (7.3 for 문) (0) | 2025.02.23 |
C언어 초급 - 7장: 반복문 (7.1 while 문) (0) | 2025.02.23 |
C언어 초급 - 6장: 조건문 (6.3 switch-case 문) (0) | 2025.02.23 |
C언어 초급 - 6장: 조건문 (6.2 else if 문 – 여러 가지 조건 분기) (0) | 2025.02.23 |