---
id: cpp-conditions-elseif
title: "C++ Else If"
category: "Programming_Language"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["else if chain", "top to bottom evaluation", "C++ else if 문"]
duplicate_of: ""
source_trust_level: "B"
confidence_score: 0.83
created_at: 2026-07-04
updated_at: 2026-07-04
review_reason: ""
merge_history: []
tags: ["cpp", "programming-language", "w3schools", "conditions", "else-if"]
raw_sources: ["https://www.w3schools.com/cpp/cpp_conditions_elseif.asp"]
applied_in: []
github_commit: ""
---

# [[CPP Else If]]

## 🎯 한 줄 통찰 (One-line insight)
The first-match-wins rule (conditions checked top-to-bottom, stopping at the first true match, even if a later condition would also hold) is stated with the exact same wording and the exact same time-of-day example as C's chapter — reconfirming that C++'s `else if` chain evaluation semantics are inherited from C without modification. [S1]

## 🧠 핵심 개념 (Core concepts)
- **`else if`** — tests a new condition only if the preceding condition(s) were false. [S1]
- **First-match-wins evaluation** — conditions checked top to bottom; the first true condition's block runs, remaining conditions are skipped. [S1]
- **Boolean-variable chaining** — each condition in the chain can be pre-computed into a descriptively-named bool. [S1]

## 📖 세부 내용 (Details)
- Time-of-day chain: `int time = 16; if (time < 12) { cout << "Good morning."; } else if (time < 18) { cout << "Good day."; } else { cout << "Good evening."; } // Outputs "Good day."`. [S1]
- Same chain with named booleans: `bool isMorning = time < 12; bool isDay = time < 18; if (isMorning) {...} else if (isDay) {...} else {...}`. [S1]

## ⚖️ 모순 및 업데이트 (Contradictions & updates)
- 현재까지 발견된 모순 사항 없음 (No contradictions found in available sources). C 챕터와 완전히 동일한 우선 매칭 규칙임이 확인됨.

## 🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다 — 시간대에 따라 아침/낮/저녁 인사를 구분하는 것이 else if 체인의 대표적인 실전 활용 예시다. [S1]

## 💻 코드 패턴 (Code patterns)
Chained else-if conditions evaluated top-to-bottom, stopping at the first match (C++):
```cpp
int time = 16;
if (time < 12) {
  cout << "Good morning.";
} else if (time < 18) {
  cout << "Good day.";
} else {
  cout << "Good evening.";
}
// Outputs "Good day."
```

## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual
- **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body)
- **신뢰 점수:** 0.83
- **중복 검사 결과:** 신규 생성 (New discovery)

## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[C++ Tutorial]]
- **관련 개념:** [[CPP Conditions Else]], [[CPP Conditions Shorthand]], [[C Conditions ElseIf]]
- **참조 맥락:** else if 체인 — 삼항 연산자(Conditions Shorthand) 챕터로 이어짐.

## 📚 출처 (Sources)
- [S1] W3Schools — C++ Else If — https://www.w3schools.com/cpp/cpp_conditions_elseif.asp

## 📝 변경 이력 (Change history)
- 2026-07-04: Initial draft synthesized from the W3Schools "C++ Else If" page (Astra wiki-curation, P-Reinforce v3.1 format).
