while문 설명
- 형식:
while(조건)
{
반복 수행할 문장;
}
- 의미:
while문은 "조건이 참인 동안" 반복 실행하는 반복문이다.
조건이 처음부터 거짓이면 한 번도 실행되지 않는다. - 중요한 특징:
- 조건을 먼저 검사한다.
- 조건이 거짓이면 처음부터 실행 안 됨.
- 초기값, 조건, 증감은 직접 작성해야 함.
int i = 1, sum = 0;
while(i <= 100)
{
sum += i;
i++;
}
- i가 1부터 100까지 올라가면서 그 값을 계속 sum에 더한다.
- i가 101이 되는 순간 조건 i <= 100이 거짓이 되므로 while문 종료.
- 결과적으로 1 + 2 + ... + 100 = 5050을 sum에 저장하게 됨.
do~while문 설명
- 형식:
do
{
반복 수행할 문장;
}
while(조건);
- 의미:
do~while문은 "일단 한 번 실행하고 나서" 조건을 검사하는 반복문이다. - 차이점:
- 조건이 거짓이어도 최소 한 번은 무조건 실행됨
- while 뒤에 반드시 세미콜론(;)을 붙여야 함 ← 중요!
int i = 1, sum = 0;
do
{
sum += i;
i++;
}
while(i <= 100);
- 실행 흐름:
- sum += i 실행 (i = 1)
- i++ → i = 2
- i <= 100 조건 검사 → 참이면 반복
- ... 계속 반복하다가 i = 101이면 종료
- 이 코드도 결국 1~100 합 = 5050 출력
while vs do~while 차이 정리표
조건 검사 시점 | 실행 전 | 실행 후 |
조건이 처음부터 거짓이면 | 실행 0번 | 무조건 1번 실행 |
세미콜론 필요 여부 | 없음 | while(조건);에서 필요 |
예제 비교: 조건이 거짓일 때
while문
int i = 101;
while(i <= 100)
{
printf("%d\n", i);
}
→ 출력 없음 (조건 거짓 → 실행 안 됨)
do~while문
int i = 101;
do
{
printf("%d\n", i);
}
while(i <= 100);
→ 출력: 101 (일단 한 번 실행하고 조건 검사)
언제 어떤 반복문을 쓰는 게 좋을까?
반복 횟수가 정해져 있음 (ex. 10번 반복) | for문 | 초기화/조건/증감 한 줄에 깔끔 |
반복 조건이 정해지지 않음 (ex. 사용자 입력받기) | while문 | 조건을 외부에서 제어하기 쉬움 |
최소 한 번은 실행해야 하는 경우 (ex. 메뉴 보여주기) | do~while문 | 조건이 나중에 검사되기 때문 |
'C' 카테고리의 다른 글
난수 생성 (0) | 2025.06.12 |
---|---|
입출력 함수와 버퍼 (0) | 2025.06.12 |
제어문 - for / 이중for문 (0) | 2025.06.12 |
제어문 - if / switch문 (0) | 2025.06.11 |
이동 연산자 (0) | 2025.06.11 |