반응형

expression(표현식)

프로그램 언어에서 값을 나타내기 위해서, 변수나 상수, 연산자로 구성된식, 표현식은 항상 결과(반환)값을 갖음

  1. 일차식
  2. 상수
  3. 괄호식
  4. 전위연산자 수식
  5. 후위연산자 수식
  6. 단항식
  7. 이항식
  8. 삼항식
  9. 할당 수식

 

 

1. 일차식

  • 식별자,변수이름(identifier)

    • iNum, fLength, INT_MAX 등등

    • 연산자(operator) 없이 오직하나의 피연산자(operand) 이루어진 가장 기본적인 형태

 

2. 상수(Constants)

    • 5, 3.14, 'A', "HelloWorld" 등등

 

3. 괄호식(Parenthetical Expression)

    • (2*3)+4, (a = 23+b*) 등등

 

4. 전위 연산자 수식

  • 연산자(operator)가 피연산자(operand) 앞에 오는 형태

  • x = ++a;

    1. a = a+ 1; // a 값에 + 1 값을 a 대입한다
    2. x = a // x a 값을 대입한다,
    3. ++a a 1증가한 이후의 값이다, 변수의 참조보다 먼저 연산을 수행

 

5. 후위 연산자 수식

  • 연산자(operator)가 피연산자(operand) 뒤에 오는 형태

  • x = a++;

    1. x = a // x a 값을 대입한다
    2. a = a + 1 // a 값에 +1 값을 a 대입한다.
    3. a++ a 1증가하기 이전의 값이다, 변수의 참조 후에 연산을 수행

※전위연산자, 후위연산자는 오직 변수만 피연산자로 가능

상수나 일반 수식을 피연산자로 사용 불가능

int a = ++10; // 상수에는 불가능

(a+1)--; // 일반 수식 에도 불가능

 

 

6. 단항식(Unary epxression)

  • 피연산자(operand)즉 연산자에 적용되는 항이 한 개 있는 표현식(expression)

  1. 전위, 후위 증감 연산자 : ++a, --a, a++, a--

  2. sizeof

  3. 부호 연산자 : +a, -a

    • 여기서 산술연산자와 부호연산자가 같다고 생각할 있지만, 다르다, 산술연산자는 연산자가 피연산자 사이에 올때만 가능하다, 1+a, 2-a, a*b, a/b, a%b

  4. 형변환(casting) 연산자, (자료형)변수 : (float) iNum

  5. 주소 연산자(&) : &iNum

  6. 역참조 연산자 *  : *ptr_iNum;

 

7. 이항식(Binary expression)

  • 연산자가 피연산자 사이에 있음
  1. 산술연산자 : a + 7 , 3 + 4, b - 11, 5%2
  2. 논리 연산자 : !, &&, ||, &, |, <, >, <=, >=, ^

 

8. 삼항식(Ternary expression)

  • a ? B : C
  • 조건식 A 참이면 B 아니면 C

    • int result = a > 3 ? 1 : 0; // a 3보다 크면 1 result 대입, 아니면 0 result 대입

       

       

 

9. 할당수식(Assignment expression)

  • a = 7

  • 우측의 값을 좌측의 저장장소에 저장 하라는 의미
  • 할당 연산자를 기준으로 좌측은 Lvalue 라고 하고 우측을 Rvalue 라고 한다
  • Lvalue는 또다른 명칭으로 locator value이며 저장 장소를 뜻한다,
  • Rvalue는 evaluated value, value of an expression 즉 수식의 결과 값이다

 

반응형

'C' 카테고리의 다른 글

memset, memcpy, memmove  (0) 2020.03.13
Local Variable, Global Variable, Static Variable  (0) 2020.02.28
fseek, ftell, 파일 크기 알아내기  (0) 2020.02.25
FileStream Input Output  (0) 2020.02.22

+ Recent posts