이번에는 반복문 중 하나인 for 문에 대해 알아보도록 하겠습니다.







1. for 문 이란?


첫 번 째 주제에서처럼 for 문도 다른 반복문인 while, do~while문 처럼 반복을 위해 사용되는 문장입니다.


while, do~while 문. 이 두 가지 했으면 충분한 것 같은데 굳이 또 다른 반복문을 할 필요가 있을까? 라는 궁금증이 생기실 수 있습니다.


이에 대한 것은 다음의 예제를 먼저 본 후 진행 하도록 하겠습니다.



예제를 보면서 이렇게 생각할 수 있습니다.


main이라는 함수를 선언 해주고, 4 bytes 크기의 int 형 변수인 count를 선언하면서 동시에 0으로 초기화를 해줬구나.


반복문 중 하나인 while 문을 선언 했는데 조건은 count 가 10이 되기 전까지 while문을 실행 해주는구나.


반복을 실행하는 문장은 어떤 기능일까? -----> "비교를 위한 예제입니다." 라는 문장을 출력하는 구나.


몇 번 출력하는 걸까? ----------> count++; 이라는 문장이 있다면 총 10번의 printf 기능을 하고 반복문인 while 문이 종료가 되겠구나.


while 문이 종료되고나면 return 0; 문장으로 인해서 프로그램이 종료가 되겠구나.


이처럼 어떠한 기능을 '반복'하고 싶고, '몇 번 반복'하고, '반복 조건을 충족시킬 문장'은 어떤 것인지 한 번에 보는 것이 힘듭니다.(번거로워요...)


이렇듯 일반적인 while, do~while 문은 익숙해진다 해도 한 번에 알아 보기에는 약간 무리가 있습니다.


따라서 반복 횟수, 반복 조건 등을 한 번에 알아 볼 수 있도록 해주는 문장이 'for 문' 입니다.








2. for 문의 구조와 이해


for 문의 구조는 다음과 같은 필수 요소 들로 이루어져 있습니다.


필수요소 

기능

                                          초기식

  반복을 위한 변수의 선언 

                                          조건식 

  반복의 조건 검사

                                          증감식 

  반복의 조건을 '거짓' 으로 만들기 위한 연산


물론 위의 요소들이 while, do~while 문 에서도 사용이 되는 요소 들입니다.



예제에서 보시는 것처럼 while, do~while 문에도 필요한 요소들입니다.


하지만 for 문의 경우 초기식, 조건식, 증감식을 한 줄에 표현 할 수 있습니다.



예제에서 알 수 있듯이 반복을 실행할 문장을 '몇 번 반복하고, 반복 조건을 만족 시키는 증가 및 감소식, 반복 조건 및 증가, 감소에 사용되는 변수의 초기화'를 한 줄에 작성하여 알아 보기 편하도록 되어 있는 것을 확인 하실 수 있습니다.


이렇듯 코드를 간결화 하고, 가독성을 좋게 해주기 때문에 for 문을 사용하게 됩니다.


다시 한 번 for 문의 구조를 정리해 보면 다음과 같습니다.


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

{

// 반복의 대상이 되는 문장들

}


이러한 형식으로 for 문을 사용해주시면 됩니다.


그런데 바로 위의 예제에서 for 문을 2개 사용 했는데 왜 그런거지? 라는 궁금증을 가지시는 분들도 계실거고, 대략 눈치를 채신 분들도 계실겁니다.


for 문 이후에 if 문 에서도 나오는 내용이지만 for 문에서 반복할 문장이 1줄일 경우, 중괄호 { } 의 생략이 가능합니다.

* 하지만 반복할 문장의 마지막에 세미콜론 ; 을 반드시 작성하셔야 됩니다.


for 문이 작동하는 순서에 대해 알아보도록 하겠습니다.


for 문이 작동하는 순서는 다음과 같습니다.


1) 초기식 ==> int count=0 에 해당하는 초기화는 반복문이 시작하기 전 '1회' 만 실행합니다.

2) 조건식 ==> count < 10 에 해당하는 조건의 검사는 반복문의 시작에 앞서 진행하고, 반복 영역을 실행하기 전에 항상 확인 합니다.

3) 증감식 ==> count++ 에 해당하는 증감연산은 반복영역을 실행한 후에 진행합니다.


이렇듯 더욱 간단히 순서를 나열해 보면,


(1) 초기식 ==> (2) 조건식 ==> (3) 반복영역 실행! ==> (4) 증감식 ==> (2) ==> (3) ==> (4) ==> (2) 조건식이 '거짓' 이 될 경우  종료!


위와 같은 순서로 for 문이 작동하는 것을 알아 보았습니다.


실제로 편하고(개인 적인 생각입니다.), 가독성이 좋고, 코드의 간결화도 할 수 있는 for 문을 주로 사용합니다.








이것으로 반복문 중 하나인 for 문에 대하여 간단하게 알아 보았습니다.


다음에는 for 문의 중첩과 for 문 중첩 예제, 반복문들을 다양하게 중첩시켜서 사용하는 예제와 for 문 구조의 생략 가능한 부분, for 문의 무한 루프에 대해서 글을 올리도록 하겠습니다.












'프로그래밍 언어 > C' 카테고리의 다른 글

C 언어 반복문의 중첩  (0) 2017.01.15
C언어 반복문 - for문 (2)  (0) 2017.01.15
C언어 반복문 - do~while문  (0) 2017.01.09
C언어 반복문 - while문(2)  (0) 2017.01.02
C언어 반복문 - while문(1)  (0) 2017.01.02

+ Recent posts