[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 |