현승일 교수
5주차 2강. switch 조건문
학습내용
학습목표 1. 삼항연산자
2. break와 continue 3. switch 조건문
1. 삼항연산자를 설명할 수 있다.
2. break와 continue를 설명할 수 있다.
3. switch 조건문을 설명할 수 있다.
◉ 삼항연산자 개요
1. 삼항연산자(1)
• 피연산자가 3개인 삼항연산자 : if 문 일부 대체 가능
• 사용 예 – 실제 프로그래밍에서 사용빈도 매우 높음 - 사용 형태 : (조건) ? data1 : data2
조건이 참이면 연산결과로 data1 이 반환되고, 거짓이면 data2 반환 - int num3 = (num1 > num2) ? num1 : num2;
대입연산자 보다 조건연산자가 우선순위가 높으므로, 조건연산자 선 수행
이후, 조건이 만족되면 num3 = num1;
그렇지 않으면 num3 = num2;
◉ 삼항연산자 예시
1. 삼항연산자(2)
◉ break
2. break와 continue(1)
• 반복문 탈출 시 사용하는 키워드
• break문을 가장 가까이서 감싸고 있는 반복만 하나를 빠져 나오게 됨
(사용 예) while (1) {
sum += num;
if (sum > 5000) break;
else num++;
}
◉ continue
2. break와 continue(2)
• 반복문안에서 continue 가 실행되면 실행중인 위치에 상관없이 반복문의 조건검사 위치로 이동을 하며, 검사결과 반복조건이 여전히 참이면 반복영역을 다시 실행하게 됨
• 위의 프로그램이 실행되면, 2와 3의 배수는 print 되지 않음
(사용 예)
for (num=1; num<20; num++) {
if (num%2==0) || num%3==0) continue;
printf(“%d”, num);
}
◉ switch문의 개요
3. switch 조건문(1)
• 조건이 다수 일 경우 매번 if문의 사용은 비효율적
• 형식
switch(변수) {
case 1; // 첫번째 케이스 실행문장;
case 2; // 두번째 케이스 실행문장;
………
case n; // n번째 케이스 실행문장;
default; // 앞의 케이스 어느 것에도 속하지 않는 경우 실행문장;
}
◉ switch문의 예제
3. switch 조건문(2)
switch(opt){
case 1:
printf("결과 : %f \n", val1 + val2);
break;
case 2:
printf("결과 : %f \n", val1 - val2);
break;
case 3:
printf("결과 : %f \n", val1 * val2);
break;
case 4:
printf("결과 : %f \n", val1 / val2);
break;
default:
printf(“숫자를 잘못 입력하셨습니다.\n”);
break;
}
◉ if ~ else문으로의 변환
3. switch 조건문(3)
(생략)
if(opt==1) {
result = val1 + val2;
printf("결과 : %f \n", result);
} else if(opt==2) {
result = val1 - val2;
printf("결과 : %f \n", result);
} else if(opt==3) {
result = val1 * val2;
printf("결과 : %f \n", result);
} else if(opt==4) {
result = val1 / val2;
printf("결과 : %f \n", result);
} else{
printf("잘못된 선택을 하셨습니다. \n");
} (생략)
3. switch 조건문(4)
switch 조건문 활용 예
• break 문이 없으면 선택된 이후의 것 모두 실행함 – default 포함
정리하기(1)
1. 삼항연산자
- 사용형태 : (조건) ? data1 : data2
→ 조건이 참이면 연산결과로 data1이 반환되고, 거짓이면 data2가 반환
2. break와 continue
- break : 반복문 탈출 시 사용, break문을 가장 가까이서 감싸고 있는 반복만 하나를 빠져 나오게 됨
- continue : 반복문안에서 continue 가 실행되면 실행중인 위치에 상관없이 반복문의 조건검사 위치로 이동을 하며, 검사결과 반복조건이 여전히 참이면 반복영역을 다시 실행하게 됨
정리하기(2)
3. switch 조건문
switch(변수) {
case 1; // 첫번째 케이스 실행문장;
case 2; // 두번째 케이스 실행문장;
………
case n; // n번째 케이스 실행문장;
default; // 앞의 케이스 어느 것에도 속하지 않는 경우 실행문장;
}
다음시간에는…
에 대해 학습해 보겠습니다.
참고문헌