C 언어의 반복문: for, while, do while 루프ping 문장 [예시]

⚡ 스마트 요약

C 언어에서 반복문은 제어 조건이 거짓이 될 때까지 일련의 명령문을 반복 실행하며, 진입 및 종료 제어를 위한 세 가지 구문(while 루프, do-while 루프, for 루프)을 제공합니다.

  • 🔁 루프 구조: 모든 C 언어의 반복문은 반복되는 명령문의 본문과 반복이 언제 멈출지 결정하는 제어 조건을 짝지어줍니다.
  • 🚪 진입 vs. 퇴출: 진입 제어형 while 및 for 루프는 조건을 먼저 검사하는 반면, 종료 제어형 do-while 루프는 항상 본문을 한 번 실행합니다.
  • ♻️ While 루프: while 루프는 매 실행 전에 조건을 확인하므로 반복 횟수를 미리 알 수 없는 경우에 적합합니다.
  • 🔂 Do-while 루프: do-while 루프는 조건을 검사하기 전에 본문을 실행하므로 조건이 거짓일 때도 한 번은 실행되도록 보장합니다.
  • 🔢 루프: for 루프는 초기화, 조건 및 업데이트를 한 줄에 담아 고정된 범위를 카운트하는 데 이상적입니다.
  • 잠시 쉬었다가 계속하세요: break 문은 루프를 즉시 종료하는 반면, continue 문은 루프를 종료하지 않고 다음 반복으로 넘어갑니다.

C 언어의 반복문: for, while, do while 루프ping 명세서

C의 루프란 무엇입니까?

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

C의 루프 유형

프로그램 내 제어문의 위치에 따라,ping 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 루프에서는 초기값이 한 번만 설정되고, 이후 각 반복이 끝날 때마다 조건문을 통해 카운터를 고정된 값과 비교하고, 비교가 끝나면 루프가 종료됩니다.ping false가 반환될 때 for 루프가 종료됩니다.

C의 while 루프

while 루프는 가장 간단한 루프입니다.ping 구조. 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;
}
  1. for 루프의 초기값은 한 번만 수행됩니다.
  2. 이 조건은 각 반복 후 카운터를 고정된 값과 비교하는 부울 표현식입니다.ping false가 반환될 때 for 루프가 종료됩니다.
  3. 증가/감소는 카운터를 설정값만큼 증가(또는 감소)시킵니다.

다음 프로그램은 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 언어는 세 가지 반복문 유형 외에도 반복문의 내부 실행 방식을 변경하는 두 가지 구문을 제공합니다.

C의 Break 문

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

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는 건너뜁니다.

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

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

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

자주 묻는 질문

무한 루프는 조건이 거짓이 되지 않으면 영원히 실행됩니다. 이를 방지하려면 루프 본문 내에서 루프 변수를 업데이트하고 조건이 결국 충족되도록 하거나, 안전장치로 break 문을 추가하세요.

break 문은 반복문을 완전히 중지하고 그 다음 문장으로 제어를 이동합니다. continue 문은 현재 반복의 나머지 문장들을 건너뛰고 반복문의 다음 주기로 넘어갑니다.

표준 C 언어에는 for-each 루프나 범위 기반 루프와 같은 기능이 내장되어 있지 않습니다. C++ or Python배열을 수동으로 순회하려면 for 또는 while 루프를 사용하고, 인덱스나 포인터를 이용하여 각 요소를 순회합니다.

아니요. goto 문은 레이블이 지정된 줄로 무조건 이동하며 loo와 유사한 기능을 할 수 있습니다.ping하지만 이는 구조화된 반복문이 아닙니다. for, while 또는 do-while 루프를 사용하면 코드를 훨씬 더 읽기 쉽게 유지할 수 있습니다.

쉼표 연산자를 사용하면 하나의 for 루프에서 여러 변수를 동시에 관리할 수 있습니다. for (x = 0, y = n; x < y; x++, y–)에서 초기화 부분과 업데이트 부분 모두 매 반복마다 두 개의 표현식을 실행합니다.

네. 괄호 안에 논리 AND(&&)와 OR(||) 연산자를 사용하여 조건을 결합할 수 있습니다. 예를 들어, while (a < 10 && b > 0)은 다음과 같이 사용할 수 있습니다.ping 두 조건이 모두 충족되는 동안에만 해당됩니다.

네. AI 코딩 도우미는 간단한 설명만으로 while, do-while, for 루프를 작성할 수 있고, 오프셋 오류를 찾아내며, 무한 루프가 될 수 있는 조건을 표시할 수 있습니다. Rev생성된 논리가 항상 정확한 것은 아니므로 출력 결과를 확인하는 것이 여전히 중요합니다.

GitHub 부조종사 입력하는 동안 완전한 반복문 본문을 제안하고, 카운터와 조건을 자동 완성하며, 간단한 주석을 통해 중첩 반복문 패턴을 제안합니다. 널리 사용되는 편집기에서 작동하며 반복적인 C 코딩 속도를 향상시켜 줍니다.

이 게시물을 요약하면 다음과 같습니다.