Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

for 루프 반복의 다른 변형은 무엇입니까?

<시간/>

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++);