C언어 초급 - 6장: 조건문 (6.1 if, if-else 문)
2025. 2. 23. 18:55ㆍ프로그래밍 언어/C
6.1 if, if-else 문
C 언어에서 if 문은 프로그램이 특정 조건을 만족하는지 검사하고, 그 결과에 따라 다른 동작을 수행하도록 제어하는 조건문입니다.
또한 if-else 문을 사용하면 참(true)일 때와 거짓(false)일 때 각각 다른 코드를 실행할 수 있습니다.
1. if 문 – 단일 조건 처리
1.1 if 문 개념
- if 문은 조건이 참(true)일 때만 코드 블록을 실행합니다.
- 조건이 거짓(false)이면 아무 동작도 수행하지 않습니다.
1.2 if 문 기본 구조
if (조건) {
// 조건이 참일 때 실행할 코드
}
1.3 if 문 예제
#include <stdio.h>
int main() {
int age = 20;
if (age >= 18) {
printf("성인입니다.\n");
}
printf("프로그램 종료.\n");
return 0;
}
출력 결과
성인입니다.
프로그램 종료.
📌 설명
- age >= 18 조건이 참(true → 20 >= 18).
- "성인입니다." 출력 후 "프로그램 종료." 출력.
2. if-else 문 – 단일 조건의 참/거짓 처리
2.1 if-else 문 개념
- if 문은 조건이 참(true)일 때 실행되지만,
- else 문은 조건이 거짓(false)일 때 실행됩니다.
2.2 if-else 문 기본 구조
if (조건) {
// 조건이 참일 때 실행할 코드
} else {
// 조건이 거짓일 때 실행할 코드
}
2.3 if-else 문 예제
#include <stdio.h>
int main() {
int age;
printf("나이를 입력하세요: ");
scanf("%d", &age);
if (age >= 18) {
printf("성인입니다.\n");
} else {
printf("미성년자입니다.\n");
}
return 0;
}
실행 예시
나이를 입력하세요: 15
미성년자입니다.
나이를 입력하세요: 20
성인입니다.
📌 설명
- age >= 18 → 참이면 "성인입니다." 출력.
- 거짓이면 "미성년자입니다." 출력.
3. 복합 조건 처리 (if-else if-else)
3.1 if-else if-else 문 개념
- 여러 개의 조건을 검사할 때 if-else if-else 문을 사용합니다.
- 첫 번째 조건이 거짓이면 다음 else if 조건을 검사합니다.
- 모든 조건이 거짓이면 else 블록이 실행됩니다.
3.2 if-else if-else 문 기본 구조
if (조건1) {
// 조건1이 참일 때 실행
} else if (조건2) {
// 조건2가 참일 때 실행
} else {
// 모든 조건이 거짓일 때 실행
}
3.3 if-else if-else 문 예제
#include <stdio.h>
int main() {
int score;
printf("점수를 입력하세요: ");
scanf("%d", &score);
if (score >= 90) {
printf("등급: A\n");
} else if (score >= 80) {
printf("등급: B\n");
} else if (score >= 70) {
printf("등급: C\n");
} else {
printf("등급: F\n");
}
return 0;
}
실행 예시
점수를 입력하세요: 85
등급: B
점수를 입력하세요: 72
등급: C
점수를 입력하세요: 95
등급: A
점수를 입력하세요: 60
등급: F
📌 설명
- score >= 90이면 "A" 출력.
- score >= 80이면 "B" 출력.
- score >= 70이면 "C" 출력.
- 70 미만이면 "F" 출력.
4. 논리 연산자를 활용한 복합 조건 처리
if 문에서 논리 연산자 (&&, ||) 를 사용하면 복합적인 조건을 검사할 수 있습니다.
4.1 논리 AND (&&) 예제
두 개의 조건이 모두 참이어야 실행됩니다.
#include <stdio.h>
int main() {
int age;
int hasID;
printf("나이를 입력하세요: ");
scanf("%d", &age);
printf("신분증이 있습니까? (1: 예, 0: 아니오): ");
scanf("%d", &hasID);
if (age >= 18 && hasID == 1) {
printf("입장 가능합니다.\n");
} else {
printf("입장 불가능합니다.\n");
}
return 0;
}
실행 예시
나이를 입력하세요: 20
신분증이 있습니까? (1: 예, 0: 아니오): 1
입장 가능합니다.
📌 설명
- 나이가 18 이상이고 신분증이 있음 → 입장 가능.
- 둘 중 하나라도 만족하지 않으면 입장 불가능.
4.2 논리 OR (||) 예제
하나라도 참이면 실행됩니다.
#include <stdio.h>
int main() {
int temperature;
printf("현재 온도를 입력하세요: ");
scanf("%d", &temperature);
if (temperature < 0 || temperature > 35) {
printf("주의: 날씨가 매우 극단적입니다!\n");
} else {
printf("날씨가 적당합니다.\n");
}
return 0;
}
실행 예시
현재 온도를 입력하세요: 40
주의: 날씨가 매우 극단적입니다!
📌 설명
- 온도가 0°C 미만이거나 35°C 초과이면 경고 메시지 출력.
5. if 문을 활용한 짝수/홀수 판별
#include <stdio.h>
int main() {
int num;
printf("정수를 입력하세요: ");
scanf("%d", &num);
if (num % 2 == 0) {
printf("%d는 짝수입니다.\n", num);
} else {
printf("%d는 홀수입니다.\n", num);
}
return 0;
}
실행 예시
정수를 입력하세요: 10
10는 짝수입니다.
정수를 입력하세요: 7
7는 홀수입니다.
📌 설명
- num % 2 == 0 → 나머지가 0이면 짝수.
- 그렇지 않으면 홀수.
6. 정리
문법 | 설명 | 예제 |
if | 조건이 참이면 실행 | if (x > 0) { } |
if-else | 조건이 참이면 if 실행, 거짓이면 else 실행 | if (x > 0) { } else { } |
if-else if-else | 여러 개의 조건을 검사 | if (x > 10) { } else if (x > 5) { } else { } |
📌 조건이 하나일 때 → if 사용
📌 참/거짓에 따라 다른 코드 실행 → if-else 사용
📌 여러 개의 조건 검사 → if-else if-else 사용
'프로그래밍 언어 > C' 카테고리의 다른 글
C언어 초급 - 6장: 조건문 (6.3 switch-case 문) (0) | 2025.02.23 |
---|---|
C언어 초급 - 6장: 조건문 (6.2 else if 문 – 여러 가지 조건 분기) (0) | 2025.02.23 |
C언어 초급 - 5장: 연산자와 표현식 (5.5 증감 연산자 (++, --)) (0) | 2025.02.23 |
C언어 초급 - 5장: 연산자와 표현식 (5.4 논리 연산자 (&&, ||, !)) (0) | 2025.02.23 |
C언어 초급 - 5장: 연산자와 표현식 (5.3 관계 연산자 (==, !=, >, <, >=, <=)) (0) | 2025.02.23 |