C++ 중첩 제어문
1. 개요
1.1 문서 개요
이 문서는 C++에서 사용되는 중첩 제어문(nested control statement)에 대해 설명합니다. 중첩 제어문이란 조건문이나 반복문이 서로 안에 포함되어 사용되는 구조로, 복잡한 논리나 다단계 제어 흐름을 구현할 수 있습니다. 프로그램 로직의 분기와 반복을 세밀하게 제어하기 위한 기초적인 구성입니다.
2. 내용
2.1 중첩 조건문 (Nested if)
2.1.1 예시
int x = 10;
int y = 20;
if (x > 0) {
if (y > 10) {
std::cout << "두 조건 모두 참입니다.
";
}
}
2.1.2 설명
- 외부 조건이 참일 때만 내부 조건을 평가합니다.
- 논리적 순서를 단계별로 분리할 수 있어, 세밀한 조건 제어에 유리합니다.
2.2 중첩 반복문 (Nested loop)
중첩 반복문은 반복문 내부에 또 다른 반복문이 포함되는 구조입니다.
2.2.1 이중 for 문 예제
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 2; ++j) {
std::cout << "(" << i << "," << j << ") ";
}
}
2.2.2 설명
- 외부 반복문이 1회 실행될 때마다 내부 반복문이 전체 수행됩니다.
- 이중 반복은 2차원 배열 처리 등에서 사용됩니다.
2.3 중첩 조건 + 반복 조합
조건문과 반복문은 자유롭게 중첩할 수 있으며, 다음은 그 예시입니다.
for (int i = 0; i < 5; ++i) {
if (i % 2 == 0) {
std::cout << i << "은 짝수입니다.
";
}
}
2.4 중첩 구조에서의 주의점
- 들여쓰기를 일관되게 유지하여 가독성 확보
- 중첩 깊이가 깊어지면 함수로 분리하거나 switch 문 대체 고려
- 변수 범위(scope) 관리에 주의 필요
3. 마무리
중첩 제어문은 복잡한 조건 분기나 반복 처리에 유용한 구조입니다. 조건과 반복의 결합을 통해 다양한 프로그램 논리를 표현할 수 있으며, 명확한 구조와 주석을 통해 복잡성을 관리하는 것이 중요합니다.