조건문이란?
지금까지 프로그램은 위에서 아래로 한 줄씩 순서대로 실행됐습니다. 조건문은
"어떤 조건이 참일 때만" 특정 코드를 실행하게 해서, 프로그램이 상황에 따라
다르게 행동하도록 만듭니다.
1. if / else의 기본 모양
int score = 85;
if (score >= 60) {
cout << "합격" << '\n';
} else {
cout << "불합격" << '\n';
}
조건이 참(true) 이면 if 블록을, 거짓(false) 이면 else 블록을 실행합니다.
else는 생략할 수 있습니다.
2. 비교 연산자
조건을 만드는 데 쓰는 기호들입니다.
| 기호 | 의미 |
|---|---|
== |
같다 |
!= |
다르다 |
<, > |
작다, 크다 |
<=, >= |
작거나 같다, 크거나 같다 |
비교의 결과는 참 또는 거짓입니다. 특히 "같다"는 ==(등호 두 개)이고,
=(하나)는 대입이라 전혀 다릅니다. 가장 흔한 초보 실수예요.
3. 여러 갈래: else if
조건이 셋 이상일 땐 else if로 이어 붙입니다.
if (score >= 90) cout << "A" << '\n';
else if (score >= 80) cout << "B" << '\n';
else if (score >= 70) cout << "C" << '\n';
else cout << "F" << '\n';
위에서부터 검사하다가 처음 참이 되는 가지 하나만 실행하고 나머지는 건너뜁니다.
그래서 조건을 큰 값부터 차례로 적는 게 자연스럽습니다.
4. 논리 연산자로 조건 합치기
여러 조건을 한 번에 검사할 때 씁니다.
| 기호 | 의미 |
|---|---|
&& |
그리고 (둘 다 참) |
|| |
또는 (하나라도 참) |
! |
부정 (참↔거짓) |
if (x >= 1 && x <= 100) cout << "범위 안" << '\n';
if (x == 0 || y == 0) cout << "하나는 0" << '\n';
복잡도
조건문 자체는 어떤 가지를 타든 상수 시간 \(O(1)\) 입니다. 검사 비용은 무시할
만하므로, 조건의 순서와 논리를 정확히 짜는 것이 전부입니다.
정리
if/else if/else로 흐름을 가른다.- "같다"는
==,=는 대입 — 헷갈리지 말 것. &&,||,!로 여러 조건을 결합.else if는 위에서부터 첫 참 하나만 실행한다.