์กฐ๊ฑด๋ฌธ(Conditional statement)
์กฐ๊ฑด๋ฌธ์ ์ ์ด๋ฌธ์ด๋ผ๊ณ ๋ ํ๋ฉฐ, ์ฝ๋์ ํ๋ฆ์ ๋ถ๊ธฐ๋ฅผ ์ค ์ ์๋ ๊ตฌ๋ฌธ์ด๋ค. ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ์ ์ดํ๊ธฐ ๋๋ฌธ์ ํ๋ฆ ์ ์ด๋ฌธ์ด๋ผ๊ณ ๋ ํ ์ ์์ผ๋ฉฐ, ์กฐ๊ฑด์ ๋ฐ๋ผ์ ์ง์ ๋ ์ฝ๋๋ฅผ ์ํํ๋ค.
#if, else if, else
condition์ ๋ํ๋ด๋ if๋ฌธ์ true, false๊ฐ ๋๋ ๋ ผ๋ฆฌ ๊ตฌ๋ฌธ์ด ๋ค์ด๊ฐ๋ค.
#include <iostream>
int var = 5;
if ( var > 3 )
{
std::cout << "๋ณ์๋ 3๋ณด๋ค ํฝ๋๋ค."; // C++ code
}
์ ์์ ์์ var๋ 5์ด๋ฏ๋ก "var > 3"(condition)์ true๊ธฐ ๋๋ฌธ์ cout ๊ตฌ๋ฌธ์ ์ถ๋ ฅํ๋ค. ๋ง์ฝ "var <= 3" ์ด๋ผ๋ฉด, condition์ false์ด๊ธฐ ๋๋ฌธ์ if๊ตฌ๋ฌธ ์์ผ๋ก ๋ค์ด๊ฐ์ง ์๋๋ค.
์ด์ ๊ฐ์ด ์กฐ๊ฑด๋ฌธ์ ํน์ ์กฐ๊ฑด์ด ์์ ๋๋ง ์ฒ๋ฆฌํ ๋ ์ ์ฉํ๊ฒ ์ฐ์ธ๋ค. (์ฌ์ค ๋๋ถ๋ถ์ ์ฝ๋์ ๋น ์ง์ง ์๋ ํ์ ๊ตฌ๋ฌธ์ด๋ค.)
#include <iostream>
int var = 1;
if ( var > 3 )
{
std::cout << "๋ณ์๋ 3๋ณด๋ค ํฝ๋๋ค."; // C++ code
}
else
{
std::cout << "๋ณ์๋ 3๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ต๋๋ค.";
}
์ ์์ ์์ var๊ฐ 3๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์(condition์ด false) ๊ฒฝ์ฐ else๊ตฌ๋ฌธ์ผ๋ก ๋ค์ด๊ฐ๋ค. if else๊ตฌ๋ฌธ์ condition์ด true์ธ ๊ฒฝ์ฐ if๊ตฌ๋ฌธ์ด, condition์ด false์ธ ๊ฒฝ์ฐ else๊ตฌ๋ฌธ์ด ์คํ๋๋ค.
#include <iostream>
int var = 3;
if ( var > 3 )
{
std::cout << "๋ณ์๋ 3๋ณด๋ค ํฝ๋๋ค."; // C++ code
}
else if ( var == 3 )
{
std::cout << "๋ณ์๋ 3 ์
๋๋ค.";
}
else
{
std::cout << "๋ณ์๋ 3๋ณด๋ค ์์ต๋๋ค.";
}
if, else if, else ๊ตฌ๋ฌธ ์ค if์ if else๊ตฌ๋ฌธ์ condition์ด true์ด๋ฉด ํด๋น ๊ตฌ๋ฌธ์ ์คํํ๋ค. ๋จผ์ if ๊ตฌ๋ฌธ์ด true์ธ ๊ฒฝ์ฐ์๋ if๊ตฌ๋ฌธ๋ง ์คํ๋๊ณ ์ ์ฒด ๊ตฌ๋ฌธ์ ๋น ์ ธ๋๊ฐ๋ค. ๋ง์ฝ if ๊ตฌ๋ฌธ์ด false์ธ ๊ฒฝ์ฐ์๋ ๋ฐ๋ก ๋ค์์ ์ค๋ else if ๊ตฌ๋ฌธ์ ํ๋จํ์ฌ true์ด๋ฉด else if ๊ตฌ๋ฌธ์ ์คํํ๋ค.
else if ๊ตฌ๋ฌธ์ if์ else๊ตฌ๋ฌธ ์ฌ์ด์ 2๊ฐ ์ด์ ์์นํ ์ ์์ผ๋ฉฐ, else์์ด if์ else if๋ง ์์นํ ์ ์๋ค.
# switch
์กฐ๊ฑด๋ฌธ์ if๊ตฌ๋ฌธ๊ณผ switch๊ตฌ๋ฌธ์ผ๋ก ๋๋๋ค. switch๋ if๊ตฌ๋ฌธ์ ๋นํด ๊ฐ๋ ์ฑ์ด ์ข๊ณ , ์์ธ์ฒ๋ฆฌ๋ฅผ ๋ถ๋ช ํ๊ฒ ํ ์ ์๋ ์ฅ์ ์ด ์์ผ๋, switch๊ตฌ๋ฌธ์ผ๋ก ๋ํ๋ด๊ธฐ ํ๋ ๊ฒฝ์ฐ๋ ์ ์ง ์๋ค.
#include <iostream>
int var = 1;
switch (var)
{
case 1:
std::cout << "๋ณ์๋ 1์
๋๋ค.";
break;
case 2:
std::cout << "๋ณ์๋ 2์
๋๋ค.";
break;
case 3:
std::cout << "๋ณ์๋ 3์
๋๋ค.";
break;
default:
std::cout << "๋ณ์๋ 1๋ 2๋ 3๋ ์๋๋๋ค.";
break;
}
switch๊ตฌ๋ฌธ์ ๋ค์ด๊ฐ๋ ๋ณ์๋ ์ ์์ ๋ฌธ์๋ง ๊ฐ๋ฅํ๋ค. ์ฌ๊ธฐ์ ๋ฌธ์๋ char c = 'h'์ ๊ฐ์ด ๋ฌธ์๋ฅผ ๋ปํ๊ณ ๋ฌธ์์ด์ ๋ถ๊ฐ๋ฅํ๋ค.
์ ์์ ์์๋ ๋ณ์ var์ ๊ฐ์ด 1์ด๋ฏ๋ก case 1์ ์คํํ๋ค. case 1์ ์คํํ๊ณ break๋ก ๋น ์ ธ๋๊ฐ๊ธฐ ๋๋ฌธ์, case 2์ 3์ ์คํ๋์ง ์๋๋ค.
case๊ตฌ๋ฌธ์ ํญ์ break๋ก ๋๋์ผ ํ๋ค. break๋ฅผ ๋ถ์ด์ง ์์๋ ์ปดํ์ผ์๋ฌ or ๋ฐํ์์๋ฌ๊ฐ ๋ฐ์ํ์ง ์์ง๋ง ์๋์น ์์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ฒ ๋๋ค. case 1 ๊ตฌ๋ฌธ์์ break๋ฅผ ๋ถ์ด์ง ์๋๋ค๋ฉด, case 1๊ตฌ๋ฌธ์ ์คํํ๊ณ ์ด์ด์ case 2๊ตฌ๋ฌธ์ผ๋ก ๋์ด๊ฐ๋ค. case๋ฅผ ๋น ์ ธ๋๊ฐ๋ break ๊ตฌ๋ฌธ์ด ์๊ธฐ ๋๋ฌธ์ ๋ค์ case๋ฅผ ์งํํ๋ ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ , default๋ ํด๋นํ๋ ์ผ์ด์ค๊ฐ ์์ ๋ ์คํ๋๋ค.
#include <iostream>
int num = 0;
std::cout << "1~3์ฌ์ด์ ์ซ์๋ฅผ ์
๋ ฅํ์ธ์.";
std::cin >> num;
switch (num)
{
case 1:
// case 1 ์ฝ๋
break;
case 2:
// case 2 ์ฝ๋
break;
case 3:
// case 3 ์ฝ๋
break;
default:
std::cout << "์๋ชป ์
๋ ฅํ์
จ์ต๋๋ค.";
break;
}
์์ ๊ฐ์ด default๋ ์์ธ์ฒ๋ฆฌ๋ฅผ ํ ๋ ์ ์ฉํ๊ฒ ์ฐ์ผ ์ ์๋ค.
'C++ ๊ธฐ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C/C++] 5. ๋ฐ๋ณต๋ฌธ(Iteration statements) - while๋ฌธ(while loop) (0) | 2021.04.03 |
---|---|
[C/C++] 4. ๋ฐ๋ณต๋ฌธ(Iteration statements) - for๋ฌธ(for loop) (0) | 2021.03.29 |
[C/C++] 2. ํ์ ๊ณผ ์ฐ์ฐ์(Type & Operator) (0) | 2021.03.12 |
[C/C++] 0. ์คํํ์ผ์ด ๋ง๋ค์ด์ง๋ ๊ตฌ์กฐ(feat. ์ปดํ์ผ๋ฌ) (0) | 2021.03.10 |
[C/C++] 1. ๋ณ์(Variable) (0) | 2021.03.10 |
๋๊ธ