C 언어의 if-else 문은 조건이 참(true)일 때와 거짓(false)일 때 각각 다른 코드 블록을 실행하는 기본적인 조건문입니다. 조건식이 참으로 평가되면 '참 블록(true block)'이 실행되고, 거짓으로 평가되면 '거짓 블록(false block)', 즉 else 블록이 실행됩니다.
if-else 문 기본 문법
if-else 문의 기본 구조는 아래와 같습니다.
if (조건식) {
// 조건이 참일 때 실행되는 문장들
} else {
// 조건이 거짓일 때 실행되는 문장들
}
- 조건식(condition): 참 또는 거짓으로 평가되는 표현식으로, 비교 연산자(==, !=, >, <)나 논리 연산자(&&, ||)를 활용해 작성합니다.
- 참 블록: 조건식이 참일 때 실행되며, 중괄호 {} 안에는 여러 개의 문장을 작성할 수 있습니다.
- else 블록: 조건식이 거짓일 때 실행되며, 필요하지 않다면 생략할 수도 있습니다.
if-else 문의 동작 원리
- 조건식이 참이면 프로그램 흐름이 if 블록으로 진입해 해당 연산을 수행한 뒤 블록을 빠져나가고, else 블록은 건너뜁니다.
- 조건식이 거짓이면 if 블록을 건너뛰고 else 블록으로 진입해 그 안의 문장들을 실행한 뒤 빠져나갑니다.
- 두 블록 중 단 하나의 블록만 실행되며, 절대로 동시에 실행되지 않습니다.
예제: 홀수·짝수 판별 프로그램
다음은 사용자로부터 정수를 입력받아 if-else 문으로 홀수인지 짝수인지 판별하는 C 프로그램입니다.
#include <stdio.h>
int main(void) {
int a = 4;
printf("숫자를 입력하세요: ");
scanf("%d", &a);
if (a % 2 == 1) {
printf("%d는 홀수입니다.\n", a);
} else {
printf("%d는 짝수입니다.\n", a);
}
return 0;
}
여기서 핵심은 나머지 연산자 %입니다. 어떤 수를 2로 나눈 나머지가 1이면 홀수, 0이면 짝수라는 성질을 이용해 a % 2 == 1이라는 조건식으로 홀수 여부를 검사합니다.
실행 결과
프로그램을 실행하면 입력값에 따라 다음과 같은 출력을 확인할 수 있습니다.
[실행 1] 숫자를 입력하세요: 26 26는 짝수입니다. [실행 2] 숫자를 입력하세요: 53 53는 홀수입니다.
첫 번째 실행에서 26을 입력하면 26 % 2의 결과가 0이므로 조건식이 거짓이 되어 else 블록이 실행됩니다. 반면 두 번째 실행에서 53을 입력하면 53 % 2의 결과가 1이므로 조건식이 참이 되어 if 블록이 실행되는 것을 확인할 수 있습니다.