정보처리기사 실기C언어C 비트 연산난이도 3MCQ

정보처리기사 실기 C 비트 연산 기출문제 #3915

문제

다음 C 코드의 출력 결과로 가장 적절한 것은?

C
#include <stdio.h> int main() { int x = 7, y = 4, z; z = y % 3 < 3 ? 2 : 1; z = z & z >> 1; z = x > 5 && z <= 3 ? z * x : z / x; printf("%d", z); return 0; }

① 0 ② 1 ③ 7 ④ 14

정답

1

해설

정답: 1. y%3은 1이고 1<3이 참이므로 z=2이다. z & z >> 1은 2 & 1이므로 0이다. 마지막 조건은 참이지만 z*x가 0이므로 0이 출력된다.

오답 풀이

  • 1번: 비트 연산과 삼항 연산 결과가 맞다.
  • 2번: 2 & 1을 1로 잘못 계산한 값이다.
  • 3번: z를 1로 보고 x를 곱한 값이다.
  • 4번: 첫 번째 z=2에 x를 곱한 값이다.

보충 개념 시프트 연산 >>&보다 우선순위가 높다. 따라서 z & z >> 1z & (z >> 1)로 계산된다.

정보처리기사 실기 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[정보처리기사 실기] C 비트 연산 C언어 기출 #3915 | 문어CBT