어떤 코드를 반복해서 실행하고 싶을 때?
프로그래밍에서는 어떤 작업을 여러 번 반복해야 할 때가 많습니다.
예를 들어 “1부터 10까지 출력하기”, “정답을 맞출 때까지 계속 입력받기” 같은 상황처럼요.
이런 반복 작업을 위해 사용하는 것이 바로 반복문(Loop)이고, 그 중 가장 기본적인 반복문이 while문입니다.
● while문이란?
while문은 조건이 참인 동안 코드 블록을 반복 실행하는 반복문입니다.
while (조건식) {
// 조건이 참일 때 반복 실행할 코드
}
- 조건이 참이면 내부 코드를 실행하고,
- 조건이 거짓이 되면 반복을 멈춥니다.
● 기본 예제: 1부터 5까지 출력
int i = 1;
while (i <= 5) {
printf("%d\n", i);
i++;
}
출력 결과:
1
2
3
4
5
● while문 흐름
1. 조건식 검사
2. 참이면 블록 실행
3. 다시 조건식 검사
4. 거짓이 되면 종료
※ 조건식이 처음부터 거짓이면 한 번도 실행되지 않습니다.
● 무한 반복 주의
int i = 1;
while (1) {
printf("무한 반복 중...\n");
}
조건이 항상 참이면 반복은 끝나지 않습니다.
또는 아래처럼 i++을 빼먹어도 무한 반복에 빠질 수 있습니다.
※ 프로그램이 멈추지 않으면 Ctrl + C로 강제 종료하세요.
● 사용자 입력을 받을 때도 자주 사용
int input;
while (1) {
printf("0을 입력하면 종료: ");
scanf("%d", &input);
if (input == 0)
break;
}
- break를 사용하면 반복 중간에 빠져나올 수 있습니다.
● while vs for
구분 | while문 | for문 |
---|---|---|
사용 상황 | 반복 횟수를 알 수 없을 때 | 반복 횟수가 정해져 있을 때 |
구조 | 조건만 존재 | 초기값, 조건, 증감 포함 |
유연성 | 더 자유롭지만 실수 가능성 있음 | 명확하고 깔끔함 |
while문은 가장 기본적인 반복문으로, 조건만으로 반복을 제어할 수 있어 유연하게 사용할 수 있습니다.
단, 조건을 잘못 설정하거나 증감문을 빠뜨리면 무한 루프에 빠질 수 있으니 주의가 필요합니다.
코드 실행 순서를 정확히 이해하고,
조건 → 실행 → 조건 → 종료 구조를 꼭 기억해두세요.
이제 실습 문제를 통해 while문을 직접 사용해보며 익혀보세요!
● 실습 문제
문제 1
1부터 5까지의 숫자를 while문을 사용하여 한 줄씩 출력하세요.
문제 2
변수 i = 10부터 시작하여 1씩 감소시키면서 i가 1보다 크거나 같을 동안만 출력되도록 하세요.
문제 3
사용자로부터 숫자를 입력받아, 0을 입력할 때까지 계속해서 출력하는 프로그램을 작성하세요.
(0이 입력되면 "종료합니다."를 출력하고 종료)
문제 4
while문을 사용하여 1부터 100까지의 숫자 중 짝수만 출력하세요.
문제 5
다음 코드의 출력 결과는 무엇인가요?
int i = 1;
while (i < 4) {
printf("%d\n", i);
i++;
}
▶ 정답 확인하기
정답 1
int i = 1;
while (i <= 5) {
printf("%d\n", i);
i++;
}
정답 2
int i = 10;
while (i >= 1) {
printf("%d\n", i);
i--;
}
정답 3
int num;
while (1) {
printf("숫자 입력 (0 입력 시 종료): ");
scanf("%d", &num);
if (num == 0) {
printf("종료합니다.\n");
break;
}
printf("입력한 숫자: %d\n", num);
}
정답 4
int i = 1;
while (i <= 100) {
if (i % 2 == 0) {
printf("%d\n", i);
}
i++;
}
정답 5
출력 결과:
1
2
3
'프로그래밍언어 > C언어[초급]' 카테고리의 다른 글
[C언어][초급] Chapter29. for문 반복문 기초 – 횟수가 정해진 반복 구조 쉽게 익히기 (0) | 2025.04.17 |
---|---|
[C언어][초급] Chapter28. do while문 기본 구조 – 조건보다 실행이 먼저 되는 반복문 (0) | 2025.04.17 |
[C언어][초급] Chapter26. 조건문 – switch 문 사용법과 특징 (0) | 2025.04.17 |
[C언어][초급] Chapter25. 조건문 – else if 사용법과 순차 조건 분기 구조 (0) | 2025.04.17 |
[C언어][초급] Chapter24. 조건문 – 중첩 if문 사용법과 주의할 점 (0) | 2025.04.17 |