본문 바로가기
C 언어 프로그래밍/흐름제어 - 반복문

while()문

by 프밍샘 2020. 6. 16.

while문 

while(조건식)
{
	반복할 명령문;
}

 while문은 조건식이 참이면 블록{ } 안의 명령문을 실행하는 구조를 가지고 있습니다. 반복문의 세 가지 요소중 나머지인 초기식은 while문 이전에, 증감식은 블록{ }안에 적절히 만들어 사용해야 합니다. 조건식이 참이 될 때까지 반복할 명령문을 수행하고 조건식이 거짓이 되면 블록을 빠져나와 반복을 종료합니다.

 

 

 

 

1부터 10까지 출력하는 프로그램을 작성하여 for문과 비교하여 보겠습니다.

#include <stdio.h>
int main()
{
	int i=1;
	
	while(i<=10)
	{
		printf("%d\n", i);
		i++;
	}
	
	return 0;
}

 초기식은 while문 이전에 변수 i를 선언할 때 작성하였으며, while문의 ( )안에는 조건식만 위치합니다. 조건식이 만족하면 for문과 마찬가지로 블록{ }안의 명령문을 실행합니다. 블록 안에서 눈여겨 볼 것은 증감식입니다. 반복문이 성립하려면 초기조건에서 종결조건이 되도록 증감 변화식이 필요합니다. while문에서는 블록안에 위치하여 증감을 수행하는 것을 볼 수 있습니다. 출력 결과는 다음과 같습니다.

 

출력 결과

 

 

 

 

 

무한루프

무한루프란, 명령문을 무한히 반복하는 무한 반복문을 말합니다. while문은 무한루프를 필요로 하는 프로그램에 많이 이용됩니다. 다음과 같이 조건식을 1이라고 한다면 항상 참(true)이므로 명령문이 무한히 실행됩니다. 만약 무한루프를 빠져나오려면 break문을 이용하면 됩니다.

while(1)
{
	반복할 명령문;
}
더보기

0부터 1씩 증하가여 출력하는 프로그램입니다. 7이 되면 break문을 통해 반복문을 빠져나옵니다.

#include <stdio.h>
int main()
{
	int i=0;
	
	while(1)
	{
		printf("%d\n", i);
		if(i==7) break;
		i++;
	}
	
	return 0;
}

 

출력결과

 

 

 

 

 

 

 

while문 예제

 

(1단계) 예제: 1부터 10까지 출력하는 프로그램을 작성하시오.

#include <stdio.h>
int main()
{
	int i=1;
	
	while(i<=10)
	{
		printf("%d\n", i);
		i++;
	}
	
	return 0;
}

출력결과

 

 

 

(2단계) 예제: 정수를 무한 입력받는 프로그램을 작성하시오. 단, '0'이 입력되면 프로그램을 종료하시오.

#include <stdio.h>
int main()
{
	int num;
	
	while(1)
	{
		scanf("%d", &num);
		
		if(num==0) break;
	}
	
	return 0;
}

출력 결과

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'C 언어 프로그래밍 > 흐름제어 - 반복문' 카테고리의 다른 글

for()문  (4) 2020.06.16
중첩 for문  (1) 2020.06.03

댓글