Programming/C Basic

7. C 언어 반복문 - for

양디 2016. 1. 18. 11:09

반복문 ?

컴퓨터가 사람과 다른 점은, 같은 일을 계속해서 수백만번 시켜도 지루해하지 않는다는 점과 실수를 하지 않는다는 점입니다.


따라서 우리는 우리가 반복해서 하기 싫은 일들을 컴퓨터에게 반복하도록 시킬 수 있습니다.


그러기 위해서 사용되는 것이 반복문이며, for 반복문과 while (do/while) 반복문이 있습니다.


오늘은 for 반복문을 간단하게 배워봅시다.


for 반복문

for 반복문은 다음과 같은 문법으로 사용됩니다.


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

실행문

}


위에서 초기식은 for문을 처음 시작할 때 한번만 실행되는 코드입니다.


조건식 은 조건식 내부의 조건이 true라면 실행문을 실행해라 ! 라는 뜻입니다.


증감식 은 조건식의 변수를 증가 혹은 감소 시키며 조건식에 의해 반복문이 끝나게 만드는 역할을 합니다.


1
2
3
for(int i = 0 ; i < 5 ; i++){
    printf(" %d", i);
}
cs

위의 반복문을 보자면, 변수 i를 0으로 초기화시키고 i가 5보다 작다면 printf("i ")를 실행합니다.


실행문을 실행한 후에는 증감식의 i++ 을 실행합니다. 따라서 i가 0에서 1로 증가가 되겠죠.


그러다가 5번 반복하면 i는 5가 됩니다. 따라서 조건식에 false가 되므로 반복문이 종료되게 됩니다.


프로그램이 실행하는 순서는,


for문을 만나면


초기식 -> 조건식 -> 실행문 -> 증감식 -> 조건식 -> 실행문 -> 증감식 .............


이게 조건식이 false가 될때까지 계속 반복하게 됩니다.



무한 루프

무한 루프란 말을 들어보셨을겁니다.


계속해서 반복되는 반복문을 무한루프라고 합니다.


for문의 경우에는, for( ; ; ){  } 와 같이 for 내부의 증감식, 초기식, 조건식 등을 비워두면 간단하게 무한 반복을 시킬 수 있습니다.


이 경우에 계속 저 장소에서 블락 되어있으므로, 이를 풀기 위해서는 조건문을 통해서 break 를 사용해 주면 됩니다.


break는 switch에서도 나왔었는데, 반복문에서는 가장 가까운 반복문을 탈출한다 / 라는 용도로 사용됩니다.



반복문 중첩 (Nested Loop)

반복문은 중첩해서 사용되는 일이 매우 많습니다. 


1
2
3
4
5
for(int i = 0 ; i < 5 ; i++){
    for(int j = 0; j < 5 ; j++){
        printf("i = %d, j = %d\n",i,j);
    }
}
cs


이런 식으로 중첩해서 사용하는 것도 가능합니다.


이해가 되셨다면, 구구단 13단을 출력하는 간단한 코딩을 해보세요 !




댓글