3.3 선택문

선택문에는 if 문과 if-else 문, 그리고 switch 문이 있다. if 문은 주어진 조건을 만족하면 실행되고, 맞지 않으면 실행되지 않는다. if-else 문은 조건을 만족하면 if절이 실행되고, 그렇지 않으면 else 절이 실행된다. switch 문은 여러개의 명령문 중에서 조건을 만족하는 명령문 하나를 골라 실행시키는 선택문이다.

3.3.1 if문

if 문의 구문형식은 다음과 같다.

if (논리식) 명령문;

논리식은 항상 논리값인 참 또는 거짓을 가지며 괄호로 둘러싸인다.

다음 예제를 통해 if문의 사용법을 확인하자

#include <stdio.h>

int main()
{
        int num1;
        int num2;
        int bigger;
        
        printf("please enter 2 integers\n");
        scanf ("%d %d",&num1, &num2);
         
        bigger = num1;
        if( num1 < num2)
        {
                bigger = num2;
                
        }
       printf("the large number is %d\n",bigger);
       return 0;
}

2개의 정수를 입력 받아서 큰 수를 구하는 프로그램이다.

입력 받은 후 bigger 라는 변수에 num1 을 넣고, if문으로 num2 가 num1 보다 크다는 것을 논리식으로 표현하여, 논리식이 참이면 num2를 bigger 에 넣는 것이다. 참이 아니면 bigger 에 num1 이 들어 있으므로 두개의 정수중에 큰수를 구할 수 있다.

if01.png  

 

3.3.2 if - else 문

if-else문은 선택문의 기본이 되는 표준적인 형태로서 두 가지의 경우 중에서 하나를 선택하여 수행한다.

if-else 문의 구문형식은 다음과 같다.

if (논리식) 명령문

else 명령문

논리식의 값이 참이면 if절이 실행되고, 거짓이면 else 절이 실행된다.

다음의 예제를 보도록 하자

#include <stdio.h>

int main()
{
        int num1;
        int num2;
        int bigger;
        int smaller;

        printf("enter two integers");
        scanf("%d %d",&num1,&num2);
        
        if( num1< num2)
        {
                 bigger = num2;
                 smaller = num1;
        }
        else
        {
                 bigger = num1;
                 smaller = num2;
        }
        printf( bigger number is :%d,  smaller number is :%d\n",bigger,smaller);
        
        return 0;
}

if절의 논리식이 참이면 if절이 실행되고, 거짓이면 else 절이 실행된다.

ifelse01.png