본문 바로가기
C 언어

C언어 조건문 총정리 - if, else if, else, switch, 중첩 if문, 삼항연산자 예시코드

by Best Coding 2024. 12. 23.
반응형

C언어 조건문 총 정리

반응형

 

 C언어의 조건문은 프로그램의 흐름을 제어하는 데 핵심적인 역할을 합니다. 조건문을 잘 활용하면 효율적이고 가독성이 높은 코드를 작성할 수 있습니다. 이 글에서는 C언어 조건문의 모든 개념과 사용법을 예제 코드와 함께 자세히 살펴보겠습니다.


0. 조건문이란?

조건문은 프로그램이 특정 조건을 만족할 때만 실행되는 코드를 작성할 수 있도록 도와주는 문법 구조입니다. 주요 조건문으로는 다음과 같은 것들이 있습니다:

  1. if
  2. if-else
  3. 다중 조건 else if
  4. 중첩된 조건문
  5. switch
  6. 삼항 연산자

 

1. if 문

if 문은 주어진 조건이 참일 때만 코드를 실행합니다.

구문 형식

if (조건) {
    // 조건이 참일 때 실행될 코드
}

예제 코드

#include <stdio.h>

int main() {
    int age = 20;

    if (age >= 18) {
        printf("성인입니다.\n");
    }

    return 0;
}

출력:

성인입니다.

 

2. if-else 문

if 문에 조건이 거짓일 때 실행되는 코드를 추가하려면 else 문을 사용합니다.

구문 형식

if (조건) {
    // 조건이 참일 때 실행될 코드
} else {
    // 조건이 거짓일 때 실행될 코드
}

예제 코드

#include <stdio.h>

int main() {
    int number = 10;

    if (number % 2 == 0) {
        printf("짝수입니다.\n");
    } else {
        printf("홀수입니다.\n");
    }

    return 0;
}

출력:

짝수입니다.

 

3. 다중 조건: else if

여러 조건을 처리해야 할 경우 else if를 사용합니다.

구문 형식

if (조건1) {
    // 조건1이 참일 때 실행될 코드
} else if (조건2) {
    // 조건2가 참일 때 실행될 코드
} else {
    // 모든 조건이 거짓일 때 실행될 코드
}

예제 코드

#include <stdio.h>

int main() {
    int score = 85;

    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;
}

출력:

B 등급

 

4. 중첩된 조건문

조건문을 중첩하여 복잡한 조건을 처리할 수 있습니다.

예제 코드

#include <stdio.h>

int main() {
    int age = 20;
    int has_ticket = 1;

    if (age >= 18) {
        if (has_ticket) {
            printf("입장 가능합니다.\n");
        } else {
            printf("티켓이 필요합니다.\n");
        }
    } else {
        printf("성인이어야 입장 가능합니다.\n");
    }

    return 0;
}

출력:

입장 가능합니다.

 

5. switch 문

switch 문은 하나의 변수 값을 여러 조건과 비교해야 할 때 유용합니다.

구문 형식

switch (변수) {
    case 값1:
        // 값1일 때 실행될 코드
        break;
    case 값2:
        // 값2일 때 실행될 코드
        break;
    default:
        // 어떤 case도 만족하지 않을 때 실행될 코드
}

예제 코드

#include <stdio.h>

int main() {
    int menu = 2;

    switch (menu) {
        case 1:
            printf("1번 메뉴 선택\n");
            break;
        case 2:
            printf("2번 메뉴 선택\n");
            break;
        case 3:
            printf("3번 메뉴 선택\n");
            break;
        default:
            printf("잘못된 선택\n");
    }

    return 0;
}

출력:

2번 메뉴 선택

 

6. 삼항 연산자

삼항 연산자는 조건문을 간단하게 표현할 때 유용합니다. 특히, 조건에 따라 값을 반환하거나 간단한 작업을 수행할 때 많이 사용됩니다.

구문 형식

조건 ? 참일 때 값 : 거짓일 때 값;

예제 코드

#include <stdio.h>

int main() {
    int number = 10;
    const char* result = (number % 2 == 0) ? "짝수" : "홀수";

    printf("%d은(는) %s입니다.\n", number, result);

    return 0;
}

출력:

10은(는) 짝수입니다.

장점

  • 코드의 간결성 증가
  • 단순 조건 처리에 적합

주의점

  • 삼항 연산자가 복잡해지면 가독성이 떨어질 수 있으므로, 단순한 조건에만 사용하는 것이 좋습니다.

 

7. 조건문 사용 시 주의점

  1. 조건식의 정확성: 조건식이 잘못되면 프로그램이 예상치 못한 동작을 할 수 있습니다.
  2. 중첩 조건문 최소화: 너무 많은 중첩은 가독성을 떨어뜨립니다.
  3. switch문은 break 빼먹지 않기: switch 문에서 break를 빼먹으면 다음 case로 넘어가게 됩니다.
반응형

댓글