1 개념
→ 조건을 평가한 후 참(true)일 경우 특정 코드를 실행하는 제어문
→ 프로그램이 상황에 따라 다른 동작을 하도록 만들어주는 기본 도구
2 장점
→ 직관적이고 이해하기 쉬움
→ 다양한 조건(논리 연산자 포함) 처리 가능
→ if, else if, 중첩 if 등 유연한 확장성을 가짐
→ 모든 데이터 타입과 함께 사용 가능
→ switch보다 더 범용적
3 단점
→ 복잡한 조건은 가독성 저하
→ 조건이 많아질수록 성능 저하 가능
→ 우선순위 실수로 잘못된 결과 유발 가능
→ 중첩된 조건문은 유지보수가 어려움
→ 대규모 조건 분기에는 switch나 함수 포인터가 더 적합할 수 있음
4 종류와 예제
1) if문
→ 조건이 참일 때만 코드 실행
▼ 기본 구조
if (조건식) {
// 조건이 참일 때 실행
}
1-1 코드
#include <stdio.h>
int main(void) {
int num = 10;
if (num > 5) {
printf("%d은 5보다 크다.\n", num);
}
return 0;
}
1-1 결과
2) if ~ else문
→ 조건이 참일 때와 거짓일 때 각각 다른 코드 실행
▼ 기본 구조
if (조건식) {
// 조건이 참일 때
} else {
// 조건이 거짓일 때
}
1-2 코드
#include <stdio.h>
int main(void) {
int num = 10;
if (num == 5) {
printf("%d은 5랑 같다.\n", num);
}
else {
printf("%d은 5랑 다르다.\n", num);
}
return 0;
}
1-2 결과
3) if ~ else if ~ else문
→ 여러 조건을 순차적으로 검사해 첫 번째로 참인 조건의 코드를 실행
▼ 기본 구조
if (조건1) {
// 조건1 참일 때
} else if (조건2) {
// 조건2 참일 때
} else {
// 모든 조건이 거짓일 때
}
1-3 코드
#include <stdio.h>
int main(void) {
int score = 70;
if (score >= 90) {
printf("A\n");
}
else if (score >= 80) {
printf("B\n");
}
else {
printf("C\n");
}
return 0;
}
1-3 결과
4) 중첩 if문
→ 조건문 안에 또 다른 조건문이 있는 형태
→ 중첩 조건이 많아질 경우 가독성이 떨어질 수 있으므로 상황에 따라 else if로 정리하거나 함수로 분리
1-4 코드
#include <stdio.h>
int main(void) {
int score = 70;
if (score >= 90) {
printf("A\n");
}
else {
if (score >= 80) {
printf("B\n");
}
else {
printf("C\n");
}
}
return 0;
}
1-4 결과
5) 삼항 연산자 (조건식 ? 참 : 거짓)
→ 간단한 if~else문을 한 줄로 표현
1-5 코드
#include <stdio.h>
int main(void) {
int num = 10;
num == 5 ? printf("%d은 5랑 같다.\n", num) : printf("%d은 5랑 다르다.\n", num);
return 0;
}
1-5 결과
C언어 if문의 더 상세한 설명과 예시를 알고 싶은 분들은 아래 링크로 접속
☞ https://m.blog.naver.com/math717/223678793863
C언어의 다른 기능 혹은 다른 프로그래밍 언어에 대해 알고 싶은 분들은 아래 링크에 접속하여 원하는 부분의 링크에 접속
'C언어 > 조건문과 반복문' 카테고리의 다른 글
C언어 for문 정리 개념부터 예제, break/continue까지 한눈에 (0) | 2025.05.19 |
---|---|
C 언어 switch 문 가이드 – case, break 예제로 이해 (0) | 2025.05.18 |