본문 바로가기

C언어/C언어 문법

[C언어] 조건문 (if문, else if문)

728x90
반응형

조건문

 

조건문을 사용하면 원하는 상황에서만 코드를 실행할 수 있다.

 

즉, 조건식의 값이 true 이면 해당 코드를 실행하게 되는 것이다.

 

if 문의 구성은 다음과 같다.

 

 

조건문의 형태는 반복문과 매우 유사하다.

 

반복문과 마찬가지로 조건식을 갖고 있으며 실행을 원하는 코드를 중괄호 안에 사용하고

코드를 보기 쉽게 하기 위해서 한 칸 들여 쓰기를 해준다.

 

마찬가지로 조건식에 논리연산자를 주로 사용하며 bool 자료형도 사용할 수 있다.

 

또한 실행할 코드가 한 줄이면 중괄호도 생략할 수 있다.

 

따라서 다음과 같은 코드도 작성해 볼 수 있다.

 

#include <stdio.h>
#include <stdbool.h>

int main ()
{
    char val;
    printf("\'Hello World!\' 출력을 원하면 t, 원하지 않으면 f를 입력 : ");
    scanf("%c", &val);
    if (val=='t')
        printf("Hello World!");
    if (val=='f')
        printf("Not Want Hello World!");
    if (true)
        printf("\nEnd");
    return 0;
}
 

 

위 코드에서 t를 입력하면 Hello World! 가 출력되고 f를 입력하면 Not Want Hello World! 가 출력된다.

 

그리고 세 번째 if 문을 보면 조건문의 값이 항상 true이므로 항상 End를 출력하게 된다.

 

 

 

 

 

 

 

else if문

 

else if 문은 여러 개의 if 문을 연결해서 사용할 때 활용된다.

 

else if 를 사용하면 이전에 연결되어 사용된 if 문이 조건을 만족하지 않을 때 조건식을 확인한다.

 

만약 이전에 사용된 if 문이 조건을 만족하면 조건식의 값과 상관없이 실행하지 않고 건너뛴다.

 

예를 들어 if 문은 여러 개의 나열된 식이 여러 개가 실행될 수 있다.

 

#include <stdio.h>

int main ()
{
    int a = 0;
    int b = 5;
    if (a>0)
        printf("첫번째 조건 일치\n");
    if (a==0)
        printf("두번째 조건 일치\n");
    if (b<0)
        printf("세번째 조건 일치\n");
    if (b==5)
        printf("네번째 조건 일치\n");
    return 0;
}

 

 

따라서 위 코드는 "두 번째 조건 일치, 네 번째 조건 일치"를 출력한다.

 

그러나 else if 문을 사용하면 두 번째 조건이 일치하기 때문에 그 밑에 사용된 if 문은 모두 건너뛰게 된다.

 

 

 

 

 

 

#include <stdio.h>

int main ()
{
    int a = 0;
    int b = 5;
    if (a>0)
        printf("첫번째 조건 일치\n");
    else if (a==0)
        printf("두번째 조건 일치\n");
    else if (b<0)
        printf("세번째 조건 일치\n");
    else if (b==5)
        printf("네번째 조건 일치\n");
    return 0;
}
 

따라서 위 코드는 "두 번째 조건 일치" 만을 출력한다.

 

 

 

 

 

 

 

그리고 마지막 else if 문은 if를 생략할 수 있는데 위에서 연결되어 사용된 모든 if 문의 조건이 일치하지 않으면

무조건 실행한다는 의미이다.

 

#include <stdio.h>

int main ()
{
    int a = 0;
    int b = 5;
    if (a>0)
        printf("첫번째 조건 일치\n");
    else if (a!=0)
        printf("두번째 조건 일치\n");
    else if (b<0)
        printf("세번째 조건 일치\n");
    else if (b!=5)
        printf("네번째 조건 일치\n");
    else
        printf("모든 조건 불일치");
    return 0;
}
 

위 코드에서는 모든 if 문의 조건이 일치하지 않기 때문에 마지막 else 안의 내용이 실행된다.

 

따라서 위 코드는 "모든 조건 불일치" 가 출력된다.

 

 

 

 

 

 

 

 

 

728x90
반응형

'C언어 > C언어 문법' 카테고리의 다른 글

[C언어] switch문  (0) 2024.02.10
[C언어] break, continue  (0) 2024.02.10
[C언어] bool 자료형  (0) 2024.02.09
[C언어] 반복문 (do while문)  (0) 2024.02.08
[C언어] 반복문 (for문, while문)  (0) 2024.02.08