조건문
if문
주어진 조건식의 결과(참/거짓)에 따라 특정 코드를 실행하거나 건너뛰는 제어문이다.
기본 문법
if (조건식)
{
// 조건식이 참(true)일 때 실행
}
특징
- 조건식의 결과가
true이면 코드 블록을 실행한다. - 조건식의 결과가
false이면 코드 블록을 건너뛴다. - C++에서는
0을 제외한 모든 정수 값이true로 취급된다.
if (1)
{
cout << "실행됨";
}
if (-10)
{
cout << "실행됨";
}
if (0)
{
cout << "실행되지 않음";
}
else문
if문의 조건식 결과가 false일 경우 실행되는 코드 블록이다.
기본 문법
if (조건식)
{
// 조건식이 참(true)일 때 실행
}
else
{
// 조건식이 거짓(false)일 때 실행
}
예제
int hp = 0;
if (hp > 0)
{
cout << "생존";
}
else
{
cout << "사망";
}
실행 결과
사망
특징
if의 조건이 거짓일 때 실행된다.- 별도의 조건식을 작성하지 않는다.
if와 함께 사용해야 한다.
if (0)
{
cout << "실행되지 않음";
}
else
{
cout << "실행됨";
}
else if문
여러 개의 조건을 순서대로 검사하고 싶을 때 사용하는 제어문이다.
위에서부터 조건을 검사하며, 처음으로 참(true)이 되는 조건의 코드만 실행하고 나머지는 검사하지 않는다.
기본 문법
if (조건식1)
{
// 조건식1이 참일 때 실행
}
else if (조건식2)
{
// 조건식2가 참일 때 실행
}
else if (조건식3)
{
// 조건식3이 참일 때 실행
}
else
{
// 모든 조건이 거짓일 때 실행
}
예제
int score = 85;
if (score >= 90)
{
cout << "A";
}
else if (score >= 80)
{
cout << "B";
}
else if (score >= 70)
{
cout << "C";
}
else
{
cout << "F";
}
실행 결과
B
동작 순서
int num = 10;
if (num > 20)
{
cout << "20보다 큼";
}
else if (num > 5)
{
cout << "5보다 큼";
}
else if (num > 0)
{
cout << "0보다 큼";
}
실행 결과
5보다 큼
이유
num > 20 // false
num > 5 // true
두 번째 조건이 참이므로 실행 후 아래 조건은 검사하지 않는다.
특징
- 여러 조건을 순서대로 검사할 수 있다.
- 가장 먼저 참이 되는 조건의 코드만 실행된다.
- 이후의
else if와else는 무시된다. - 마지막
else는 생략 가능하다.
if (조건식1)
{
}
else if (조건식2)
{
}
else if (조건식3)
{
}
위와 같이 else 없이 사용할 수도 있다.
주의사항
조건의 순서가 중요하다.
int score = 95;
if (score >= 60)
{
cout << "합격";
}
else if (score >= 90)
{
cout << "우수";
}
실행 결과
합격
이유
score >= 60
이 먼저 참이 되었기 때문에 아래 조건은 검사하지 않는다.
따라서 범위가 큰 조건을 먼저 작성해야 한다.
if (score >= 90)
{
cout << "우수";
}
else if (score >= 60)
{
cout << "합격";
}