본문 바로가기
IT/C

C언어 반복문

by -_-* 2021. 1. 11.
반응형

안녕하세요. 이미보라입니다. 

지난 포스트에서 우리는 C언어 제어문에 대해서 알아보았습니다. 

 

C언어 반복문

오늘은 C언어에서 지원하는 반복문에 대해서 살펴보도록 하겠습니다. 

 

반복문이란, 한줄 이상의 코드가 반복 실행이 필요한 경우, 사용할 수 있는 명령문입니다. C언어에서는 for문, while문 do-while문 세가지의 반복문을 지원합니다. 

 

 for문

for ( 초기식 ; 조건식 ; 증감식 )
{
    수행하고자 하는 명령 ; 

for문의 형식은 다음과 같은 형태로 작성해주시면 됩니다.

for문은 조건식의 결과가 참일 동안에 아래의  중괄호 { } 속의 명령들을 반복하려고 하는 횟수만큼 반복해서 수행할 수 있습니다. 초기식에서 반복하는데 사용하는 index 변수의 값을 초기화 해주고, 증감식에서 for문에 의해 반복될 때 사용되는 index 변수의 값을 변화시켜 반복문의 실행 횟수를 제어합니다. 

 

위의 for문 형식에서 초기식, 조건식, 증감식은 필수 사항이 아니며 필요에 따라 생략이 가능합니다. 

 

 

for문 예제 코드 

#include <stdio.h>

int main(void) {
	
	
	int index, sum; 
	
	for (index = 1, sum= 0 ; index <=5 ; index++)
	{
		sum += index; 
	}
	
	printf ("total : %d\n" , sum); 
	return 0;
}

 

for문을 사용하여 1에서 5까지 더하는 예제 코드입니다.

 

정수형으로 index라는 변수와 sum이라는 변수를 선언했습니다. 

index는 1에서 5까지 증가하는 수를 나타낼 변수이고 sum은 수의 더한 값을 저장하는 변수입니다. 

 

따라서 index는 1부터 시작하므로 for문의 초기식에서 index는 1로, 각 수를 더한 합을 나타나는 sum은 0으로 초기화해주었습니다. 

 

그리고 for문에 의해 반복수행을 시작하는데, 조건식인 index의 값이 5와 같거나 작은지 확인합니다. 

현재 index의 값은 1이므로 for문의 중괄호 { } 안의 sum += index; 를 수행합니다. 

 

수행을 마친 후 for문의 증감식에 의해 index ++ 문장을 만나 index는 2가 됩니다. 

 

위의 과정을 index가 5일때까지 반복수행하여 sum의 변수에는 index의 값 1, 2, 3, 4, 5 로 변하여 모두 저장됩니다. 

index가 6이 되면 더이상 for문의 조건식의 값이 참이 아니므로 반복문을 종료하고 결과를 출력합니다. 

 

 

while문 

while문의 형식은 다음과 같은 형태로 작성해주시면 됩니다.

while (조건식) 
{
    수행하고자 하는 명령 ; 
}

조건식의 결과가 참이면 while문 아래의 중괄호 { } 속의 명령들을 반복 수행합니다. 조건식의 결과가 거짓이라면 반복을 중단합니다. 

 

 

while문 예제 코드 

#include <stdio.h>

int main(void) {
	
	
	int index= 1, sum = 0; 
	
	while (index <6)
	{
		
		sum +=index; 
		index++; 
	}
	
	printf ("total : %d\n" , sum); 
	return 0;
}

 

앞에서 살펴본 1에서 5까지의 자연수를 더하는 프로그램을 while문으로 작성해보았습니다. 

초기식을 변수 선언과 동시에 index =1 , sum =0으로 초기화 해줬습니다. 

그리고 while문의 조건식에서 index가 6보다 작다가 참일 경우로 설정했습니다. 

sum의 변수에 index값을 더하여 저장하고 index++; 문장에 의해 index의 값이 증가됩니다. 

 

for문과 while문은 동일한 기능을 하나 초기식과 증감값을 제어하는 부분이 다른 위치에 기술되므로 비교하여 보시면 좋을 것 같습니다. 

 

 

 

do-while문

do-while문의 형식은 다음과 같은 형태로 작성해주시면 됩니다.

do 
{

수행하고자 하는 명령 ; 


}while(조건식);

for문과 while문과의 가장 큰 차이점은 do-while문의 경우 무조건 1회 이상 수행하는 반복문이라는 점입니다. 

조건식이 참 일동안 중괄호 { } 속의 명령들을 반복 수행합니다. do-while문의 경우, 조건식 뒤의 세미콜론 ; 을 반드시 작성해줘야 문법적 오류가 발생하지 않습니다. 

 

do-while문 예제 코드 

#include <stdio.h>

int main(void) {
	
	
	int index= 1, sum = 0; 
	
	do
	{
		sum+= index; 
		index++;
	}while (index < 6); 
	

	printf ("total : %d\n" , sum); 
	return 0;
}

 

앞에서 살펴본 1에서 5까지의 자연수를 더하는 프로그램을 do- while문으로 작성해보았습니다.

초기식을 변수 선언과 동시에 index =1 , sum =0으로 초기화해줬습니다. 

그리고 do 아래 중괄호 {} 사이의 명령문이 무조건 1회 실행됩니다. 

sum 변수에 index의 값을 더하여 저장합니다. 그리고 index의 값을 1 증가합니다.

수행하고 하는 문장을 모두 실행 후 do-while문의 조건식의 참 거짓 판별을 합니다.

 

while문과 동일하게 반복문을 수행하나, 수행되어야 하는 코드를 무조건 1회 수행한다는 점이 큰 차이점입니다. 

 

 

중첩 반복문

중첩 반복문 형식은 다음과 같은 형태로 작성해주시면 됩니다.

for (초기식; 조건식; 증감식) 
{

      //수행하고자 하는 명령1 ; 

  
  for (초기식2 ; 조건식2 ; 증감식2) 

    {
       //수행하고자 하는 명령2 ; 
    }
     //수행하고자 하는 명령3 ; 

for문의 중첩 반복문 구문입니다. 예를 들어 바깥을 감싸고 있는 for문이 실행 횟수가 3회이고, 내부의 for문이 2회 실행되는 반복문의 경우 수행하고자 하는 명령1과 명령3의 경우 실행횟수는 3회이고, 수행하고자 하는 명령2는 6번 반복됩니다. 필요에 따라 수행하고 하는 명령의 위치를 결정하여 사용하면 됩니다. 

for (초기식; 조건식; 증감식) 
{
   //수행하고자 하는 명령1 ; 

 while (조건식2) 
    {
       //수행하고자 하는 명령2 ; 

    }
 //수행하고자 하는 명령3 ; 

for문과 while문으로 구현한 중첩 반복문 구문입니다. 예를 들어 바깥을 감싸고 있는 for문이 실행 횟수가 3회이고, 내부의 while문이 4회 실행되는 반복문의 경우 수행하고자 하는 명령1과 명령3의 경우 실행 횟수는 3회이고, 수행하고자 하는 명령2는 12번 반복됩니다. 필요에 따라 수행하고 하는 명령의 위치를 결정하여 사용하면 됩니다. 

 

 

우리는 오늘 C언어에서 명령문의 반복을 제어하는 반복문에 대해서 알아보았습니다. C언어 반복문에는 for문, while문, do-while문이 있었으며, 반복문을 중첩하여 사용할 수 있음을 알게 되었습니다. 

다음 포스트에서는 분기분들에 대해 살펴보도록 하겠습니다. 

 

반응형

'IT > C' 카테고리의 다른 글

c언어 배열  (0) 2021.01.13
C언어 분기문 break /continue /goto / return  (0) 2021.01.12
C언어 조건문  (0) 2021.01.10
C언어 연산자2  (0) 2021.01.02
C언어 연산자 1  (0) 2021.01.01

댓글