본문 바로가기

스터디/코딩

[ 코딩 도장 : C ] Unit 21. 논리 연산자 사용하기 : 연습문제 / 심사문제

21.8 연습문제 : 논리 연산자 사용하기

문제) 다음 소스 코드를 완성하여 if 조건문의 printf가 모두 "참"이 출력되게 만드세요.

#include <stdio.h>

int main()
{
    int num1 = 10;
    int num2 = 0;

    if (num1 == num1)
        printf("참\n");
    else
        printf("거짓\n");

    if (num1 != num2)
        printf("참\n");
    else
        printf("거짓\n");

    printf("%s\n", !num2 ? "참" : "거짓");

    return 0;
}

 

 

21.9 심사문제: 논리 연산자 사용하기

문제) 표준 입력으로 두 정수가 입력됩니다. 다음 조건대로 입력된 두 정수를 검사하여 결과를 출력하는 프로그램을 만드세요(scanf 함수 호출 전에 문자열을 출력하면 안 됩니다).

  1. 두 정수를 AND 연산했을 때 참이면 "참", 거짓이면 "거짓"
  2. 두 정수를 OR 연산했을 때 참이면 "참", 거짓이면 "거짓"
  3. 첫번째 정수를 NOT 연산했을 때 참이면"참", 거짓이면 "거짓"
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
// AND = &&, OR = ||, NOT = !
int main()
{
    int num1;
    int num2;
    scanf("%d %d", &num1, &num2);

    if (num1 && num2)
    {
        printf("참\n");
    }
    else
    {
        printf("거짓\n");
    }

    if (num1 || num2)
    {
        printf("참\n");
    }
    else
    {
        printf("거짓\n");
    }

    if (!num1)
    {
        printf("참\n");
    }
    else
    {
        printf("거짓\n");
    }

    return 0;
}