// 음수일 때 숫자 표시 프로그램
#include <stdio.h>
int main() {
int number;
printf("정수 입력: ");
scanf("%d", &number);
// number가 0보다 작으면 참
if (number < 0) {
printf("You entered %d.\n", number);
}
printf("The if statement is easy.");
return 0;
}
출력 1
정수 입력: -2
You entered -2.
The if statement is easy.
사용자가 -2를 입력하면 number < 0 표현식이 참이 되어 메시지가 출력됩니다.
출력 2
정수 입력: 5
The if statement is easy.
5 입력 시 표현식은 거짓이 되어 블록 안 printf가 건너뜁니다.
C if…else 문
else 블록을 추가하면 거짓 경우에 실행할 대체 코드를 지정할 수 있습니다. 문법:
if (test expression) {
// 참일 때 코드
} else {
// 거짓일 때 코드
}
if…else 문 작동 원리
• 테스트가 참: if 블록 실행, else 건너뜀.
• 테스트가 거짓: else 블록 실행, if 건너뜀.
예제 2: 홀수/짝수 판별
// 정수가 홀수인지 짝수인지 판별
#include <stdio.h>
int main() {
int number;
printf("정수 입력: ");
scanf("%d", &number);
// 나머지가 0이면 참
if (number % 2 == 0) {
printf("%d is an even integer.", number);
} else {
printf("%d is an odd integer.", number);
}
return 0;
}
출력
정수 입력: 7
7 is an odd integer.
모듈로 연산자로 패리티를 판별하고 else 블록이 홀수 경우를 처리합니다.
C if…else 래더
여러 조건을 순차 평가해야 할 때 if…else if…else 래더가 이상적입니다.
래더 문법
if (condition1) {
// 문장들
} else if (condition2) {
// 문장들
} else if (condition3) {
// 문장들
} else {
// 문장들
}
예제 3: 두 정수 비교
// 두 정수 비교 프로그램
#include <stdio.h>
int main() {
int number1, number2;
printf("두 정수 입력: ");
scanf("%d %d", &number1, &number2);
if (number1 == number2) {
printf("Result: %d = %d", number1, number2);
} else if (number1 > number2) {
printf("Result: %d > %d", number1, number2);
} else {
printf("Result: %d < %d", number1, number2);
}
return 0;
}
출력
두 정수 입력: 12 23
Result: 12 < 23
중첩 if…else
if…else를 다른 if…else 안에 임베드하면 긴 래더 없이 세밀한 분기가 가능합니다.