๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋…์ •๋ฆฌ

์ œ์–ด๋ฌธ - switch case

by ์†ก๋‘๋ถ€ 2022. 5. 28.
728x90
๋ฐ˜์‘ํ˜•

์ œ์–ด๋ฌธ ( if / for / else / while / switch-case )

ํ”„๋กœ๊ทธ๋žจ์€ ์ˆœ์„œ / ์กฐ๊ฑด / ๋ฐ˜๋ณต์˜ ๊ธฐ๋Šฅ๋“ค๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.
์ œ์–ด๋ฌธ์œผ๋กœ ์ˆœ์„œ๋ฅผ ๊ฑฐ์Šค๋ฅด๊ณ  ๋›ฐ์–ด๋„˜๊ธฐ๋„ ํ•˜๋Š” ๋“ฑ์˜ ํ–‰์œ„๋ฅผ ํ•˜๋Š” ์ œ์–ดํ•œ๋‹ค.

์ˆœ์„œ๋ฅผ ๋›ฐ์–ด๋„˜๋Š” ์ œ์–ด

switch - case๋ฌธ

  • ๋‹จ์ˆœ ๋น„๊ต๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋ถ„๊ธฐ๋ฌธ
  • ์ผ์น˜/๋“ฑ์น˜ (=)์ผ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

(1) switch-case ๊ธฐ๋ณธ๊ตฌ์กฐ

switch( ๊ฐ’ ) {

case ๋น„๊ต1 : ์‹คํ–‰1; 

break;

case ๋น„๊ต2 : ์‹คํ–‰2; 

break;

case ๋น„๊ต3 : ์‹คํ–‰3;

break;

default ๊ธฐ๋ณธ ์‹คํ–‰;

}

 

(2) ๊ธฐ๋ณธ ๊ตฌ์กฐ ๋ถ„์„

  • switch ๋‹ค์Œ์— ์ œ์‹œ๋œ ๊ฐ’๊ณผ case ๋‹ค์Œ์— ๋‚˜์˜ค๋Š” ๊ฐ’์„ ๋น„๊ตํ•˜๋Š” ๊ตฌ์กฐ
  • ๋น„๊ต ์‹œ ์ œ์‹œ๋œ ๊ฐ’๊ณผ ๋‹ค๋ฅธ ๊ฒฝ์šฐ ์ง€๋‚˜์น˜๋Š” case ๋ถ€๋ถ„ (pass)
  • break : ํ‡ด์ถœ๋ฌธ์žฅ์œผ๋กœ ํ•ด๋‹น ๋ธ”๋ก์„ ๋น ์ ธ๋‚˜๊ฐ„๋‹ค. (get out)
    • break๋ฌธ์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋‹ซ์ง€ ์•Š๋Š”๋‹ค๋ฉดโ” default ์‹คํ–‰๋ฌธ๊นŒ์ง€ ๊ณ„์† ์‹คํ–‰ ๋œ๋‹ค.
    • ๊ฐ๊ฐ์˜ ์‹คํ–‰๋ฌธ์ด ๋ชจ๋‘ ์‹คํ–‰๋˜๊ธฐ์— break๋ฌธ์žฅ ๋ฐ˜๋“œ์‹œ ์žˆ์–ด์•ผํ•œ๋‹ค.
  • default ๊ธฐ๋ณธ์‹คํ–‰๋ฌธ, ๋น„๊ต ๋Œ€์ƒ๊ณผ๋Š” ๋‹ฌ๋ž๊ธฐ์— ์ด๋„์ €๋„์•„๋‹ ๋•Œ
    • default๋ฌธ ๋‹ค์Œ์— ๋ฐ”๋กœ ๋ถ„๊ธฐ๋ฌธ์„ ๋๋‚ด๋Š” ์ค‘๊ฐˆํ˜ธ๊ฐ€ ์žˆ๊ธฐ์— break๋ฌธ์žฅ์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.

 

์•„์Šคํ‚ค ์ฝ”๋“œ(ASCII) : ์ปดํ“จํ„ฐ ์ œ์–ด ๋ฌธ์ž

  • ๋ฏธ๊ตญ ANSI์—์„œ ํ‘œ์ค€ํ™”ํ•œ ์ •๋ณด๊ตํ™˜์šฉ 7๋น„ํŠธ ๋ถ€ํ˜ธ์ฒด๊ณ„
    • 1๋ฐ”์ดํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” 8๋น„ํŠธ ์ค‘์—์„œ 7๋น„ํŠธ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค.
    • ๋‚˜๋จธ์ง€ 1๋น„ํŠธ(Parity Bit)๋Š” ํ†ต์‹  ์—๋Ÿฌ ๊ฒ€์ถœ์„ ์œ„ํ•œ ์šฉ๋„๋กœ ๋น„์›Œ๋‘”๋‹ค.
  • 000(0x00)๋ถ€ํ„ฐ 127(0x7F)๊นŒ์ง€ ์ด 128๊ฐœ์˜ ๋ถ€ํ˜ธ
  • ์˜๋ฌธ ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ธฐํ˜ธ๋“ค์ด ํ• ๋‹น๋˜์–ด ์žˆ๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ถ€ํ˜ธ ์ฒด๊ณ„

๐Ÿ’ฌํ•ด์„

  • ๋ฌธ์ž๊ฐ€ ์ •์ˆ˜๋กœ ์ž์œ ์ž์žฌ๋กœ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    • 32bit ์ฐจ์ด๋กœ ๋Œ€๋ฌธ์ž(A)-์†Œ๋ฌธ์ž(a) ์™”๋‹ค๊ฐ”๋‹ค ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • 16์ง„์ˆ˜ +1/-1 ์ฐจ์ด๋กœ ABCD~~ ์™”๋‹ค ํ•  ์ˆ˜ ์žˆ๋‹ค.
๐Ÿ“Œโญ
switch - case ์ œ์–ด๋ฌธ 
์ž…๋ ฅ๊ฐ’์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

728x90
๋ฐ˜์‘ํ˜•

'๊ฐœ๋…์ •๋ฆฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

API ๋™์ž‘ ๋ฐฉ์‹  (0) 2025.02.11
Next `next dev` vs `next start`  (0) 2024.06.07
ํด๋ž˜์Šค (Class)์˜ ์ธ์Šคํ„ด์Šคํ™”  (0) 2022.05.24
์ œ์–ด๋ฌธ - if  (0) 2022.05.24
์—ฐ์‚ฐ์ž  (0) 2022.05.22

๋Œ“๊ธ€