온도 변환 프로그램을 반복계산 하기 위해서 while 문을 사용하였다 이것을 for 문을 써서 다시 다음과 같이 프로그램을 바꿀 수 있다 결과는 물론 앞의 것과 동일하다


#include <stdio.h>


int main(void)

{

    /* print Fahrenheit-Celsius table */

    int fahr;

    

    for(fahr=0;fahr<=300;fahr = fahr + 20)

        printf("%3d %6.1f\n",fahr,(5.0/9.0) * (fahr-32));

}


길이도 많이 짧아 졌고 변수도 fahr만 남았다 원래 프로그램의 남아있던 lower,upper,step등의 상수는 모두 for문 속에 숫자로 들어갔다. 계산하는 부분도 printf 속에 들어가 버렸다 C에서는 어떤 변수가 있어야 될 자리에 수식이 들어가도 상관 없지만 그 형(type)은 맞아야 한다. 위의 예에서 수식의 출력 양식은 %6.1f의 실수형이고 계산도 실수 계산이르모 상관 없다.


for 문도 while 문과 마찬가지로 반복수행을 시키는 명령어이다. 경우에 따라 편리한것을 사용하면 된다. for 바로 뒤에 세미콜론에 의해 세부분으로 나누어져있다.


첫부분


fahr = 0


은 루프의 내용이 실행되기 전에 한번만 실행 된다


두번째부분


fahr <= 300


은 조건을 나타내는 것으로서 이 조건이 만족되면 루프의 몸체 부분이 실행된다.


그리고 마지막부분


fahr = fahr +20;


이 실행되고 다시 두번째 부분의 조건이 맞는지 검사한다 만족되면 다시 실행되고.. 이렇게 해서 루프가 300이하인 동안 반복해서 수행된다. while 에서와 마찬가지로 랙 의 루프의 몸체도 하나의 문장일 수도 있고 중괄호호 묶인 문장들일 수도 있다. for 문을 써서 프로그램이 많이 짧아진것도 한가지 주목할 만한 일이다


예제 1-5 위의 프로그램에서는 화씨 온도가 0일때부터 300일 떄까지를 계산했다. 300도에서 0도까지를 계산 하는 프로그램을 작성해 보라. 즉 온도변화표를 역순으로 만들어 보라.