일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 반복 구조 찾기
- 해결 방안
- 절차적 사고
- 공부정리
- 장치에 할당할 수 없는 NET ID Broadcast주소
- 선택
- 운영체제의 발달 과정
- 말 인용
- 기계어
- 앨런 튜링
- 뿌..
- 운영체제 목적
- 순서도
- 겁나 많아
- 딥러닝
- 절차적 사고의 장점
- gensim 3.7.3 설치 오류
- 처리
- 운영체제 서비스
- 국립과천과학관
- 컴퓨터
- 출력
- 운영체제의 기능 1. 자원 관리 기능 2. 시스템 보호 3. 네트워크(통신 기능)
- 프로그래밍
- 운영체제의 미래
- 레지스터
- 미래 사회의 단위
- 소프트웨어 시대
- 소프트웨어
- 패킷트레이서 이용
- Today
- Total
hye-_
SWITCH 문 본문
SWITCH 문
switch() 문 | ● 조건식의 값에 따라서 여러 경로 중에서 하나를 선택할 수 있는 제어 구조 ● 다중 분기 ● 여러 개의 if-else 문을 대신 하여 간결하게 작성할 때 사용하는 조건문 ● if-else 문이 중첩되어 있으면 가독성이 떨어진다. |
default 문 | ● switch() 문에서 정수값과 일치하는 case가 없을 때 사용하는 키워드 ● 생략 가능 |
switch 문에서 break 문 | ● switch 문에서 모든 case 절은 break 문으로 끝난다. ● 실행순서가 switch 문을 빠져 나간다. |
01. SWITCH 문 기본구조
1. 개요
printf로 위의 말들을 보여준 다음에
사용자가 1번, 2번, 3번, 4번, 5번 중 하나를 선택할 것이다.
이것을 if문으로 한다면
if 선택한 게 1번이니?
else if 아니면 2번이니?
else if 아니면 3번이니?
else if 아니면 4번이니?
else 다 아니면 5번이겠네
이렇게 여러 번 골라야 된다. 그럴 때 사용하는 switch 문이 있다.
switch문은 기니 아니니?라고 물어보는 것이 아니라 몇 번이니?라고 바로 물어볼 수 있다.
즉, 5가지 중에 "0번이면 어떤 일을 하세요"라고 말해줄 수 있는 게 switch 문이다.
(1) switch 문
조건식의 값에 따라서
여러 경로 중에서 하나를 선택할 수 있는 제어 구조이다.
그래서 switch 문은 보통 if 문이랑 같이 공부한다. 어떤 게 더 중요하냐?
사실은 if 문을 훨씬 더 많이 사용한다. 그래서 if 문을 아는 게 중요하고 if 문 중에 if else, else if로 여러 가지 중에서 골라야 되는 경우가 있으면 switch 문으로 쓸 수 있다는 것을 알면 된다.
다중 분기
여러 개의 if-else 문을 대신하여 간결하게 작성할 때 사용하는 조건문
순서도
조건식이 아닌 조건값임을 기억해야 된다.
조건식은 참 또는 거짓이 나온다.
조건값이 C1이면 명령문 1 실행하고 내려가서 명령문 5 실행, C2면 명령문 2 실행..., C3이면 명령문 3 실행... , C4이면 명령문4 실행 ...
switch 문 기본 형식
switch 문 형식은 조금 복잡하다.
if문은 조건식과 명령문으로 간단하다. 근데 if-else, else if문 등 복잡할 때에는 switch문이 더 깔끔해 보인다.
그래서 만약 if else가 한 개, 두 개이면 switch 할 필요가 없다.
오히려 복잡해진다.
if와 마찬가지로 switch 또한 스펠링을 대문자로 쓰면 안 된다.
● if문에서는 중괄호가 없어도 될 때가 있는데, switch문에서는 중괄호가 반드시 있어야 만한다.
● switch문에서 default 없어도 되는데, 사용하려면 스펠링 틀리면 절대 안 되고, 대문자여도 안된다.
● 콜론 : 반드시 있어야 된다.
● break 대문자이면 안 되고, 스펠링 철자 틀리면 안 된다.
빨간색으로 밑줄 그어져 있는 건 '키워드'이다.
예약어, 키워드라고 불리는데, 이것들은 철자를 틀리면 안 된다. 소문자로 사용해야 된다. 변수 이름으로 사용할 수 없다.
(2) if 문
조건식의 값에 따라서
두 경로 중에서 하나를 선택할 수 있는 제어 구조
이중 분기
if - else 문이 중첩되어 있으면 가독성이 떨어진다.
if 문 기본형식
![]() |
![]() |
![]() |
(3) if - else if 문
여러 번 비교하게 된다.
프로그램의 제어 구조가 복잡해지는 단점이 있다. 그래서 switch문이 나왔다.
![]() |
![]() |
3. 간단한 switch 문
int n에 2 값이 들어있다.
그러면 switch(조건값) n에는 2가 들어져 있는 것이다.
case 값
case와 값은 꼭 띄어쓰기가 있어야된다. 빈칸이 2개여도 돼고, 4개, 6개도 되는데, 어쨌뜬 뛰어쓰기가 반드시 있어야 된다.
case1 이렇게 붙여서 사용하면 안 된다.
case 1 n이 1인지,
case 2 n이 2인지,
case 3 n이 3인지를 본다.
n은 2이기 때문에
case 1은 건너뛰고 바로 case 2로 간다. : (콜론) 다음에 있는 것을 실행한다. 그러면 "2번" 이 출력된다.
break를 만난다.
break를 만나면 제일 끝으로 간다. 그래서 switch 문 바깥으로 나간다.
02. CASE와 DEFAULT
1. 키워드
(1) switch 문에서 사용되는 키워드
● switch
● case
● break
● default
(2) 조건값
조건값에는
정수상수 또는 문자상수가 들어간다.
수식의 결과로 나오는 정수상수는 된다.
예를 들어 5+8의 결과값은 13으로 정수상수이기 때문에 조건값으로 들어갈 수 있다.
실수상수나 문자열상수는 사용이 불가하다.
실수 변수 double d가 조건값으로 들어가면 오류가 난다.
case의 값 또한 실수로 하지 못한다.
2. case 문
case 문은
case가 하나 이상 반드시 있어야 한다.
(1) case 문에서 정수값
switch문의 조건값으로는 정수상수, 문자상수가 와야 되는 것과 같이
case의 값 또한 정수상수, 문자상수여야 된다.
순서에 상관없이 나열할 수 있다.
0과 3을 사용하는데 3을 먼저 사용해도 상관이 없다. 즉, 순서를 맞출 필요는 없다.
(2) case 문에서 실수값은 사용할 수 없다.
'1' 이것은 문자상수이다.
작은따옴표가 있기 때문에 문자로 본다.
(3) case 문에서 중괄호 사용
switch문에서는 중괄호가 꼭 필요하다. 그러나 case 문에서의 중괄호는 일반적으로 필요 없다.
특정 case에서만 사용되는 변수 선언 시 필요하다.
case 2 : { int sec = 3...}
sec 변수를 case 2의 중괄호 안에서만 사용한다. case 2 밖에서는 sec 변수를 알지 못한다.
3. default 문
default 문
조건값과 일치하는 case가 없을 때 사용하도록 default 문을 두고 있다.
생략 가능하기는 하지만 가능하면 사용하기를 권장한다.
혹시라도 오류가 생길 수 있는데 그것을 default가 막아주세요
이것을 '예외처리'라고도 할 수 있다.
03. SWITCH 문에서의 BREAK 문
1. 기본 개념
switch 문
case 문은 break 문으로 끝난다.
break 문
switch 문을 빠져나간다.
case 문이 break 문으로 끝나지 않으면
선택된 case 문 안의 명령문들이 실행된 다음,
break문을 만날 때까지 계속해서 아래의 명령문이 실행된다.
break문 생략 가능
예 1 ) 고의적인 생략
1~5까지 정수를 받아 별출력
예 2) 고의적인 생략
사용자의 등급을 받아 등급의 권한을 알려준다.
'CS > C언어1' 카테고리의 다른 글
WHILE 문 (0) | 2023.12.07 |
---|---|
IF 문과 SWITCH 문 (1) | 2023.12.06 |
다중 IF 문 (2) | 2023.12.05 |
조건문 IF (0) | 2023.12.04 |
증감 연산자, 관계 연산자, 논리 연산자 (0) | 2023.12.01 |