CS/정보처리산업기사

프로그래밍 언어의 개요 - 연산자

jjh0119 2025. 3. 21. 17:11

01. 연산자와 우선순위

  • 자료에 대한 연산동작을 지정한 기호
  • 연산자 우선순위란 두 종류 이상의 연산자가 수식내에 포함될 경우 연산의 순서를 의미한다.
  • 연산자 결합방향이란 우선 순위가 동일한 연산자들이 수식 내에 포함될 경우 어느방향으로 결합하는가를 결정하는 것이다.

02. 이항 연산자의 우선 순위

  • 연산자의 대부분은 피연산자를 2개 가지느 이항 연산자에 속한다.
  • 이항 연산자의 우선순위는 '산술연산자 -> 관계연산자 -> 논리연산자' 순으로 우선순위가 높다. 즉 괄호가 있지 않으면 우선순위가 높은 연산자부터 처리가 된다.

03. 산술 연산자

  • 정수 산술 연산자는 정수의 결과값을, 실수 산술 연산은 실수의 결과값을 갖는다.
  • 부호를 나타내는 단항 연산자 '+', '-'는 이항 산술 연산자보다 우선수위가 높다.
  • 이상 연산자 '+', '-' 는 '*', '/', '%'보다 우선 순위가 낮다.
  • % 연산자는 정수 나눗셈 후 나머지 값을 구한다.
  • 종류
    • '+' : 더하기
    • '-' : 빼기
    • '*' : 곱하기
    • '/' : 몫 구하기
    • '%' : 나머지 구하기

04. 관계 연산자

  • 관계 연산은 두 피연산자의 관계를 비교하여 관계가 성립하면 참을, 성립하지 않으면 거짓을 연산의 결과값으로 생성한다.
  • 종류
    • '==' : 같다
    • '!=' : 같지 않다
    • '>' : (왼쪽이) 크다
    • '>=' : (왼쪽이) 크거나 같다
    • '<' : (왼쪽이) 작다
    • '<=' : (왼쪽이) 작거나 같다

05. 논리 연산자

  • 주어진 값에 대하여 AND 연산은 모두 참일 경우에만 참 OR 연산은 하나라도 참이면 결과는 참 NOT 연산은 참일 경우는 거짓, 거짓일 경우는 참을 결과값으로 생성
  • 종류
    • ! (not) : 부정
    • && (and) : 모두 참이면 참
    • || (or) : 하나라도 참이면 참

06.대입 연산자와 증감 연산자

1) 대입 연산자

  • 대입 연산자는 변수에 어떤 값을 저장할 때 사용한다
  • 연산 대상과 대입 대상이 되는 변수가 같을 경우는 복합 연산자를 이용하여 축약하여 표현할 수 있다.
  • 대입 연산자의 결합 방향은 우측에서 좌측으로 연산이 수행된다.
  • 종류
    • '=' : 대입
    • '+=' : A=A+B와 동일
    • '-=' : A=A-B와 동일
    • '=' : A=AB와 동일
    • '/=' : A=A/B와 동일
    • '%=' : A=A%B와 동일

2) 증감연산자

  • 변수의 값을 1씩 증가시키거나 1씩 감소시킬 때 사용
  • ++는 1씩 증가를 의미한다.
  • --는 1씩 감소를 의미한다
  • 전위 증감연산자 : ++A , --A
  • 후위 증감연산자 : A++, A--

07. 삼항 연산자

  • 조건 연산자라고도 한다.
  • 피연산자가 3개가 필요한 연산자를 의미한다
  • 'A?B:C' : A가 참이면 B를, 거짓이면 C를 결과값으로 설정한다.

08. 비트 연산자

  • '&' (and) : 모든 비트가 1일 때만 1
  • '^' (xor) : 모든 비트가 같으면 0, 하나라도 다르면 1
  • '|' (or) : 모든 비트 중 한 비트라도 1이면 1
  • '~' (not) : 각 비트의 부정, 0이면 1, 1이면 0
  • '<<' (왼쪽 시프트) : 비트를 왼쪽으로 이동
  • '>>' (오른쪽 시프트) : 비트를 오른쪽으로 이동

09. 기타 연산자

  • sizeof 연산자 : C언어에서 변수, 변수형, 배열의 저장 장소의 크기를 Byte 단위로 구한다.
  • 콤마 연산자 : 성격이 동일한 자료형을 나열할 때 사용
  • Cast 연산자 : 명시적 형 변환시에 사용하며 다른 데이터 형으로 변경할 때 이용
  • 포인터 연산자 : C언어의 단항연산자중, &는 변수의 주소를 의미하고 *는 변수의 내용을 의미한다.