C언어/조건문과 반복문

C언어 조건문 정리 (if, else if, 삼항연산자까지 예제로!)

creator6556 2025. 5. 17. 06:35

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언어의 다른 기능 혹은 다른 프로그래밍 언어에 대해 알고 싶은 분들은 아래 링크에 접속하여 원하는 부분의 링크에 접속

https://m.blog.naver.com/math717/223839406931