C에서 if 라는 키워드는 조건적 실행(조건에 따라서 실행을 하느냐 마느냐)를 가능하게 한다. if문은 조건이 만족하면 if문 아래의 문장이 실행되고, 조건이 만족하지 않으면 실행하지 않는다. if문의 영향을 받는 문장은 중괄호로 감싸고 한 줄이라면 들여쓰기로 구분할 수 있다.

다음 코드는 입력받은 숫자에 따라 0보다 큰지, 작은지, 0인지 판단하는 코드이다.

#include <stdio.h>

int main(void){
    int num;
    printf("input number : ");
    scanf("%d", &num);

    if(num<0)
        printf("number is smaller than 0. \n");
    
    if(num>0)
        printf("number is bigger than 0. \n");

    if(num == 0)
        printf("number is 0. \n");

    return 0;
}

 

else 라는 키워드는 독립적으로는 사용할 수 없고, if와 함께 사용해야 한다. if절의 조건이 참이면 if 블록이 실행되고, 거짓이면 else 블록이 실행되는 구조이다. 다음 코드는 입력한 값이 0이면 0이라고 출력하고 다른 값이면 0이 아니라고 출력하는 코드이다.

#include <stdio.h>

int main(void)
{
    int num;
    printf("input number : ");
    scanf("%d", &num);

    if(num==0)
    {
        printf("number is 0\n");
    }
    else
    {
        printf("number is not 0\n");
    }

    return 0;
}

 

위 코드의 경우에는 두 개의 블록중 하나를 선택하여 실행하는 코드였다. else if 라는 키워드를 사용하면 3개이상의 블록중 하나의 블록을 선택하여 실행하도록 할 수 있다. 처음에는 if 절로 끝나고 마지막은 else 절로 끝난다. if절과 else절 사이에는 else if 절을 몇개든지 추가할 수 있다. 조건의 만족 여부 검사는 위에서 아래로 진행되고 조건이 만족되어 해당 블록을 실행하고 나면 마지막 else까지 아래의 블록들은 전부 건너 뛴다.

#include <stdio.h>

int main(void)
{
    int num = 3;
    
    if(num < 0)
    {
        printf("num is smaller than 0\n");
    }
    else if (num > 0)
    {
        printf("num is bigger than 0\n");
    }
    else if(num==3)
    {
        printf("num is 3\n");
    }
    else
    {
        printf("num is 0\n");
    }

    return 0;
}

위 코드의 경우 조건에 만족하는 첫번째 else if절을 실행하고, 다음 코드들은 전부 실행하지 않는다. 두번째 else if 절도 조건을 만족하지만 이미 위 조건을 만족했기 때문에 실행하지 않는다.

'Language > C, C++' 카테고리의 다른 글

[C] break  (0) 2020.12.05
[C] 조건 연산자(삼항 연산자)  (0) 2020.12.05
[C] for  (0) 2020.11.29
[C] do~while  (0) 2020.11.28
[C] while  (0) 2020.11.27

+ Recent posts