CS

[프로그래밍 언어론] 수식

Grace 2023. 12. 5. 20:11

수식

  • 피연산자와 연산자로 구성되어 하나의 값을 나타내는 표현
  • 피연산자(operand): 데이터 표현 그대로이거나 값이 저장된 변수
  • 연산자(operator): 연산을 수행하는 함수
    • 기본 연산자: 덧셈 연산자, 곱셈 연산자 등
    • 함수: 값을 반환하는 서브 프로그램
  • 수식에 피연산자와 연산자가 모두 포함될 필요는 없음

수식과 문장의 차이

  • 수식(expression): 값을 나타내는 표현
  • 문장(statement) 처리를 나타내는 표현 → 처리: 수식의 연산, 프로그램의 수행 흐름 바꾸기, 화면에 값 출력하기 등

수식과 연산자

산술 연산자

  • 사칙 연산자, 나머지 연산자, 부호 연산자 등
  • 피연산자 개수에 따른 연산자 분류
    • 단항 연산자: 1개의 피연산자 필요
    • 이항 연산자: 2개의 피연산자 필요
  • 연산자 우선순위
    • 하나의 수식에 여러 연산자가 사용되는 경우 우선순위에 따라 연산을 수행
    • 같은 우선순위의 연산자들이 섞여 있는 경우: 결합 방향에 맞춰 연산을 수행
  • 결합방향
    • 좌결합: 같은 우선순위의 연산자들 중 가장 왼쪽 연산자부터 연산을 수행
    • 우결합: 같은 우선순위의 연산자들 중 가장 오른쪽 연산자부터 연산을 수행
  • 타입 변환
    • 주어진 타입의 값을 다른 타입의 값으로 변환하는 것
    • 묵시적 타입 변환: 프로그래밍 언어의 정책에 따라 컴파일러에 의해 자동으로 변환
    • 명시적 타입 변환: 프로그래머가 명시한 타입으로 변환, 타입 캐스팅이라고 함

관계 연산자

  • 2개의 피연산자를 서로 비교하여 둘 사이의 관계가 관계 연산자와 일치하는지 여부 확인
  • 결과 값: 참(true) 또는 거짓(false)

논리 연산자

  • 논리곱 연산자, 논리합 연산자, 부정 연산자 등이 포함됨
  • 피연산자와 논리 연산의 결과 값이 모두 참 또는 거짓
  • 단락 평가: 모든 논리 연산을 수행하지 않고도 수식의 값을 얻을 수 있음

그 외 연산자

  • 프로그래밍 언어에 따라 더 많은 기본 연산자가 제공되기도 함