๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programming/C language

7 if & switch

by Dowon Kang 2024. 1. 23.

if statement 

if ๋ฌธ์€ ์กฐ๊ฑด์„ ํ‰๊ฐ€ํ•˜์—ฌ ํ•ด๋‹น ์กฐ๊ฑด์ด ์ฐธ(true)์ธ ๊ฒฝ์šฐ์— ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ํ•˜๋Š” ์กฐ๊ฑด๋ฌธ์ž…๋‹ˆ๋‹ค. C ์–ธ์–ด์—์„œ if ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ์ ์ธ ํ˜•ํƒœ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ "์กฐ๊ฑด"์€ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’ ๋˜๋Š” ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ‘œํ˜„์‹์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์กฐ๊ฑด์ด ์ฐธ์ด๋ฉด, ์ค‘๊ด„ํ˜ธ {} ์•ˆ์— ์žˆ๋Š” ์ฝ”๋“œ ๋ธ”๋ก์ด ์‹คํ–‰๋˜๊ณ , ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ด๋ฉด ๋ธ”๋ก์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

if ๋ฌธ์€ ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜๋„ ์žˆ๊ณ , else๋‚˜ else if ๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ์ฝ”๋“œ์—์„œ else if๋Š” ์ถ”๊ฐ€์ ์ธ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜๋ฉฐ, else๋Š” ์–ด๋–ค ์กฐ๊ฑด๋„ ๋งŒ์กฑํ•˜์ง€ ์•Š์„ ๋•Œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ else if ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 


 

 

Switch statement 

switch ๋ฌธ์€ ํŠน์ • ๋ณ€์ˆ˜์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์กฐ๊ฑด๋ฌธ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ case ๋ฌธ์œผ๋กœ ๋ถ„๊ธฐ๋˜๋ฉฐ, ๋งค์น˜๋˜๋Š” case๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋ฉด ํ•ด๋‹น case๋ถ€ํ„ฐ break ๋ฌธ์ด๋‚˜ return ๋ฌธ์„ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€์˜ ์ฝ”๋“œ ๋ธ”๋ก์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  • switch ๋ฌธ์—์„œ๋Š” break๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ case์—์„œ ๋น ์ ธ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ break๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ํ•ด๋‹น case์—์„œ๋ถ€ํ„ฐ ๋‹ค์Œ case๋กœ ๊ณ„์† ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • default๋Š” ๋ชจ๋“  case์— ๋งค์น˜๋˜์ง€ ์•Š์„ ๋•Œ ์‹คํ–‰๋˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. default๋Š” ์ƒ๋žต๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ฃผ์˜
1) switch ๋ฌธ์€ expression์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋ถ„๊ธฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •์ˆ˜, ๋ฌธ์ž, ์—ด๊ฑฐํ˜• ๋“ฑ์˜ ๊ฐ’์— ๋Œ€ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
2) switch ๋ฌธ ๋‚ด์—์„œ๋Š” case์˜ ๊ฐ’๋“ค์ด ์ƒ์ˆ˜ ๋˜๋Š” ๋ฆฌํ„ฐ๋Ÿด์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด C99 ์ด์ƒ์˜ ๋ฒ„์ „์—์„œ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ ํ›„ case์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

'Programming > C language' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

9 while & do-while (feat. break & continue)  (1) 2024.01.23
8 for loop (feat. Nested loop)  (1) 2024.01.23
6 scanf ํ•จ์ˆ˜ (feat. format specifiers)  (0) 2024.01.23
5 Operator  (1) 2024.01.23
4 Constant  (1) 2024.01.23

๋Œ“๊ธ€