본문 바로가기
Programming/C, C++

LV1 C++ 조건문 if, else if, else

by Dev_카페인 2022. 9. 2.
반응형

 

[lv1/C++] 조건문 if, else if, else

 

조건문이란 조건을 판단하여 참과 거짓 여부에 따라 프로그램 처리 방향을 변경하는데 사용한다.

 

여기서 조건이란 참과 거짓을 판단할 수 있는 것을 말한다.

현실 세계에서는 3은 10보다 작은가, 사과는 과일인가 처럼 명확히 답을 내릴 수 있는 것들이다.

이처럼 프로그램에서도 참과 거짓을 판단할 수 있도록 조건식을 작성해야 한다.

 

조건문 중 제일 흔하게 쓰이는 것은 if문이다.

사전에 찾아보면 알 수 있듯이 if는 '만약에'라는 뜻을 가진다.

만약에 (조건문) 이 참이라면 이 문장을 실행한다.

만약에 (조건문) 이 거짓이라면 이 문장을 실행하지 않는다.

 

if문에는 여러가지 형식이 있지만 제일 기본적인 형식은 아래와 같다.

if(조건식) {
	문장;
}

조건식이 참일 때 실행할 문장이 하나라면 중괄호'{,}'를 생략해도 되지만 중괄호 사용을 습관화 하는게 좋다.

if(조건식)
	문장1;
문장2;

위와 같이 중괄호가 없는 경우 첫 세미콜론';'까지만 조건식 범주에 포함된다.

조건식이 참일 때 '문장1'과 '문장2' 두 문장을 실행하지만

조건식이 거짓일 때 '문장2'만 실행된다.

 

기본 if문을 살펴 봤지만 실제 프로그래밍을 할 때는 조건식은 하나로 부족하다.

그래서 if문에 또 다른(else) 조건식을 작성할 수 있는데 그 문장은

else if (위 조건이 아니면 이 조건은?), else (그 외에는 이걸로 퉁) 문장이다.

if(조건식) 
{
	문장1;
} 
else if (조건식) 
{
	문장2;
} 
else 
{
	문장3;
}
문장4;

첫 번째 조건식이

참일 경우 아래 else if 조건식이나 else는 쳐다보지도 않고 '문장1'을 실행한 후 '문장4'를 실행한다.

거짓일 경우 다음 조건식을 확인하기 위해 중괄호를 건너 뛰고 else if (조건식)을 확인한다.

 

두 번째 조건식은 if(조건식)이 거짓일 때 실행되며 조건식이 참일 경우 '문장2'를 실행한 후 '문장4'를 실행한다.

마찬가지로 아래 else는 쳐다보지 않는다.

 

세 번째 else구문은 위 조건식들이 모두 거짓일 때 무조건 실행되는 구문이다.

'문장3'을 실행한 후 '문장4'를 실행한다.

 

else if 와 else 는 아래 처럼 각각 생략이 가능하다.

if(조건식)
{
	문장1;
}
else
{
	문장2;
}
if(조건식)
{
	문장1;
}
else if (조건식)
{
	문장2;
}

 

if문의 가장 기본이 되는 예시 코드인 성적 확인 프로그램을 작성해보자.

#include <iostream>
using namespace std;

int main()
{
	int score;			// 점수를 넣을 정수타입 변수

	cin >> score;			// 점수 입력

	if (score >= 90) {		// 점수가 90보다 크거나 같다면
		cout << "A";		// A 출력
	}
	else if (score >= 80) {		// 점수가 80보다 크거나 같고 90보다 작다면
		cout << "B";		// B 출력
	}
	else if (score >= 70) {		// 점수가 70보다 크거나 같고 80보다 작다면
		cout << "C";		// C 출력
	}
	else if (score >= 60) {		// 점수가 60보다 크거나 같고 70보다 작다면
		cout << "D";		// D 출력
	}
	else {				// 그 외 ( 60보다 작다면 )
		cout << "F";		// F 출력
	}

	return 0;
}

간혹 공부를 하는 사람들 중 else if 문을 쓰지 않고 if로만 작성하는 경우가 있다.

else if나 else문을 쓰지 않을 경우 모든 if문을 확인하므로 100점을 입력해도 D나 F가 나오는 경우가 많으니 주의하길 바란다.

 

 

반응형

'Programming > C, C++' 카테고리의 다른 글

LV1 C++ 반복문 for문  (0) 2022.09.02
LV1 C++ 조건문 (선택문) switch case문  (0) 2022.09.02
lv1 C++ 연산자와 우선순위  (0) 2022.08.12
Lv1 C++ 줄바꿈  (0) 2022.08.12
C++ 프로그래밍 개요  (0) 2022.08.11