C언어 요점 정리 - 조건문2(if, else if, else)
2022. 1. 3. 19:27ㆍC언어
else if문
자 저번 시간에 배웠던 개념에서 몇 가지를 추가해 봅시다.
수능문제라고 생각을 하셨을때 int age = 5;라는 문제로 보고 1)영유아 2)10대 3) 20대 4) 30대 5)그 외의 보기가 주어진다면 답은 몇번일까요?? age를 바꾼다면 답도 달라지겠지만? 우선 정답은 1번이겠죠?? 1번이 정답일 때 2, 3, 4, 5번 보기를 체크하시나요 안하시나요? 수능을 볼땐 시간이 없으니깐 그냥 체크하고 넘어가겠죠?
자 예시를 들어봅시다.
#include <stdio.h>
int main()
{
int age = 5;
if (age >= 1 && age <= 9) {
printf("영유아");
}
if (age >= 10 && age <= 19) {
printf("10대");
}
if (age >= 20 && age <= 29) {
printf("20대");
}
if (age >= 30 && age <= 39) {
printf("30대");
}
if (age >= 40) {
printf("그 외");
}
return 0;
}
이렇게 되있다고 하면 우선 첫번째 if문이 정답이더라도 컴퓨터는 밑에 문장을 다 실행하게 됩니다. 물론 거짓이기 때문에 출력이 되지는 않지만 시간이 오래걸리겠죠. 자 이때 if else구문을 사용해서 if else if else를 사용한다면 어떻게 될까요? 한덩어리가 되어서 순차적으로 실행하다가 하나가 정답일경우 다른것은 굳이 보지않고 바로 출력하게 되겠죠. 하나가 정답일때 다른 하나가 정답일 수 없는 경우에 이 둘은 양립할 수 없다고 합니다. 1번이 거짓이고 2번이 참일경우 그 외에 명령문을 거들떠보나요?? 안보죠 그럼 뭐가 좋다고 말씀드렸죠?? 실행속도가 빨라집니다~~!!!
if - else if - else문 사용코드
#include <stdio.h>
int main()
{
int age = 5;
if (age >= 1 && age <= 9) {
printf("영유아");
}
else if (age >= 10 && age <= 19) {
printf("10대");
}
else if (age >= 20 && age <= 29) {
printf("20대");
}
else if (age >= 30 && age <= 39) {
printf("30대");
}
else {
printf("그 외");
}
return 0;
}
728x90
'C언어' 카테고리의 다른 글
C언어 요점 정리 - break문, continue문 (0) | 2022.01.05 |
---|---|
C언어 요점 정리 - 반복문(for, while, do - while) (0) | 2022.01.04 |
C언어 요점 정리 - 단일 조건문(if~else) (0) | 2021.12.31 |
C언어 요점 정리 - 산술&비교&논리연산자 (0) | 2021.12.31 |
C언어 요점 정리 - 자료형과 변수 (0) | 2021.12.30 |