반복문 ?
컴퓨터가 사람과 다른 점은, 같은 일을 계속해서 수백만번 시켜도 지루해하지 않는다는 점과 실수를 하지 않는다는 점입니다.
따라서 우리는 우리가 반복해서 하기 싫은 일들을 컴퓨터에게 반복하도록 시킬 수 있습니다.
그러기 위해서 사용되는 것이 반복문이며, 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단을 출력하는 간단한 코딩을 해보세요 !