정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 연산자 — 비트·산술·논리 연산자와 우선순위

연산자 세트는 C언어와 Java의 연산자를 종류별로 구분하는 문제다. 비트 논리연산자와 산술 연산자, 논리합 연산자, Java의 우선순위가 중심이고, 결합도·응집도나 예외처럼 같은 묶음에 섞여 나오는 기본 개념도 함께 정리한다.

2026-10-19 기준 · 정보처리기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

시험에 이렇게 나온다

출제기준 단원 「연산자」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
연산자의 구분1비트 논리연산자 등 연산자 고르기
언어 문법의 판별1스크립트 제어문 등 문법 요소 확인
설계 품질 개념1응집도 수준을 비교해 가장 높은 것

뜻

C언어의 비트 논리연산자는 데이터를 비트 단위로 조작하는 연산자로, ^, &, ~가 여기에 속한다. 물음표 ?는 비트를 다루는 기호가 아니라 삼항 연산자이므로 비트 논리연산자가 아니다.

산술 연산자는 사칙연산과 나머지를 다루는 연산자다. 등호(=)는 값을 대입하는 연산자이므로 산술 연산자가 아니다. 두 개의 논리 값 중 하나라도 참이면 1을, 모두 거짓이면 0을 반환하는 연산자를 고르는 문제도 나온다.

Java에서는 연산자마다 수행 순서인 우선순위가 정해져 있다. 대입 연산자(=)는 가장 낮은 우선순위를 가지므로, 다른 계산이 모두 끝난 뒤 결과를 변수에 저장한다.

같은 세트에는 언어 기본 개념도 섞여 나온다. C언어에서 short는 예약어이므로 변수명으로 쓸 수 없고, else도 문법 구조를 위한 예약어라 변수 선언에 쓸 수 없다. Java의 예외는 실행 중에 발생하는 오류이므로, 컴파일할 때 발견되는 문법 오류는 예외가 아니다. bash 셸 스크립트의 제어문은 if, for, while이고 repeat_do는 존재하지 않는 가짜 키워드다.

설계 품질의 기준도 함께 기억한다. 좋은 설계는 모듈 간 의존성을 최소화하는 낮은 결합도와, 모듈 내부 기능의 관련성을 극대화하는 높은 응집도를 지향한다. 응집도는 기능적, 순차적, 교환적, 절차적, 논리적, 시간적, 우연적 순으로 강하다.

예제

선지 판단은 ^·&·~를 비트 논리연산자로 묶고 ?를 삼항 연산자로 빼는지, =를 산술 연산자가 아닌 대입 연산자로 보는지, Java에서 =를 가장 우선순위가 낮은 연산자로 고르는지, short·else를 예약어라 변수명에서 제외하는지, 컴파일 시 문법 오류를 예외와 구분하는지, repeat_do를 bash 제어문에서 빼는지, 결합도는 낮을수록·응집도는 높을수록 좋다고 판정하는지에서 갈린다.

대표 기출 3문항

C언어에서 비트 논리연산자에 해당하지 않는 것은?

  1. ^
  2. ?
  3. &
  4. ~
정답과 해설 보기

정답 ② · C언어에서 제공하는 연산자 중 비트 단위 논리 연산에 쓰이지 않는 연산자를 찾는 문제이다. C언어의 비트 논리연산자에는 비트 단위 AND를 수행하는 앰퍼샌드(&), 비트 단위 배타적 OR를 수행하는 캐럿(^), 비트 단위 NOT을 수행하는 물결표(~) 등이 포함된다.

C언어에서 비트 논리연산자는 ^, &, ~이며 ?는 삼항 연산자이다.

C언어에서 산술 연산자가 아닌 것은?

  1. %
  2. *
  3. /
  4. =
정답과 해설 보기

정답 ④ · C언어의 산술 연산자가 아닌 것을 고르는 문제이다. C언어의 산술 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(/), 나머지(%)로 구성된다.

산술 연산자는 사칙연산과 나머지를 다루지만, =는 값을 대입하는 대입 연산자이므로 산술 연산자가 아니다.

다음 중 JAVA에서 우선순위가 가장 낮은 연산자는?

  1. --
  2. %
  3. &
  4. =
정답과 해설 보기

정답 ④ · Java의 연산자 우선순위를 살펴보면, 단항 연산자(증감 연산자 -- 등)가 가장 높고, 그 다음으로 산술 연산자(% 등), 시프트 연산자, 관계 연산자, 논리 연산자(& 등)의 순으로 이어집니다. 우선순위가 가장 낮은 연산자는 대입 연산자(=, += 등)이다.

자바 연산자 우선순위에서 대입 연산자(=)는 가장 낮은 순위를 가진다.

자주 묻는 물음

C언어의 비트 논리연산자에는 어떤 것들이 있나요?
^, &, ~가 비트 논리연산자입니다. ?는 삼항 연산자이므로 포함되지 않습니다.
=는 산술 연산자인가요?
아닙니다. =는 값을 대입하는 연산자입니다. 산술 연산자는 사칙연산과 나머지를 다루는 연산자입니다.
결합도와 응집도는 어느 쪽이 좋은가요?
결합도는 낮을수록, 응집도는 높을수록 좋은 설계입니다. 모듈 간 의존성을 줄이고 모듈 내부 기능의 관련성을 높이는 방향입니다.
이 개념 문제 10개 풀기 회원용

정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.