정보처리기사 기출문제·모의고사·오답노트·자동채점

2022년03월05일 78번

[프로그래밍 언어 활용]
C언어에서 정수 변수 a, b에 각각 1, 2가 저장되어 있을 때 다음 식의 연산 결과로 옳은 것은?

  • ① 0
  • ② 1
  • ③ 3
  • ④ 5
(정답률: 53%)

문제 해설

a<b+2&&a<<1<=b // && : 좌항(a<b+2)과 우항(a<<1<=b)이 모두 True(1)이면 True(1)이다. 추가사항 : false 는 0, True 는 1

이때 a=1, b=2 식에 대입하면

-> 1<2+2&&1<<1<=2

좌항 : 1<2+2 // 사칙연산을 먼저한다.

따라서, 1<4 는 True(1)

우항 : 1<<1<=2 // <<n 는 n비트 만큼 왼쪽으로 이동하라는 뜻

// 1을 binary(2진수)으로 변환하면 1(000000001)이다

// 1을 <<1 해주면 01(00000010)이 된다

// 10을 decimal(10진수)로 변환하면 2가된다.

따라서, 2<=2 는 True(1)

다시 돌아와 본식에 대입해 1<4&&2<=2 면 True(1) 가 된다. 따라서 최종답은 2번

연도별

진행 상황

0 오답
0 정답