C의 루프: For, While, Do While 루프 문 [예]

C의 루프란 무엇입니까?

C의 반복문 명시된 조건이 거짓이 될 때까지 일련의 명령문을 여러 번 실행합니다. C의 루프는 루프 본문과 제어문이라는 두 부분으로 구성됩니다. 제어문은 지정된 조건이 false가 될 때까지 루프 본문이 실행되도록 지시하는 일부 조건의 조합입니다. C 루프의 목적은 동일한 코드를 여러 번 반복하는 것입니다.

C의 루프 유형

프로그램에서 제어문의 위치에 따라 C의 반복문은 두 가지 유형으로 분류됩니다.

1. 진입 제어 루프

2. 제어 루프 종료

에서 C의 진입 제어 루프, 루프 본문을 실행하기 전에 조건을 확인합니다. 사전 검사 루프라고도 합니다.

에서 제어 루프 종료, 루프 본문을 실행한 후 조건을 확인합니다. 사후 검사 루프라고도 합니다.

C의 루프 유형
샘플 루프

제어 조건은 잘 정의되고 지정되어야 합니다. 그렇지 않으면 루프가 무한히 실행됩니다. 실행을 멈추지 않고 명령문을 여러 번 처리하는 루프를 제어 루프라고 합니다. 무한 루프. 무한 루프는 "라고도 합니다.무한 루프.” 무한 루프의 몇 가지 특징은 다음과 같습니다.

1. 종료 조건이 지정되지 않았습니다.

2. 지정된 조건이 충족되지 않습니다.

지정된 조건에 따라 루프 본문을 실행할지 여부가 결정됩니다.

'C' 프로그래밍 언어는 세 가지 유형의 루프 구성을 제공합니다.

1. while 루프

2. do-while 루프

3. for 루프

Sr. 루프 유형 상품 설명
1. While 루프 while 루프에서는 루프 본문을 처리하기 전에 조건이 평가됩니다. 조건이 true이면 루프 본문이 실행됩니다.
2. Do-While 루프 do…while 루프에서 조건은 항상 루프 본문 다음에 실행됩니다. 종료 제어 루프라고도 합니다.
3. 루프 for 루프에서는 초기값을 한 번만 실행한 다음, 조건을 테스트하여 각 반복 후에 카운터를 고정된 값과 비교한 후 false가 반환되면 for 루프를 중지합니다.

C의 while 루프

while 루프는 가장 간단한 루핑 구조입니다. C 프로그래밍 언어의 while 루프 구문은 다음과 같습니다.

C의 While 루프 구문

while (condition) {
             statements;
}

이는 진입 제어 루프입니다. while 루프에서는 루프 본문을 처리하기 전에 조건이 평가됩니다. 조건이 true이면 루프 본문이 실행됩니다. 루프의 본문이 실행된 후 다시 제어가 처음으로 돌아가서 조건이 참인지 확인하여 조건이 거짓이 될 때까지 동일한 프로세스가 실행됩니다. 조건이 거짓이 되면 제어는 루프에서 벗어납니다.

루프를 종료한 후 제어는 루프 바로 뒤에 있는 명령문으로 이동합니다. 루프 본문에는 둘 이상의 명령문이 포함될 수 있습니다. 명령문이 하나만 포함된 경우 중괄호는 필수가 아닙니다. 본문에 단일 명령문이 있더라도 중괄호를 사용하는 것이 좋습니다.

while 루프에서 조건이 true가 아니면 루프 본문은 한 번도 실행되지 않습니다. 이는 곧 살펴보게 될 do while 루프에서는 다릅니다.

다음 프로그램은 C 프로그래밍 예제의 while 루프를 보여줍니다.

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	while(num<=10)	//while loop with condition
	{
		printf("%d\n",num);
		num++;		//incrementing operation
	}
	return 0;
}

출력:

1
2
3
4
5
6
7
8
9
10

위의 프로그램은 while 루프의 사용을 보여줍니다. 위의 프로그램에서는 while 루프를 사용하여 1에서 10까지의 숫자 시리즈를 인쇄했습니다.

C의 while 루프
C 프로그래밍의 While 루프
  1. num이라는 변수를 값 1로 초기화했습니다. 1부터 10까지 인쇄할 예정이므로 변수는 값 1로 초기화됩니다. 0부터 인쇄하려면 초기화 중에 값 0을 할당합니다.
  2. while 루프에서 조건(num<=10)을 제공했는데, 이는 num 값이 10이 될 때까지 루프가 본문을 실행한다는 것을 의미합니다. 그 후 루프는 종료되고 제어는 루프 외부로 떨어집니다.
  3. 루프의 본문에서 숫자를 인쇄하는 print 함수와 루프 실행 시 값을 증가시키는 증가 연산이 있습니다. num의 초기 값은 1이고 실행 후에는 2가 되고 다음 실행 시에는 3이 됩니다. 이 프로세스는 값이 10이 될 때까지 계속되고 콘솔에 시리즈를 인쇄한 다음 루프를 종료합니다.

