C · 연산자·연습 문제

논리 연산 결과

문제 설명PROBLEM

논리 연산 결과

문제

논리 AND, OR, NOT 식의 0 또는 1 결과를 구하세요.

구현할 함수

void logical_results(int value, int flag, int output[3])

입력

정수 value와 flag가 주어집니다.

입력 파싱과 결과 출력은 숨겨진 I/O 어댑터가 자동으로 처리합니다. 에디터에는 요구된 함수 또는 메서드 구현만 작성하세요.

출력

value > 3 && value < 10, value > 3 || value > 10, !flag 결과를 출력합니다.

구현 조건

  • 계산 로직은 반드시 logical_results 함수 안에 구현하세요.
  • &&, ||, ! 연산자를 모두 사용하세요.

공개 테스트

아래 테스트를 각각 독립된 프로세스로 실행합니다. 입력과 기대 출력은 실제 채점 순서와 같습니다.

#이름InputExpected output
1범위 안과 거짓 flag5 01 1 1
2범위 아래2 10 0 0
3범위 위12 00 1 1
개념 노트와 실수 포인트

연산자

  • 정수 나눗셈 /: 정수끼리면 몫만 남고 소수점은 버림. 7/2 == 3. 실수가 필요하면 한쪽을 실수로 → 7/2.0.
  • 나머지 %: 정수 전용.
  • 증감 a++(후위: 쓰고 증가) / ++a(전위: 증가 후 사용).
  • ⚠️ 한 식에서 같은 변수를 두 번 증감(f(a++, ++a))하면 결과가 정의되지 않음(컴파일러마다 다름). 문장을 나눠 추적하세요.
  • 우선순위: * / %+ - → 비교 → 비트(& ^ |) → && ||. 헷갈리면 괄호!
  • 비트: &AND |OR ^XOR ~NOT, <<n=×2ⁿ, >>n=÷2ⁿ.
  • 형변환 (int)3.9 == 3 (반올림 아님, 버림).