Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어에서 평가되는 표현식(Expression)의 종류 완벽 정리

표현식(Expression)은 연산자와 피연산자가 결합된 형태를 말합니다.


여기서 피연산자(Operand)는 연산의 대상이 되는 데이터 항목이며, 연산자(Operator)는 해당 데이터에 대해 특정 연산을 수행하는 기호입니다.


예를 들어 다음과 같은 식이 있을 때,

z = 3 + 2 * 1

곱셈이 덧셈보다 먼저 계산되므로 결과는 다음과 같습니다.

z = 5

C 언어 표현식의 종류

C 언어에서 평가되는 표현식은 크게 다음 여섯 가지로 분류할 수 있습니다.

  • 기본 표현식(Primary Expression) − 피연산자가 변수 이름, 상수 또는 괄호로 묶인 표현식으로 구성됩니다.
    예: c = a + (5 * b);

  • 후위 표현식(Postfix Expression) − 연산자가 피연산자 뒤에 위치하는 형태입니다.
    예: ab+

  • 전위 표현식(Prefix Expression) − 연산자가 피연산자 앞에 위치하는 형태입니다.
    예: +ab

  • 단항 표현식(Unary Expression) − 하나의 연산자와 하나의 피연산자로 구성됩니다.
    예: a++, --b

  • 이항 표현식(Binary Expression) − 두 개의 피연산자와 하나의 연산자로 구성됩니다.
    예: a+b, c-d

  • 삼항 표현식(Ternary Expression) − 세 개의 피연산자와 하나의 연산자로 구성되며, 조건문처럼 동작합니다.
    형식: Exp1 ? Exp2 : Exp3
    Exp1이 참(true)이면 Exp2가 실행되고, 거짓(false)이면 Exp3가 실행됩니다.

예제 코드

다음은 C 언어에서 표현식이 어떻게 평가되는지 보여주는 프로그램입니다. 삼항 연산자를 활용한 예시를 확인해 보세요.

#include <stdio.h>
main(){
    int a , b;
    a = 10;
    printf( "Value of b is %d\n", (a == 1) ? 100: 200 ); // 삼항 표현식
    printf( "Value of b is %d\n", (a == 10) ? 10: 20 ); // 삼항 표현식
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Value of b is 200
Value of b is 10

첫 번째 문장에서는 (a == 1)이 거짓이므로 200이 출력되고, 두 번째 문장에서는 (a == 10)이 참이므로 10이 출력됩니다. 이처럼 삼항 표현식은 간단한 조건 분기를 한 줄로 처리할 수 있어 코드를 간결하게 만들어 줍니다.