C언어 - 조건문

안태현·2025년 2월 22일

C언어

목록 보기
5/5

조건문.. 어떠한 조건을 만족해야 그 안의 내용이 작동하는 문법(?)이다.

조건문에는

if
else if
else
switch

가 있다.

1. if

if 의 의미는 만약에라는 뜻이다.
만약 ~~ 라면
~~ 가 조건이 참(true) 일 때를 뜻한다.

int num = 10;
if (num > 0) {
	printf("num은 양수입니다.\n");
}

위 코드를 확인해 보면 ; (세미클론)을 사용하지 않는 것을 확인할 수 있다.
이점을 유의해서 작성하자.

위 조건문을 해석하면
만약 num이 0 보다 크다면 { } 안에 있는 내용을 실행시킨다.
라는 의미이다.
( )안에 있는 내용이 조건이고, { } 안에 있는 내용이 조건을 만족할 때 실행할 내용이다.

#include <stdio.h>

int main() {
    int score = 85;

    if (score >= 90)
        printf("A\n");
    if (score >= 80)
        printf("B\n");
    if (score >= 70)
        printf("C\n");
    if (score >= 60)
        printf("D\n");
    else
        printf("F\n");

    return 0;
}
[out]
B
C
D

위 예제는 점수에 따른 등급을 정하는 코드이다.
등급은 하나가 나와야 되는데 여러개가 나온 결과를 볼 수 있다.
위 처럼 조건문들 중 특정 조건이 성립을 하면 다음 조건들은 그냥 넘어가게 코드를 작성할 순 없을까?

그럴때 사용하는 것이 else와 ,else if이다.

2. else, else if

먼저 else의 의미를 알아보자.
else그렇지 않다면 이란 뜻으로 해석된다.

예제를 들어 말로 표현해보자.

    int num = 0;

    if (num > 0) {
        printf("num은 양수입니다.\n");
    } else if (num < 0) {
        printf("num은 음수입니다.\n");
    } else {
        printf("num은 0입니다.\n");
    }

num은 0 의 값을 가지고,
만약 num이 0 보다 크다면 { } 내용을 실행시키고,
그렇지 않고 만약 num이 0 보다 작다면 { } 내용을 실행시키고,
그렇지 않다면 { } 내용을 실행시킨다.

와 같이 표현할 수 있다.

위 내용을 바탕으로 if 에서 언급된 문제를 해결 하면 다음과 같다.

#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 if (score >= 60) {
        printf("D\n");
    } else {
        printf("F\n");
    }

    return 0;
}
[out]
B

3. switch

switch전환 이라는 뜻이다.
구조는

switch (변수) {
    case1:
        // 변수 == 값1일 때 실행할 코드
        break;
    case2:
        // 변수 == 값2일 때 실행할 코드
        break;
    default:
        // 모든 case에 해당하지 않을 때 실행할 코드
}

와 같으며 if 문은 범위나 고정된 값에 따라 내용이 바뀐다면 switch 문은 고정된 값에 따라 내용이 바뀐다.

4. 비교

profile
ENTP의 무지성 코딩

0개의 댓글