if문은 특정 조건이 true이면 처리하고 그렇지 않으면 처리하지 않는 그런 곳에 사용하는 간단한 분기 처리문입니다. if문은 몇 가지 형태로 구성할 수 있는 데, 가장 간단한 것 부터 알아보겠습니다.

 

if문

if(condition) 
{
     // condition이 0이 아니면 처리하는 로직
}

if문 단독으로 사용하는 경우는 condtion 조건이 만족하는 경우에만 추가적인 로직을 실행하는 경우에 사용합니다. condition은 다양한 형태가 될 수 있습니다. 

 

예1). condition이 단순히 변수인 경우

int a = 0;

......

if(a) 
{
     printf("a = %d\n", a);
}

위의 예제는 a의 값이 0이 아니면 a의 값을 출력하는 프로그램입니다. if문은 하나의 문장만 실행하는 경우에는 아래와 같이 { ~ }를 생략이 가능합니다. 하나의 문장이라고 함은 ;로 끝나는 것을 문장이라고 합니다.

 

int a = 0;

......

if(a) 
     printf("a = %d\n", a);

되도록이면 하나의 문장이라도 { ~ }를 생략하지 말고 첫번째처럼 { ~ }로 감싸주시는 것이 좋습니다.

 

 

예2). condition이 비교 및 논리 연산을 사용하는 경우

int a;
int b;

......

if(a > b)
{
     printf("a = %d\n", a);
}

 


 

if ~ else ~문

if ~ else문은 특정 조건일 때와 그렇지 않은 경우에 로직이 다른 경우 사용합니다.

if(condition) {

    // condition이 true이면 실행되는 부분

} else {

    // condition이 false이면 실행되는 부분
    
}

 

예제). 2개의 값 중에서 max 값을 얻는 예제

int a;
int b;
int max;

......

if(a > b) {
    max = a;
} else {
    max = b;
}

 


 

if ~ else if ~ else 문

여러 가지의 조건이 있고 그것에 따라서 처리해야 하는 로직이 다른 경우에는 if ~ else if ~ [else if ....] else ~ 형태를 사용할 수 있습니다.

if(condition1) {

    // condition1이 true이면 실행되는 부분

} else if(condition2) {

    // condition1이 false이고 condtion2가 true이면 실행되는 부분

} else if(condition3) {

    // condition1, condtion2가 false이고 condtion3가 true이면 실행되는 부분

} else {

    // 위의 모든 condition이 false이면 실행되는 부분
    
}

else if ( ) 부분은 계속해서 추가할 수 있으며, else 부분은 나머지에 해당하므로 여러 개가 올 수 없습니다. 또한 else 부분은 필요 없으면 사용안해도 됩니다.

 

ex). 윤년 여부를 판단하는 함수

int is_leap_year(int year)
{
    if(year % 400 == 0) {        // 년도를 400으로 나누어지면 윤년
        return 1;
    } else if(year % 100 == 0) { // 년도를 100으로 나누어지면 윤년아님
        return 0;
    } else if(year % 4 == 0) {   // 년도를 4로 나누어지면 윤년
        return 1;
    } else {                     // 그 외는 윤년이 아님
        return 0;
    }
}

 

 


중첩 if문

if( )문 내에 다른 조건에 의한 분기가 있는 경우에 if문 내에 또 if문이 올 수 있습니다.

if(condition1) {

    ...
    
    if(condition1-1) {
        ...
    } else {
        ...
    }
    
    ...
    
} else if(condition2) {
    
    ...
    
    if(condition2-1) {
        ...
    } else {
        ...
    }
    
    ...
    
} else {

   ...
}

 

 

 

 

C Programming Language 문법

1. C 프로그래밍 언어는? 2. C언어 개발 환경 (실습 환경) 3. C언어의 컴파일 과정 4. C 소스 파일 구성 5. 주석문(Comment) 6. 식별자 명명 규칙 7. C 프로그래밍의 시작 - 함수 8. 변수와 상수 (정수형) 9. 변..

www.it-note.kr

 

 

 

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

15. 반복문 (for)  (2) 2019.11.03
14. 조건문 (switch ~ case)  (2) 2019.11.02
13. 조건문 (if ~ else if ~ else)  (0) 2019.10.31
12. C언어의 연산자(operator)  (2) 2019.10.31
11. 변수(變數:Variable)와 관련 총정리  (0) 2019.10.30
10. 변수와 상수 (문자, 문자열)  (0) 2019.10.28
블로그 이미지

사용자 자연&사람

행복한 개발자 programmer since 1995.

Tag ,

댓글을 달아 주세요