for 문의 일반적인 형식은 다음과 같습니다. -
for (initialization; condition; operation) statement;
-
초기화는 루프 제어 변수를 설정하는 데 사용되는 할당문입니다.
-
조건은 루프가 종료되는 시점을 결정하는 관계식입니다.
-
연산은 루프가 반복될 때마다 루프 변수가 어떻게 변경되는지 정의합니다.
-
for 루프에서 , 조건부 테스트는 루프의 맨 위에서 수행됩니다. 이는 조건이 거짓일 때 루프 내부의 코드가 실행되지 않을 수 있음을 의미합니다.
다음 예에서와 같이 시작하려면 -
x = 10; for (y=10; y != x; ++y) printf (“ %d”, y);
변이 1
여기에는 쉼표 연산자가 포함됩니다. for 루프의 변형은 다음 예와 같이 쉼표 연산자에 의해 가능합니다 -
for(x=0, y=0; x+y < 10; ++x);
여기서 x와 y는 모두 루프를 제어합니다.
변형 2
여기에는 루프 정의의 누락된 부분이 포함됩니다. for 루프의 흥미로운 특징은 루프 정의의 일부가 필요하지 않다는 것입니다.
예를 들어,
for (x=0; x!=456; ) scanf ("%d", &x);
여기에서 루프가 반복될 때마다 x가 456인지 확인하기 위해 테스트됩니다. 루프 조건은 false가 되고 456이 입력되면 루프를 종료합니다.
변형 3
여기에는 무한 루프가 포함됩니다. 루프 정의의 모든 부분이 누락된 경우 무한 루프가 생성됩니다. break 문은 아래 주어진 예에서와 같이 루프에서 벗어나는 데 사용됩니다 -
for(;;){ ch = getchar(); if(ch == 'A') break; }
변형 4
여기에는 본문이 없는 for 루프가 포함됩니다. for 루프의 본문도 비어 있을 수 있습니다. 이렇게 하면 일부 코드의 효율성이 향상됩니다.
예를 들어,
str -
가 가리키는 스트림에서 선행 공백을 제거합시다.for ( ; *str==' '; str++) ;
루프의 또 다른 응용 프로그램은 아래에 주어진 예와 같이 빈 몸체를 가진 시간 지연입니다. -
for (t=0; t<1000; t++);