while문 기본 구조
while 반복문은 '종결 조건'이 거짓이 될 때까지 명령문을 반복한다.
for과 마찬가지로 단일 문장과 복합 문장을 사용할 수 있다.
while 반복문의 형식을 보면, '종결 조건'만 보인다. 이것은 '시작 조건'과 '조건 변화 수식'을 전혀 사용할 수 없다는 뜻이 아니라, 사용하고 싶은 위치나 작업 순서에 맞게 적절하게 배치 가능하다는 뜻이다.
다음 예제를 보자.
#include <stdio.h>
int main()
{
int sum = 0;
int num = 1; //시작조건
while (num <= 5) //종결조건
{
printf("num(%d) + sum(%d)= ", num, sum);
sum = sum + num;
printf("%d\n", sum); //num + sum = 1 << 이 부분을 의미.
num++; //조건 변화 수식
}
printf("\n result : num = %d sum = %d\n", num, sum);
}
<결과>
while문 무한루프 만들기.
do while문
do~while문의 장점은 '종결 조건'이 거짓인 상황에도 명령문을 한 번은 수행하고 종료할 수 있다.
앞서 한 예제를 do~while문으로 바꿔보자.
#include <stdio.h>
int main()
{
int sum = 0;
int num = 1; // 시작조건
do
{
printf("num(%d) + sum(%d) = ", num, sum); //합산하기 전, sum값을 이용하여, "num + sum = " " 이라고 출력한다.
sum = sum + num;
printf("%d\n", sum);
num++; //조건 변화 수식
} while (num <= 5); // 종결 조건
printf("\n Result : num = %d sum = %d\n", num, sum);
}
<결과>
<출처 : DO IT C언어 - 김성엽>