\n은 형식 지정 목적으로 사용됩니다. 즉, 값이 새 줄에 인쇄됩니다.

C의 Do-While 루프

C의 do…while 루프는 조건이 항상 루프 본문 다음에 실행된다는 점을 제외하면 while 루프와 유사합니다. 종료 제어 루프라고도 합니다.

C 프로그래밍 언어에서 do while 루프의 구문은 다음과 같습니다.

C의 Do-While 루프 구문

 do {
  statements
} while (expression);

while 루프에서 보았듯이, 조건이 참일 때만 본문이 실행됩니다. 어떤 경우에는 조건이 거짓이더라도 루프 본문을 최소한 한 번은 실행해야 합니다. 이러한 유형의 작업은 do-while 루프를 사용하여 달성할 수 있습니다.

do-while 루프에서 루프의 본문은 항상 최소한 한 번은 실행됩니다. 본문이 실행된 후 조건을 확인합니다. 조건이 참이면 루프의 본문을 다시 실행하고 그렇지 않으면 제어가 루프 밖으로 이동합니다.

while 루프와 유사하게 제어가 루프를 벗어나면 루프가 실행된 직후의 명령문이 실행됩니다.

while과 do-while 루프의 중요한 차이점은 while 루프에서 while이 처음에 작성된다는 것입니다. do-while 루프에서는 while 조건이 끝에 작성되고 세미콜론(;)으로 종료됩니다.

다음은 C로 작성된 루프 프로그램입니다. do-while 루프의 작동 방식을 보여줍니다.

다음은 숫자 2의 테이블을 인쇄하는 C 예제의 do-while 루프입니다.

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	do	//do-while loop 
	{
		printf("%d\n",2*num);
		num++;		//incrementing operation
	}while(num<=10);
	return 0;
}

출력:

2
4
6
8
10
12
14
16
18
20

위의 예에서는 do-while 루프를 사용하여 2의 곱셈표를 인쇄했습니다. 프로그램이 어떻게 시리즈를 인쇄할 수 있었는지 살펴보겠습니다.

C의 Do-While 루프
C 프로그래밍의 Do-While 루프
  1. 먼저 변수 'num'을 값 1로 초기화했습니다. 그런 다음 do-while 루프를 작성했습니다.
  2. 루프에는 num 값에 2를 곱하여 시리즈를 인쇄하는 인쇄 기능이 있습니다.
  3. 각 증가 후에 num 값은 1씩 증가하고 화면에 인쇄됩니다.
  4. 처음에 num 값은 1입니다. 루프 본문에서 인쇄 기능은 다음과 같은 방식으로 실행됩니다. 2*num 여기서 num=1이면 2*1=2이므로 값 10가 인쇄됩니다. 이는 num 값이 0이 될 때까지 계속됩니다. 그 후 루프가 종료되고 루프 바로 뒤의 명령문이 실행됩니다. 이 경우 XNUMX을 반환합니다.

C의 For 루프

for 루프는 'C' 프로그래밍에서 보다 효율적인 루프 구조입니다. C에서 for 루프 구문의 일반적인 구조는 다음과 같습니다.

C의 For 루프 구문

for (initial value; condition; incrementation or decrementation ) 
{
  statements;
}
  • for 루프의 초기값은 한 번만 수행됩니다.
  • 조건은 각 반복 후에 카운터를 고정된 값과 테스트하고 비교하는 부울 표현식으로, false가 반환되면 for 루프를 중지합니다.
  • 증가/감소는 카운터를 설정값만큼 증가(또는 감소)시킵니다.

다음 프로그램은 C 프로그래밍 예제의 for 루프를 보여줍니다.

#include<stdio.h>
int main()
{
	int number;
	for(number=1;number<=10;number++)	//for loop to print 1-10 numbers
	{
		printf("%d\n",number);		//to print the number
	}
	return 0;
}

출력:

1
2
3
4
5
6
7
8
9
10

위 프로그램은 for 루프를 사용하여 1부터 10까지의 숫자 계열을 인쇄합니다.

