1 개념
→ 특정 조건이 만족할 때 까지 지정한 코드를 반복 실행할 때 사용하는 반복문
→ 반복 횟수가 정해져 있는 경우 적합
2 장점
1) 구조의 명확성
→ 초기화, 조건식, 증감식을 한 줄에 작성
→ 반복 구조를 쉽게 파악
2) 가독성 향상
→ 반복 횟수가 명확한 경우 다른 반복문보다 읽기 쉬움
3) 범위 제한 가능
→ C99 이후, for문 내에서 선언한 변수는 반복문 외부에서 사용 불가
→ 코드의 안정성을 향상
4) 중첩 반복문에 유리
→ 구조가 명확해 다차원 배열, 테이블 등의 처리에 적합
5) 반복 제어가 용이
→ break, continue 등으로 흐름 제어가 쉬움
3 단점
1) 복잡한 조건식의 가독성 저하
→ 조건식이 복잡하면 이해하기 어려울 수 있음
2) 무한 루프 발생 가능성
→ 조건식이나 증감식 실수로 무한 루프 발생
3) 조건 없는 무한 루프 비효율
→ while(1)보다 for(;;)는 직관성이 떨어짐
4) 조건 유연성 부족
→ 반복 조건이 고정되지 않거나 동적으로 변경될 경우 while이 더 적합
5) 초기화 변수 활용 제한
→ 제어 변수 외에 활용하려면 별도 선언 필요
4 기본 구조
for (초기화; 조건식; 증감식) {
// 조건이 참일 때 실행될 코드
}
→ 초기화는 반복 변수 선언 및 초기값 설정
→ 조건식은 반복 여부를 판단하여 true일 때 실행
→ 증감식은 반복이 끝날 때마다 실행하며 보통은 변수 증가/감소
5 기본 구조 예시
1-1 코드 : 증가 반복
#include <stdio.h>
int main(void) {
for (int i = 0; i < 10; i++) {
printf("%d\n", i);
}
return 0;
}
1-1 결과
1-2 코드 : 감소 반복
#include <stdio.h>
int main(void) {
for (int i = 9; i >= 0; i--) {
printf("%d\n", i);
}
return 0;
}
1-2 결과
6 구조 변형
2-1 코드 : 초기화를 바깥에 선언
#include <stdio.h>
int main(void) {
int i = 0;
for (; i < 5; i++) {
printf("%d\n", i);
}
return 0;
}
2-1 결과
2-2 코드 : 증감식을 안쪽에 선언
#include <stdio.h>
int main(void) {
for (int i = 0; i < 5;) {
printf("%d\n", i);
i++;
}
return 0;
}
2-2 결과
2-3 코드 : 초기화를 바깥, 증감식을 안쪽에 선언
#include <stdio.h>
int main(void) {
int i = 0;
for (; i < 5;) {
printf("%d\n", i);
i++;
}
return 0;
}
2-3 결과
7 break와 continue
1) break
→ 반복문을 즉시 종료
→ 출력 전에 사용하면 출력되지 않음
3-1 코드
#include <stdio.h>
int main(void) {
for (int i = 0; i < 10; i++) {
if (i == 5)
break;
printf("%d\n", i);
}
return 0;
}
3-1 결과
2) continue
→ 현재 반복만 건너뛰고, 다음 반복 수행
3-2 코드
#include <stdio.h>
int main(void) {
for (int i = 0; i < 10; i++) {
if (i % 2 != 0)
continue;
printf("%d\n", i);
}
return 0;
}
3-2 결과
3) 주의사항
→ break, continue, printf의 순서에 따라 출력 결과가 달라짐
→ 조건 판단 위치에 따라 실행 흐름이 바뀜
C언어 for문에 대해 더 상세한 설명과 예시를 알고 싶은 분들은 아래 링크에 접속
☞ https://m.blog.naver.com/math717/223681446867
C언어의 다른 기능 혹은 다른 프로그래밍 언어에 대해 알고 싶은 분들은 아래 링크에 접속하여 원하는 링크에 접속
'C언어 > 조건문과 반복문' 카테고리의 다른 글
처음 배우는 C언어 do-while문|조건보다 먼저 실행되는 반복문 (0) | 2025.05.21 |
---|---|
C 언어 반복문 while문 사용법과 예제 정리 (0) | 2025.05.20 |
C 언어 switch 문 가이드 – case, break 예제로 이해 (0) | 2025.05.18 |
C언어 조건문 정리 (if, else if, 삼항연산자까지 예제로!) (0) | 2025.05.17 |