본문 바로가기
PROGRAMMING/C

C언어 if - else 문 ( else if 문 )

by 쪼렙엔지니어 2022. 9. 19.
반응형

자 지난시간에는 if문의 기본 문법에 대해서 이야기 해 보았습니다. 오늘은 이어서 if else문에 대해서 이야기 해 보겠습니다. else는 영어로 그 외에, 그 밖에 라는 의미를 가지고 있는데 C언어에서는 앞선 if문의 조건을 만족하지 않을 때 를 나타냅니다. 즉 , 앞에 있는 if문의 결과가 0(거짓)일 때 수행해야 할 명령을 else문에 작성하면 되는 것입니다. 이해가 되시나요? 바로 예문을 통해서 한번 알아보도록 하겠습니다.

1. if else 문

위 프로그램에서 주목해야 하는 부분은 바로 else 문이 사용된 부분입니다.

if문이 종결된 다음 바로 else문이 시작되는데 else문에는 따로 조건을 명시하지 않고 바로 중괄호를 열어 실행될 프로그램을 작성하였습니다. 이것은 if문에 명시된 조건이 0(거짓)일 때라는 명제 자체가 else문이 실행되는 조건이 되기 때문에 따로 조건을 명시 할 필요가 없기 때문입니다. (뒤에서 배우겠지만 여기에 추가로 if문을 넣어서 조건을 만들 수도 있습니다.) 그럼 실행결과가 어떻게 나오는지 한번 볼까요?

2022를 입력했을 때만 "맞습니다. 올해는 2022년도 입니다."라는 문구가 출력되고, 다른 값을 입력했을 때는 "아닙니다. 올해는 XXXX년도가 아닙니다."라는 문구가 출력되었습니다. 이렇게 if문의 조건이 거짓이 되는 모든 경우에 else문의 프로그램이 실행되는 것입니다. 

2. if else 반복문

그럼 if를 반복했던 것 처럼 if else문도 반복하여 사용 할 수 있을까요? 당연히 가능합니다. (단, else는 if문에 따라오는 것이기 때문에 else만 단독으로 반복하여 사용할 수 는 없습니다.) 백문이 불여 일견이니 예문으로 바로 한번 보겠습니다.

첫번째 if문이 끝나고 else문이 나왔는데 그 else문 안에 if문을 사용하였습니다. 그 if문이 끝나고 또 다시 else문을 사용 하였고, 다시 그 else문 안에 if문을 사용하고, else문이 따라온 현태입니다. if else문의 반복은 이러한 형태가 기본형태 입니다. 실행을 하여 결과값을 한번 볼까요?

예상했던 결과인가요? 각 if문의 조건에 맞는 값이 입력될 때 해당 프로그램이 정확히 실행되었고, 나머지 프로그램들은 모두 패스 되었음을 알 수 있습니다. 그리고 모든 조건에 부합하지 않을 때 정확하게 마지막 else문의 프로그램이 실행된것을 알 수 있습니다. 그런데 이런식으로 if else문을 반복하여 사용하자니 코딩이 너무 복잡하고 알아보기 힘들어집니다. 그래서 다른방법이 있습니다. 그게 바로 else if문입니다.

3. else if 문

else if문을 사용하면 위와 동일한 코드를 아래와 같이 좀 더 간결하게 바꿀 수 있습니다.

각 else문 별로 중괄호가 하나씩 줄어든 정도이긴 하지만 보기에도 훨씬 편하고 실제로는 훨씬 많은 반복을 줄여줍니다. 이것은 반복횟수가 많아지면 많아질 수록 프로그램을 코딩하는데 유리하겠죠. 정리하자면 아래와 같이 정리 할 수 있습니다.

if문은 정말정말 많이 사용하는 C언어의 가장 기초적인 문법이니 언제든지 마음대로 사용 할 수 있게 연습을 해 두셔야 합니다. 앞으로 배울 다른 기초문법들도 마찬가지겠지만 연습만이 완벽해지는 가장 빠른길이라는 것을 잊지 않아야 합니다.

오늘은 여기까지 하겠습니다. 감사합니다.

제 블로그를 방문해 주셔서 감사합니다.

도움이 되셨다면 공감(좋아요) 부탁드리고,

댓글은 다른분들께도 좋은 정보일 수 있으니

공개로 부탁드립니다.

여러분의 작은 정성이 좋은 포스팅을 생산하는

힘이 된답니다. :)

감사합니다.

 

반응형

'PROGRAMMING > C' 카테고리의 다른 글

C언어 FOR 문 (반복문)  (2) 2022.09.26
논리연산자 ( 논리 곱, 논리 합, 논리 부정 연산자)  (0) 2022.09.21
C언어 if 문  (0) 2022.09.15
문자 데이터 활용 (문자의 입력과 출력)  (0) 2022.09.13
연산의 우선순위  (0) 2022.09.07

댓글