본문 바로가기
c언어

c언어 if - else문으로 참과 거짓, 양자택일 프로그램 작성하기

by 개발자 L 2022. 12. 2.
반응형

c언어 if - else문으로 참과 거짓, 양자택일 프로그램 작성하기

네 안녕하세요, 이번 포스팅에서는 c언어에서 사용하는 if - else문으로 양자택일 참과 거짓 프로그램을 작성을 해보도록 하겠습니다.

이전 포스팅에서는 if문 하나만 써서 참일 경우는 출력을 하고, 거짓일 경우는 출력을 하지 않는 코드를 작성을 했습니다.

하지만 우리가 프로그램을 작성을 한다면 거짓일 경우도 출력을 해야 하고, 제3의 경우도 출력을 해야 합니다.

그래서 그럴 경우에는 else를 써서 거짓일 경우를 출력을 하기도 하고, 다음에 배울 중첩된 if문, 연속적인 if문을 이용하여 다수의 경우에 대응되는 것을 출력합니다.

그럼 지금부터 알아보도록 하겠습니다.

 

1. if - else문의 기본 사용법

if - else문은 기본 if문과 사용법은 같으나, 각각 참에 해당되는 것, 거짓에 해당되는 것을 달리 출력한다는 것에서 차이를 보입니다.

사용법은 이러합니다.

if (조건식)
{
	printf("문장");
}

else
{
	printf("문장");
}

이게 기본 사용법입니다.

여기에서 주목을 해야 할 사실은 양자택일이기 때문에 참의 조건에 부합이 되지 않는다면 다 else로 빠지기 때문에 굳이 else에는 조건식을 쓸 필요가 없다는 것입니다.

그럼 이를 이용하여 홀수와 짝수를 구별하는 프로그램을 한 번 작성을 해보도록 하겠습니다.

#include <stdio.h>

int main()

{
    int number;

    printf("정수를 입력하세요 : ");
    scanf("%d", &number);

    if (number % 2 == 0)
    {
        printf("%d는 짝수입니다.\n", number);
    }

    else
    {
        printf("%d는 홀수입니다.\n", number);
    }

    return 0;
}

이렇게 한 번 작성을 해봤습니다.

여기에서 사용한 조건식은 짝수 여부를 알기 위해서 2로 나눈 나머지가 0일 경우는 짝수라는 문구를 출력하고,

아니라면 홀수라는 문구를 출력하도록 작성했습니다.

그럼 결과 화면은 어떻게 나오는지 한 번 보도록 하겠습니다.

먼저 홀수를 입력했을 경우입니다.

정수를 입력하세요 : 5
5는 홀수입니다.

그리고 짝수를 입력했을 경우입니다.

정수를 입력하세요 : 8
8는 짝수입니다.
반응형

 

이렇게 홀수와 짝수가 각각 제대로 나오는 것을 볼 수가 있습니다.

그리고 이것을 응용하여 분모와 분자를 입력받아 나눌 때, 분모가 0인지 아닌지에 대한 여부를 판별할 수 있는 프로그램도 작성을 할 수가 있습니다.

그럼 제가 한 번 작성을 해보도록 하겠습니다.

#include <stdio.h>

int main()

{
    int n, m, result;

    printf("분자를 입력하세요 : ");
    scanf("%d", &n);

    printf("분모를 입력하세요 : ");
    scanf("%d", &m);


    if (m == 0)
    {
        printf("0으로 나눌 수 없습니다.\n");
    }

    else
    {
        result = n / m;
        printf("결과는 %d입니다.\n", result);
    }

    return 0;
}

이렇게 한 번 작성을 해봤습니다.

우리가 분수를 보면 알 수 있듯이, 분자가 0이라면 그냥 0으로 나오지만,

분모가 0인 분수는 존재하지 않습니다.

그래서 그럴 경우에는 연산이 불가능하기 때문에 그 여부를 알아야 합니다.

그럼 결과를 한 번 보도록 하겠습니다.

먼저 분모와 분자가 모두 정수일 경우입니다.

분자를 입력하세요 : 4
분모를 입력하세요 : 5
결과는 0입니다.

이어서 분모가 0인 경우입니다.

분자를 입력하세요 : 5
분모를 입력하세요 : 0
0으로 나눌 수 없습니다.

이렇게 잘 나오는 것을 볼 수가 있습니다.

그리고 이 if - else문을 이용을 하여 제가 전에 다뤘었던 윤년 판단기를 좀 더 깔끔하게 작성을 할 수도 있습니다.

그럼 같이 한 번 보시죠.

#include <stdio.h>

int main()

{
    int year;

    printf("연도를 입력하세요 : ");
    scanf("%d", &year);

    if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
    {
        printf("%d년은 윤년입니다.\n", year);
    }

    else
    {
        printf("%d년은 평년입니다.\n", year);
    }

    return 0;
}

이렇게 if - else문을 이용하여 작성을 해봤습니다.

그러면 결과는 어떻게 나오는지 한 번 보도록 하겠습니다.

먼저 윤년을 입력했을 경우입니다.

연도를 입력하세요 : 2012
2012년은 윤년입니다.

그리고 평년을 입력했을 경우입니다.

연도를 입력하세요 : 2011
2011년은 평년입니다.

이렇게 이전 예제보다 좀 더 깔끔하게 나오는 것을 볼 수가 있습니다.

그리고 여러분들은 이제 양자택일 프로그램을 작성을 할 수 있게 되었습니다.

 

여기까지 if - else문을 사용하는 방법에 대하여 알아보았는데요,

다음 포스팅에서는 중첩된 if문과 연속적인 if문에 대하여 알아보도록 하겠습니다.

긴 글 읽어주신 독자분들께 진심으로 감사드립니다 ~

반응형

댓글