프로그래머들이 사랑하는 for 문이다.
처음 봤을 때는 복잡하고 번거롭게 느끼지만 원리를 깨달는 순간부터 매일 사용하게 된다.
for문은 물과 같은 존재이다.
for문의 특징은
- 반복 작업을 위한 세가지 조건이 명확하다. 반복의 3요소라고 한다.
1) 초기화 : 시작
2) 조건식 (참/거짓)으로 분기
3) 조건변화: 증감연산자
for(int i=0; i < 10; i++){}
for(int i=0; // 초기화
i < 10; // 조건식
i++){} // 조건변화
for문을 한줄 읽는 것만으로도 몇번 어떻게 반복될 것인지가 분명하다. 몇번 무슨일을 수행하는 것은 모두 for 가 담당한다. 구글의 golang 언어는 아예 반복문은 for만 있을 정도로 for로 모든 반복을 다 할 수 있다.
시작과 끝이 명확하기 때문에 머리속에서도 구현할 수 있다. 반면 무한루프를 많이하는 while 문은 형태만 봐서는 이해가 쉽지 않다.
#include <stdio.h>
void main(){
for(int i = 1; i <=100; i++){
printf("index : % 5d\n",i);
}
}
*인덱스를 출력한다.
* 다음은 for문의 전통적 예제 수열의 덧셈이다
#include <stdio.h>
void main(){
int sum = 0;
for(int i = 1; i <=100; i++){
sum += i;
}
printf("sum : %d\n",sum);
}
i를 0으로 초기화 시켜놓고 100이 될때까지 1씩 i를 증가시키면서 실행시킨다. sum에는 1부터 100까지 누산한 결과가 될 것이다.
*구구단 예제
역시 고전이다.
#include <stdio.h>
void main(){
for(int i = 2; i <= 9; i++){
for(int j = 1; j <= 9; j++){
printf(" %d x %d = %4d | ",i, j, i*j);
}
printf("\n");
}
}