Introduction to Expressions

What are Expressions?

In C++, an expression is a combination of constants, variables, operators, and functions that can be evaluated to produce a single value. These expressions are the fundamental elements in creating meaningful instructions for a computer to execute.

The process of executing an expression is called evaluation, and the single value produced is called the result of the expression.

Example:

int result = 10 + 5 * (8 / 2);

Building Blocks of Expressions:

1. Operators:

Operators are symbols that perform operations on one or more operands. C++ provides a rich set of operators categorized into arithmetic, relational, logical, bitwise, assignment, and more.

  • Arithmetic Operators:  +, -, *, /, %
  • Relational Operators:  ==, !=, <, >, <=, >=
  • Logical Operators: &&, ||, !
  • Bitwise Operators: &, |, ^, ~
  • Assignment Operators: =, +=, -=, *=, /=, %=

2. Operands:

Operands are the values or variables that operators act upon. These can be literals, variables, or expressions. For example:

int a = 5, b = 3;
int result = a + b; // 'a' and 'b' are operands, '+' is the operator

Types of Expressions:

1. Arithmetic Expressions

Arithmetic expressions involve mathematical operations such as addition, subtraction, multiplication, and division. For example:

int result = 5 + 2 * 4; // result will 13

2. Relational Expressions

Relational expressions are used for making comparisons between values. They return a boolean result, either true or false. Examples include equality (==), inequality (!=), greater than (>), and less than (<).

bool isGreater = (7 > 1); // isGreater will be true

3. Logical Expressions

Logical expressions involve boolean operations like AND (&&), OR (||), and NOT (!). They are commonly used in decision-making structures. For example:

bool conditionCheck = (true && false); // conditionCheck will be false

4. Conditional (Ternary) Expressions

The conditional expression is a shorthand way of writing an if-else statement. It has the form (condition ? expression_if_true : expression_if_false). For example:

 int x = 10;
int y = 20;
int max = (x > y) ? x : y; // max will be 20

5. Bitwise Expressions

Bitwise expressions manipulate individual bits of data. They include operations like AND (&), OR (|), XOR (^), and shift operations (<< and >>). For example:

int a = 5; // binary: 0101
int b = 3; // binary: 0011
int result = a & b; // result will be 1 (binary: 0001)

6. Assignment Expressions

Assignment expressions assign a value to a variable. For example:

int variable = 10; // assigning the value 10 to variable