바람이 머문 언덕

if문과 조건 연사자 본문

컴퓨터 IT/C++ 언어

if문과 조건 연사자

알 수 없는 사용자 2010. 1. 18. 20:40
반응형
if문은 C에서 가장 기본이되는 제어문 중 하나이다.

if(조건)
{
    실행 내용;  //  실행 할 명령이 하나 뿐이면 중 괄호를 사용 하지 않아도 된다.
}

if문은 조건이 만족하면 (0이 아니면) 실행하고 조건이 맞지 않으면 실행을 하지 않고 중 괄호를 건너 뛴다.
간단한 하게 명령의 실행을 제어 할 수 있게 해준다.

if문은 if, if else, else 세가지로 구성이 된다.

f(조건)

{
    실행 내용; 
}
else if(조건)   // 위의 조건이 만족하지 않으면 if else를 실행 한다.
{
    실행 내용; 

}
else               // 위의 조건이 만족하지 않으면 else를 실행 한다.
{

    실행 내용; 

}

if문은 위의 세가지 형태로 정의 할 수 있는데 if문은 제일 처음에 else 문은 마지막에 와야 하며 한 번만 사용 할 수 있어나
if else 문은 여러 번 사용 해도 된다.


int main(void)
{
   int i = 9, k=0;
   if( i == 1 ) k=1;
   else if( i<5)      k=2;
   else if( i<10)     k=3;
   else if(i == 9)    k=4;          
   printf("k=%d", k);             // if문은 순차적으로 비교 하기 때문에 k=3가 출력 된다.
   return k;
}
 
조건 연산자(삼항 연산자)는 if문의 간소형이라고 해야 할까?
(조건) ? 참 : 거짓;
위의 예 처럼 조전이 맞으면 참을 아니면 거짓의 값을 리턴해 준다.
조건 연산자도 if문에서 if else문을 여러 번 만복 해서 사용 하뜻이
(조건) ? 참 : (조건) ? 참 : (조건) ? 참 : 거짓;
형태 처럼 사용 할 수 있다.

윤달을 구하는 함수를 예로 들었다.
 
       
int togetday(int num, int mon)              // 입력한 달이 몇 칠까진지 구한다.
   {
        int nm[12]={ 31,28,31,30,31,30,31,31,30,31,30,31 }, i = 0;
        if(mon  > 0 && mon < 13)
        {  
            if(mon == 2)
            {
                 nm[1] = (num%4) ? 28 : (num%100) ? 29 : (num%400) ? 28 : 29;  // 윤달인지 체크 한다. 
            }
            i = nm[mon-1];
        }
        return  i;
   }