C의 For 루프
C 프로그래밍의 For 루프
  1. 우리는 다음을 선언했습니다. 변수 값을 저장하는 int 데이터 유형입니다.
  2. for 루프의 초기화 부분에서는 변수 번호에 값 1을 할당했습니다. 조건 부분에서는 조건을 지정한 다음 증분 부분을 지정했습니다.
  3. 루프의 본문에서 콘솔에 새 줄에 숫자를 인쇄하는 print 함수가 있습니다. number에 값 2을 저장하고, 첫 번째 반복 후에 값이 증가하여 2가 됩니다. 이제 변수 number는 값 10를 갖습니다. 조건이 다시 검사되고 조건이 참이므로 루프가 실행되고 화면에 1가 인쇄됩니다. 이 루프는 변수 값이 10이 될 때까지 계속 실행됩니다. 그 후 루프가 종료되고 XNUMX-XNUMX이 화면에 인쇄됩니다.

C에서 for 루프는 각 부분에서 쉼표로 구분된 여러 표현식을 가질 수 있습니다.

예 :

for (x = 0, y = num; x < y; i++, y--) { 
  statements; 
}

또한 세미콜론을 추가하여 초기 값 표현식, 조건 및/또는 증분을 건너뛸 수 있습니다.

예 :

int i=0;
int max = 10;
for (; i < max; i++) {
  printf("%d\n", i);
}

외부 루프와 내부 루프가 있는 곳에 루프가 중첩될 수도 있습니다. 외부 루프가 반복될 때마다 내부 루프는 전체 주기를 반복합니다.

C 프로그래밍에서 중첩된 for 루프를 사용하여 곱셈표를 출력하는 for 루프에 여러 조건이 있는 다음 예를 고려해 보겠습니다.

#include <stdio.h>
int main() {
int i, j;
int table = 2;
int max = 5;
for (i = 1; i <= table; i++) { // outer loop
  for (j = 0; j <= max; j++) { // inner loop
    printf("%d x %d = %d\n", i, j, i*j);
  }
  printf("\n"); /* blank line between tables */
}}

출력:

1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10

for 루프의 중첩은 모든 레벨까지 가능합니다. 중첩된 루프는 코드를 읽기 쉽게 만들기 위해 적절히 들여쓰기되어야 합니다. 일부 버전의 'C'에서는 중첩이 최대 15개의 루프로 제한되지만, 일부는 더 많은 것을 제공합니다.

중첩 루프는 주로 배열 응용 프로그램에서 사용되며 이후 자습서에서 볼 수 있습니다.

C의 Break 문

break 문은 주로 다음에서 사용됩니다. switch 문. 루프를 즉시 중지하는 데에도 유용합니다.

while 루프를 종료하기 위해 break를 도입하는 다음 프로그램을 고려해 보겠습니다.

#include <stdio.h>
int main() {
int num = 5;
while (num > 0) {
  if (num == 3)
    break;
  printf("%d\n", num);
  num--;
}}

출력:

5
4

C의 Continue 문

다음 반복으로 건너뛰고 싶지만 루프에 남아 있으면 continue 문을 사용해야 합니다.

예 :

#include <stdio.h>
int main() {
int nb = 7;
while (nb > 0) {
  nb--;
  if (nb == 5)
    continue;
 printf("%d\n", nb);
}}

출력:

6
4
3
2
1

따라서 값 5는 건너뜁니다.

어떤 루프를 선택할 것인가?

루프를 선택하는 것은 프로그래머에게 항상 어려운 작업입니다. 루프를 선택하려면 다음 단계를 따르세요.

  • 문제를 분석하고 사전 테스트 또는 사후 테스트 루프가 필요한지 확인하십시오.
  • 사전 테스트가 필요한 경우 while 또는 for 루프를 사용하세요.
  • 사후 테스트가 필요한 경우 do-while 루프를 사용하세요.

요약

  • C에서 루프 정의: 루프는 모든 프로그램의 핵심 개념 중 하나입니다. 프로그래밍 언어. C 언어의 루프는 조건문을 사용하여 구현됩니다.
  • C의 루프 제어문 블록은 조건이 거짓이 될 때까지 여러 번 실행됩니다.
  • C 프로그래밍의 루프에는 입력 제어 및 종료 제어의 두 가지 유형이 있습니다.
  • C의 다양한 루프 제어 명령어를 나열합니다. C 프로그래밍은 1) 동안 2) do-while 및 3) 루프 제어 명령어를 제공합니다.
  • For 및 while 루프 C 프로그래밍은 C 언어의 입력 제어 루프입니다.
  • Do-while은 C의 종료 제어 루프입니다.