사냥꾼의 IT 노트

C++ 필기 노트 #4 표현식과 문장 본문

C++

C++ 필기 노트 #4 표현식과 문장

가면 쓴 사냥꾼 2022. 4. 6. 11:47

1. 표현식이란?

표현식은 특정 값을 가진 엔티티이며, 메모리의 상태를 변경할 수 있는 특징을 가짐. 단순한 값을 만들거나 연산자를 사용해 값들을 결합해서 또 다른 새로운 값을 만드는 식.

 

2. 기본 표현식

연산자 없이 구성된 간단한 표현식으로, 표현식 중에서 우선 순위가 가장 높음.

-리터럴?

리터럴은 프로그램 내부에서 사용되는 값으로, 값을 나타내지만 부가 작용이 없는 표현식.

-이름

이름도 기본 표현식이며, 이름으로 사용되는 식별자는 변수, 객체, 이름, 함수 등에 사용됨.

-괄호 표현식

우선 순위가 낮은 표현식을 기본 표현식으로 변경하고 싶다면, 괄호로 묶음.

 

3. 단항 표현식

하나의 값(피연산자)에 +, - 등의 연산자를 같이 사용한 표현식.

-sizeof 표현식

sizeof 연산자를 활용하는 표현식으로, sizeof 연산자는 표현식의 크기나 자료형의 크기를 확인할 때 사용하는 연산자임.

-곱셈 표현식

왼쪽과 오른쪽에 피연산자가 있는 이항 표현식으로, 곱셈, 나눗셈, 나머지를 구하는 세가지 연산자를 포함함.

  • 곱셉 연산자 : *
  • 나눗셈 연산자 : / 
  • 나머지 연산자 : %

 

4. 덧셈 표현식

왼쪽과 오른쪽에 피연산자가 있는 이항 표현식으로, 덧셈과 뺄셈 연산자를 포함하는 표현식.

  • 덧셈 연산자 : +
  • 뺄셈 연산자 : -

5. 할당 표현식

값을 만들면서 컴퓨터의 메모리 상태를 변경하는 부가 작용이 발생.

-단순 할당

= 기호를 사용하며, 왼쪽 피연산자에 값을 만들어내는(할당하는) 표현식이 옴.

  1. 표현식의 결과 값을 변수에 저장. 변수의 이전 값이 사라지고 새로운 값이 지정되는 부가 작용이 발생.
  2. 1단계에서 얻은 값을 결과로 냄.

-복합 할당

할당 연산자와 오른쪽에 있는 연산자를 결합해 특별한 연산자를 제공하는 식.

  • += 
  • -=
  • *=
  • /=
  • %=

6. 오버플로우와 언더플로우

자료형의 최대값보다 크거나, 최소값보다 작은 값을 저장하려고 하면 발생하는 문제들. 오류 메세지를 따로 생성하지 않음.

-정수의 오버, 언더플로우: 한바퀴를 돌아서 범위를 지키려고 하기 때문에, 최대값의 오버플로우는 최소값, 최소값의 언더플로우는 최대값으로 변환됨.

 

7. 문장이란?

문장은 프로그래밍에서 실행할 수 있는 최소 단위의 코드. C++ 프로그램은 문장을 차례차례 읽어 들이고 프로그램을 실행하는 단위이며, 문장을 종료하기 위해서 자연 언어의 마침표처럼 세미콜론이 필요함.

 

8. 선언문

-선언: 자료형과 이름을 지정해서 엔티티를 생성하는 것. 

  • 변수 선언 (단일 선언, 복수 선언, 초기화) -> 변수를 초기화 하지 않으면 지역 변수의 경우 쓰레기 값 (garbage value)
    를 가지며, 전역 변수의경우 기본 값 (일반적으로 0)으로 초기화됨.
  • 상수 선언: 선언할 때 반드시 초기화해야 하며, 대문자를 사용해 변수와 구분해야 함

-정의: 엔티티를 위해서 메모리를 할당하는 것.