Young & Rich

 

프로그래밍을 할 때, 동작을 반복해야하는 경우가 많습니다.

 

예를들면, 0이라는 숫자를 입력받기 전까지의 합을 모두 구하는 경우.

 

학급의 평균을 구할 때, 학생 수 만큼 더하고 반복을 해야겠죠. 이런 경우에도 사용합니다.

 

우선, C언어의 대표적인 반복문으로 for문 while문에 대해서 정리하겠습니다.

 

[ for 문 ]

 

for문의 문법을 먼저 말씀드리면, for(초기식; 조건식; 변화식:조건이 참인 경우 명령문 실행) 입니다.

 

예제를 보면서 설명을 드리겠습니다.

 

#include<stdio.h>

void main()
{
	int i;
	int sum = 0;

	for (i=1;i<=10;i++)
	{
		sum = sum + i;
	}

	printf("1부터 10까지 숫자의 합계 : %d\n", sum);
}

초기식 : i의 변수에 0을 대입

조건식 : i가 10보다 작으면(조건식이 참이면) sum = sum + i; 의 명령문을 실행합니다.

변화식 : i++ 은 i=i+1 과 같은 의미입니다. i가 1씩 증가됩니다.

 

이걸 종합하면, i 가 1부터 시작하고 10이 되기 전까지는 sum=sum+i; 의 명령문을 실행하게 되니깐,

마지막엔 1~10까지의 합이 sum 이라는 변수에 값이됩니다.

 

실행결과
실행결과

초기식에 아무것도 넣고 싶지 않다 라고 하면 for(; i<=10; i++) 이렇게 사용하셔도 됩니다.

 

 

[ while 문 ]

 

while 문은 더 간단합니다.

while(조건식)

{

    명령;

}

 

조건식이 참이면 계속 명령을 실행합니다. 위의 for문에서 한 것과 같은 프로그래밍을 while문으로 바꿔봅시다.

 

#include<stdio.h>

void main()
{
	int i = 1;
	int sum = 0;

	while(i <= 10)
	{
		sum += i;
		i++;

	}

	printf("1부터 10까지 숫자의 합계 : %d\n", sum);
}

1~10까지의 합을 구하는 프로그래밍을 while 로 구현한 예제입니다.

 

for 문과 while문은 같은 효과를 내지만, 언제 무슨 반복을 할꺼냐에 따라서 무엇을 사용할지 다릅니다.

 

그렇다고 for문을 사용해야 한다. wihle문을 사용해야 한다. 라는 정답은 없죠.

(보통 배열을 같이 묶어서 사용할 때, for문을 많이 사용하는데 이건 뒤에서 다시 언급하겠습니다.)

 

[ do~while문 ]

 

먼저, do~while 문 문법입니다.

do

{

} while(조건문);

 

while문과의 다른점은 while문은 무조건 조건식이 참인경우를 먼저 확인하고 while문 안의 문장을 실행하게 됩니다.

do~while문은 일단 do 안에 있는 명령들을 한 번 실행하고 while문의 조건식이 참인지 확인한 뒤, 다시 do 안의 명령을 실행하게 됩니다.

 

do~while문의 핵심은 일단 조건 상관없이 do 를 먼저 확인한다는 것이죠 !!

 

#include<stdio.h>

void main()
{
	do
	{
		printf("일단 한 번 실행하고 본다!\n");

	} while( 0 );
}

while문안의 조건식이 무조건 0(거짓) 인데도 일단 do 문을 실행합니다.

 

실행결과
실행결과

 

반복문은 배열과도 연계해서 많이 쓰고, 특정 명령을 조건에 맞을 때까지 반복될 때 사용합니다.

수학적 알고리즘을 프로그래밍으로 구현할 때 많이 사용하기도 합니다.
( 오차률이 0.1 이 될때까지, 식을 반복해서 계속 명령을 실행해야 되는 경우가 있겟죠?)

 

반복문은 그럼 여기서 마치겠습니다.

 

그럼 20000.

 

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band