if else 구문 C++ 자습서 27

if else 구문 C++

if else 구문은 if 의 기능을 확장한 것 입니다.

if 문은 표현식의 검사결과에 따라 true / false로 나뉘고 true 인 경우에만 body를 실행하도록 되있습니다. 그렇다면 false 인 경우에는? else 를 사용하여 별도의 body 로 분기할 수 있습니다.

if(표현식 검사)
    body
else
    body

if 의 표현식이 false 가 되면 자동으로 else 의 body를 실행시키면 되기 때문에 else 에서 새로 검사를 할 필요는 없습니다.

다음의 예제는 if else 문의 사용입니다.

숫자 두개의 크기 비교를 해서 큰 쪽과 작은 쪽으로 나눌 수 있습니다. 정수에서는 큰쪽이 결정되면 작은쪽도 결정되므로 큰쪽을 true 작은쪽을 false 라 할 수도 있습니다.

using std::cout;
using std::cin;
using std::endl;

int main() {


	int num = 0;

	do {
		cout << "정수를 입력하시오: ";
		cin >> num;

		if (num > 0)
			cout << "0보다 큽니다." << endl;
		else
			cout << "0보다 작거나 같습니다." << endl;

	} while (num != 0);

	return 0;
}

[실행결과]

정수를 입력하시오: 1
0보다 큽니다.
정수를 입력하시오: 2
0보다 큽니다.
정수를 입력하시오: 4
0보다 큽니다.
정수를 입력하시오: 0
0보다 작거나 같습니다.

if else 문은 두 갈래의 길의 선택과 같습니다. else 문에는 조건이 필요없고 실행되는 코드만 필요한 것이지요.

if else if else

else if 라고도 부르는 if else if else 구문입니다.

예제를 통해 알아보겠습니다.

if else 는 두갈래의 분기입니다. 여기서 else 안에 다시 if else 문을 사용하면 총 세가지의 분기를 할 수 있습니다. else 라는 가지(branch)에 다시 if 를 무한정 반복할 수 있으니까 세가지 이상의 조건을 만들 수 있습니다.

#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int main() {


	int num = 0;

	do {
		cout << "정수를 입력하시오: ";
		cin >> num;

		if (num > 0)
			cout << ">> 0보다 큽니다 - 양수" << endl;
		else
			if (num < 0)
				cout << ">> 0보다 작습니다 - 음수" << endl;
			else
				cout << ">> 0입니다 - 종료" << endl;

	} while (num != 0);

	return 0;
}

[실행결과]

정수를 입력하시오: 5
>> 0보다 큽니다 - 양수
정수를 입력하시오: -3
>> 0보다 작습니다 - 음수
정수를 입력하시오: 0
>> 0입니다 - 종료

이 문법을 아래와 같이 줄을 맞춰서 사용하는 경우가 많습니다. 뭐 틀린 것은 아닙니다만, 의미적으로 정확한 전달은 위에 들여쓰기가 더 좋습니다. if 에서 true 실행 후 종료 else 에서 if else 로 분기.

		if (num > 0)
			cout << ">> 0보다 큽니다 - 양수" << endl;
		else if (num < 0)
			cout << ">> 0보다 작습니다 - 음수" << endl;
		else
			cout << ">> 0입니다 - 종료" << endl;

이것을 프로그램해서 yes or no 의 질문을 끓임없이 던지는 무한 질문도 만들 수 있습니다.

요약

if else 구문은 분기를 만들어 내는데 사용합니다. 프로그램의 코드는 위에서 부터 순차적으로 실행됩니다. 그러나 if else 분기문을 만나면 어떤 한쪽의 코드만 실행시키고 다른 한쪽의 코드는 실행시키지 않을 수 있습니다.

이는 조건에 따라 다른 결과를 사용할 수 있게 합니다. 기본적인 분기는 true / false 에 의하여 걸러지지만 이는 두가지 선택만이 가능합니다. 만약 세가지 이상의 조건에서 선택하고 싶다면 if else 를 중첩시켜서 사용할 수 있습니다. if else 에서 if 문이나 else 문 어느쪽에도 추가로 분기를 할 수 있습니다.

if 문은 간단한 아이디어지만 매우 강력한 확장성을 가지고 있습니다.

C++의 문법은 프로그래밍에서는 가장 교과서적인 형태를 취하고 있습니다.

문법과 개념을 확실히 습득한다면 향후 어떤 프로그래밍 언어에서도 분기문에 쉽게 적응할 수 있을 것 입니다.

참고문서

if…else 문 (c + +) | Microsoft Docs

C++ | if 문 (If Statement) 조건문 | if else

Leave a Comment