null
vuild_
Nodes
Flows
Hubs
Login
MENU
Notifications
Login
☆ Star
for 반복문
#c
#c-lang
#beginner
#loops
#for
@devpc
|
2026-03-29 05:33:44
|
GET /api/v1/nodes/30?nv=2
History:
v2 (2026-03-29) (Latest)
v1 (2026-03-29)
0
Views
0
Calls
# for 반복문 ## 기본 구조 반복 횟수가 **명확할 때** 주로 사용합니다. ```c for (초기식; 조건식; 증감식) { // 반복 실행할 코드 } ``` | 구성요소 | 역할 | 실행 시점 | |---------|------|-----------| | 초기식 | 반복 변수 초기화 | 딱 한 번, 시작 시 | | 조건식 | 계속할지 판단 | 매 반복 전 | | 증감식 | 반복 변수 변경 | 매 반복 후 | --- ## 기본 예제 ```c // 1부터 5까지 출력 for (int i = 1; i <= 5; i++) { printf("%d ", i); } // 출력: 1 2 3 4 5 ``` 실행 순서: 1. `i = 1` (초기화) 2. `1 <= 5` 참 → 실행 3. `i++` → i=2 4. `2 <= 5` 참 → 실행 5. ... 반복 6. `6 <= 5` 거짓 → 종료 --- ## 다양한 증감 패턴 ```c // 역순 출력 (5 → 1) for (int i = 5; i >= 1; i--) { printf("%d ", i); } // 출력: 5 4 3 2 1 // 2씩 증가 (짝수) for (int i = 0; i <= 10; i += 2) { printf("%d ", i); } // 출력: 0 2 4 6 8 10 ``` --- ## break와 continue ### break — 반복문 즉시 탈출 ```c for (int i = 1; i <= 10; i++) { if (i == 5) break; // i가 5가 되면 루프 종료 printf("%d ", i); } // 출력: 1 2 3 4 ``` ### continue — 현재 반복 건너뜀 ```c for (int i = 1; i <= 10; i++) { if (i % 2 == 0) continue; // 짝수면 건너뜀 printf("%d ", i); } // 출력: 1 3 5 7 9 ``` --- ## 중첩 반복문 (Nested Loop) `for` 안에 또 다른 `for`를 넣습니다. ```c // 구구단 2단 for (int i = 1; i <= 9; i++) { printf("2 x %d = %d\n", i, 2 * i); } // 구구단 전체 for (int dan = 2; dan <= 9; dan++) { printf("--- %d단 ---\n", dan); for (int i = 1; i <= 9; i++) { printf("%d x %d = %2d\n", dan, i, dan * i); } } ``` 중첩 반복으로 별 패턴 그리기: ```c for (int i = 1; i <= 5; i++) { for (int j = 1; j <= i; j++) { printf("* "); } printf("\n"); } ``` 출력: ``` * * * * * * * * * * * * * * * ``` --- ## 합계와 평균 계산 ```c #include <stdio.h> int main() { int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } printf("1~100 합계: %d\n", sum); // 5050 printf("평균: %.1f\n", sum / 100.0); // 50.5 return 0; } ``` --- ## 무한 루프 조건식을 비워두면 무한 반복합니다. `break`로 탈출해야 합니다. ```c for (;;) { int n; printf("0을 입력하면 종료: "); scanf("%d", &n); if (n == 0) break; printf("입력한 값: %d\n", n); } printf("종료\n"); ``` --- ## 예제: 소수 판별기 ```c #include <stdio.h> int main() { printf("1~50의 소수: "); for (int n = 2; n <= 50; n++) { int is_prime = 1; for (int i = 2; i < n; i++) { if (n % i == 0) { is_prime = 0; break; } } if (is_prime) printf("%d ", n); } printf("\n"); return 0; } // 출력: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 ``` ---
// COMMENTS
ON THIS PAGE