for 반복문
for 반복문 개요
for 반복문은 특정 조건이 만족되는 동안 코드 블록을 반복적으로 실행하는 제어 구조입니다.
주로 횟수가 정해진 반복 작업에 사용되며, 배열이나 컬렉션을 순회할 때 자주 활용됩니다.
for 반복문의 기본 구조
- 초기화 : 반복문이 시작될 때 한 번만 실행됩니다.
- 조건 : 각 반복 시작 시 평가되며, 참이면 반복을 계속하고 거짓이면 반복을 종료합니다.
- 증감 : 각 반복이 끝날 때마다 실행됩니다.
기본 예제 : 1부터 10까지 출력
for 반복문의 다양한 형태
여러 변수 사용
이 예제는 두 개의 변수를 동시에 조작하며 반복합니다.
무한 루프
무한 루프는 특정 조건이 만족될 때까지 계속 실행되어야 하는 경우에 사용됩니다.
범위 기반 for 문 (C++ 11 이상)
범위 기반 for 문은 컨테이너의 모든 요소를 순회할 때 매우 편리합니다.
중첩된 for 반복문
중첩된 for 문은 2차원 배열이나 행렬을 다룰 때 유용합니다.
continue와 break 문
continue
: 현재 반복을 즉시 종료하고 다음 반복으로 진행break
: 반복문을 완전히 종료하고 빠져나옴
for 반복문과 배열
이 방법은 배열의 인덱스를 직접 사용해야 할 때 유용합니다.
C++ 11 초기화 구문
이 형태는 반복문 내에서만 사용되는 배열을 초기화할 때 유용합니다.
주의사항
- 무한 루프에 빠지지 않도록 주의해야 합니다. 조건문이 항상 참이 되지 않도록 해야 합니다.
- 반복 횟수가 많을 경우 성능에 영향을 줄 수 있으므로, 필요한 만큼만 반복하도록 설계해야 합니다.
- 부동소수점 변수를 카운터로 사용할 때는 주의가 필요합니다. 부동소수점의 정확성 문제로 예상치 못한 결과가 발생할 수 있습니다.
- 반복문 내에서 반복 변수를 수정하는 것은 피해야 합니다. 의도치 않은 결과를 초래할 수 있습니다.
연습 문제
- 1부터 100까지의 합을 계산하는 프로그램을 작성하세요.
- 구구단을 출력하는 프로그램을 작성하세요. (중첩 for문 사용)
- 피보나치 수열의 처음 20개 항을 출력하는 프로그램을 작성하세요.
- 사용자로부터 입력받은 수의 팩토리얼을 계산하는 프로그램을 작성하세요.
- 1부터 100까지의 숫자 중 3의 배수와 5의 배수를 모두 출력하는 프로그램을 작성하세요. (continue 사용)
참고자료
- C++ 공식 문서의 for 문 섹션 : C++ for statement
- 범위 기반 for 문 : Range-based for loop
- C++ Core Guidelines의 반복문 관련 규칙 : ES.71 : Prefer a range-for-statement to a for-statement when there is a choice
- Effective C++ : 항목 3 "가능한 한 const를 사용하라" - Scott Meyers (for 문에서의 const 사용)