์ผํญ์ฐ์ฐ์
C์ธ์ด์์ ์ผํญ ์ฐ์ฐ์๋ ์กฐ๊ฑด๋ฌธ์ ๋ ๊ฐ๊ฒฐํ๊ฒ ํํํ ์ ์๋ ์ ์ฉํ ๋๊ตฌ์ด๋ค. ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ ์กฐ๊ฑด ? ์ฐธ์ผ ๋์ ๊ฐ : ๊ฑฐ์ง์ผ ๋์ ๊ฐ์ผ๋ก, ์กฐ๊ฑด์ด ์ฐธ์ด๋ฉด ์ฒซ ๋ฒ์งธ ๊ฐ์, ๊ฑฐ์ง์ด๋ฉด ๋ ๋ฒ์งธ ๊ฐ์ ๋ฐํํ๋ค. ์ด ํฌ์คํ ์์๋ ์ผํญ ์ฐ์ฐ์์ ์ฌ์ฉ๋ฒ๊ณผ if๋ฌธ๊ณผ ๋น๊ตํ์ ๋์ ์ฅ๋จ์ ์ ์ดํด๋ณธ๋ค.
โญ1. ์ผํญ ์ฐ์ฐ์ ์ฌ์ฉ๋ฒ
์ผํญ ์ฐ์ฐ์๋ ์ฃผ๋ก ๊ฐ๋จํ ์กฐ๊ฑด์ ๋ฐ๋ฅธ ๊ฐ์ ์ ํํ ๋ ์ฌ์ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ ์ ์ค ํฐ ์๋ฅผ ์ฐพ๊ฑฐ๋, ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ณ์์ ๋ค๋ฅธ ๊ฐ์ ํ ๋นํ๋ ๊ฒฝ์ฐ ๋ฑ์ ์ฌ์ฉํ ์ ์๋ค
int max = (a > b) ? a : b; // a์ b ์ค ๋ ํฐ ๊ฐ์ max์ ํ ๋น
โญ2. ์ผํญ ์ฐ์ฐ์ ์ฅ์
- ๊ฐ๊ฒฐ์ฑ: ์ผํญ ์ฐ์ฐ์๋ if-else๋ฌธ์ ๋นํด ๋ ๊ฐ๊ฒฐํ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค.
- ํํ๋ ฅ: ํ ์ค๋ก ์กฐ๊ฑด์ ๋ฐ๋ฅธ ๊ฐ์ ํํํ ์ ์์ด, ์ฝ๋์ ์๋๋ฅผ ๋ช ํํ๊ฒ ์ ๋ฌํ ์ ์๋ค.
โญ3. ๊ณ ๋ ค์ฌํญ
- ์ผํญ ์ฐ์ฐ์๋ ๊ฐ๋จํ ์กฐ๊ฑด ํ๋จ์ ์ ์ฉํ์ง๋ง, ๋ณต์กํ ๋ก์ง์ด๋ ์ฌ๋ฌ ์กฐ๊ฑด์ ํ๊ฐํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ if-else๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ ํฉํ๋ค.
- ๊ฐ๋ ์ฑ์ด ์ค์ํ ์ํฉ์์๋ ์ผํญ ์ฐ์ฐ์์ ๊ณผ๋ํ ์ฌ์ฉ์ด ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์๋ค. ๋ฐ๋ผ์, ์ฌ์ฉ ์์๋ ๊ฐ๋ ์ฑ์ ์ ์งํ๋ ๊ฒ์ด ์ค์ํ๋ค.
โญ4. ์ฝ๋
- ๊ฐ๋จํ ์กฐ๊ฑด๋ถ ๊ฐ ํ ๋น
int age = 20;
const char* status = (age >= 18) ? "adult" : "minor";
- ์กฐ๊ฑด์ ๋ฐ๋ฅธ ํจ์ ํธ์ถ(๋น์ถ์ฒ)
printf("%s", (isTrue) ? 1 : 0);
- ์ค์ฒฉ ์ฌ์ฉ ์ ์ฃผ์(๋น์ถ์ฒ)
int value = 10;
const char* result = (value > 0) ? "positive" : (value == 0) ? "zero" : "negative";
์ผํญ ์ฐ์ฐ์๋ C์ธ์ด์์ ๊ฐ๊ฒฐํ ์กฐ๊ฑด๋ฌธ์ ์์ฑํ ๋ ์ ์ฉํ๋ค. ํ์ง๋ง, ๊ฐ๋จํ ์กฐ๊ฑด์ ํ์ ๋์ด์ผ ํ๋ฉฐ, ๋ณต์กํ ๋ก์ง์์๋ if-else๋ฌธ์ ์ฌ์ฉ์ ํด์ผํ๋ค.
'๐ท C์ธ์ด 30๊ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C/C++ Tip] 21. C์ธ์ด ๋ฐ๋ณต๋ฌธ: For๋ฌธ (0) | 2024.11.09 |
---|---|
[C/C++ Tip] 20. C์ธ์ด ์กฐ๊ฑด๋ฌธ ๋ง์คํฐํ๊ธฐ : Switch๋ฌธ (1) | 2024.11.05 |
[C/C++ Tip] 18. C์ธ์ด ์กฐ๊ฑด๋ฌธ ๋ง์คํฐํ๊ธฐ : if๋ฌธ์ ๋ชจ๋ ๊ฒ! (0) | 2024.11.05 |
[C/C++ Tip] 17. Static ๋ณ์์ Extern ๋ณ์์ ์ฐจ์ด์ (1) | 2024.11.02 |
[C/C++ Tip] 16. Extern ์ค๋ณต ๋ฌธ์ ํด๊ฒฐ (Include Guard) (0) | 2024.11.02 |