2023 국가직9급 컴퓨터일반 20번 해설 — C 논리 연산과 비트 연산

정답 ①번출제 쟁점 C 논리 연산과 비트 연산발문 옳은 것 고르기

문제

다음 C 프로그램의 실행 결과는? #include <stdio.h> int C(int v) { printf("%d ", v); return 1; } int main() { int a = -2; int b = !a; printf("%d %d %d %d ", a, b, a&&b, a||b); if(b && C(10)) printf("A "); if(b & C(20)) printf("B "); return 0; }

  1. -2 0 0 1 20 ← 정답
  2. -2 0 0 1 10 20
  3. -2 1 0 1 10 20
  4. -2 2 1 1 10 A 20 B

선지별 해설

-2 0 0 1 20

이 선지 진술은 옳음(O)

처음 출력은 -2 0 0 1이다. 비트 AND인 b & C(20)은 C(20)을 평가해 20을 출력하지만 조건값은 0이므로 B는 출력되지 않는다.

-2 0 0 1 10 20

이 선지 진술은 틀림(X)

논리 AND는 왼쪽 피연산자가 거짓이면 오른쪽을 평가하지 않는다. 따라서 10은 출력되지 않고 비트 AND 쪽의 20만 출력된다.

-2 1 0 1 10 20

이 선지 진술은 틀림(X)

C에서 0이 아닌 값은 참이므로 !a는 0이다. 그래서 b가 1이라는 전제의 출력은 성립하지 않는다.

-2 2 1 1 10 A 20 B

이 선지 진술은 틀림(X)

논리 NOT 결과 b가 0이므로 첫 if는 단락 평가되고, 둘째 if도 조건 결과가 0이다. A와 B는 출력되지 않는다.

핵심 요약 (Q&A)

Q. 2023 국가직9급 컴퓨터일반 20번의 핵심 쟁점은 무엇인가?
A. 2023 국가직9급 컴퓨터일반 20번은 C 논리 연산과 비트 연산에 관한 문항으로, "옳은 것"을 고르는 문제입니다.
Q. 2023 국가직9급 컴퓨터일반 20번의 정답은?
A. 정답은 ①번입니다. 처음 출력은 -2 0 0 1이다. 비트 AND인 b & C(20)은 C(20)을 평가해 20을 출력하지만 조건값은 0이므로 B는 출력되지 않는다.
🧩 프로그래밍 개념·기출 모아보기📄 2023 국가직9급 컴퓨터일반 전체 문항✏️ 이 시험 미니문제 풀기
출처: 2023 국가직9급 컴퓨터일반 기출 (원문 보존)해설 기준: 출제 당시 법령·판례 · 개정 사항은 ⚠️ 표시