본문 바로가기
코딩/C 언어

C언어 기초 - 조건문 if , else if, else 이해하기

by DIYver 2020. 7. 5.

본문 목표

 조건문은 주어진 조건이 참일 경우 해당 코드를 실행하는 명령이다.

 

주어진 조건에 따라서 경우의 수를 여러개로 나눌 수 있는데,

 

if, else if, else 가 그렇다.

 

if 를 여러개 사용해도 되지만, 그러면 안 되는 이유는

 

실행 속도에서 손해를 보기 때문이다.

 

if 는 무조건 조건 검사를 하는데,

 

이미 해결된 사안이고, 뒤에 있는 거짓이라 필요 없음에도 다 한번씩 두드려보기에

 

코드 작동 속도에 저하가 생기게 된다.

 

따라서 올바른 조건문을 사용할 줄 알아야 한다.

 

 

 

 

개념 정리

if, else if, else 의 사용 방법은 아래와 같다.

 

if ( 조건1 )

{

  조건 1이 참이면 실행

}

else if ( 조건2 )

{

  조건 1이 거짓이고,

  조건 2가 참이면 실행

}

else if ( 조건3 )

{

  조건 1이 거짓이고,

  조건 2도 거짓이고,

  조건 3이 참이면 실행

}

else

{

  조건 1, 2, 3 모두 거짓이면 실행

}

 

위의 조건 중에서 어느 한곳에라도 걸린다면

 

그 다음 조건은 뒤도 안 돌아보고 바로 PASS 해버린다.

 

 

 

 

 

 

 

코드

#include <stdio.h>

void main()
{
	int age = 25;

	if (age < 10)
	{
		printf("   나이가 10살 미만입니다.\n\n");
	}
	else if (age < 20)
	{
		printf("   나이가 10대 입니다. \n\n");
	}
	else
	{
		printf("   나이가 20살 이상입니다.\n\n");
	}

	return;
}

 

 

 

 

 

 

 

 

실행 결과

 

 

 

 

해석

처음에 age 라는 변수에 25 를 저장하였고,

 

조건문으로 3개를 이용해서 구간을 나누어 보았다.

 

첫번째 조건으로  age < 10  ? 이라는 조건을 썼지만, 거짓이기에 PASS

 

두번째 조건으로  age < 20  ? 이라는 조건을 썼지만, 역시 거짓이기에 PASS

 

마지막 조건은 앞선 조건이 다 거짓일 경우에 실행되므로

 

해당 코드가 실행 되었다.

 

 

 

 

 

 

 

 

결론

if 로만 코드를 짰다면 

아래와 같이 코딩을 했어야 했다.

조건이 더 많아 진 것을 알 수 있고,

 

만약 age 변수가 15 였다면,

 

맨 마지막 조건은 검증할 필요도 없지만, 컴퓨터는 검증을 해버리게 되므로 실행 속도가 저하되는 결과를 가져오게 된다.

 

따라서 간결하고 명료하게 조건문을 사용하기 위해서 if, else if, else 를 다룰 줄 알아야 하고,

 

실행 속도를 빠르게 하기 위해서도 if, else if, else 를 다뤄야 한다.

 

 

 

 

 

 

도움이 되었거나, 문제가 있는 경우 댓글로 알려주세요~!

감사의 댓글은 작성자에게 큰 힘이 됩니다 ^^

댓글