Operators and Expressions are fundamental building blocks in C Programming Language. It enables us to perform various computations on the data. Some operations that we can perform using operators are addition, subtraction, multiplications, etc. Basically, the operator works on operands. This means if we are adding two numbers then two numbers are operands and addition is the operator.

In this blog, we will see Operators and Expressions in detail. Also, we will see different types of operators, their precedence, and examples of their usage.

## What are Operators?

In C programming, an operator is a symbol that performs specific operations on one or more operands (variables, constants, or expressions) to produce a result. Operators are used to manipulate data, perform calculations, make decisions, and control the flow of a program. They play a fundamental role in writing efficient and effective code.

### Various types of operators are:

**1. Arithmetic Operators**

Arithmetic operators are used to perform basic mathematical operations on numeric operands. Some arithmetic operators are addition (+), subtraction (-), multiplication (*), division (/), and modulus (%) operators.

**For example, **

`int result = 10 + 5;`

In the above example, we are adding 10 and 5 using the + operator and storing the result in the variable `result`

. Similarly, the subtraction, multiplication, and division operators work.

The modulus operator (%) is used to get the remainder after division. For instance, `int remainder = 10 % 3;`

will assign the value 1 to the variable `remainder`

. As when we divide 10 by 3, leaves a remainder of 1.

**2. Increment and Decrement Operators**

Increment and decrement operators are used to increase or decrease the value of a variable by one each time. There are two forms of this operator: pre-increment (e.g., ++var) and post-increment (e.g., var++).

**For example, **

`int count = 5;`

followed by `count++;`

will increase the value of `count`

by 1, resulting in a value of 6. Similarly, `--<code>count`

decreases the value of `<code>count`

by 1.

**3. Relational and Logical Operators**

**Relational operators** compare two operands and return a Boolean value (true or false) based on the comparison. They are useful for decision-making and looping.

**For example, **

`int x = 5;`

followed by `if (x > 3)`

checks if `x`

is greater than 3. If the condition is true, the code within the if statement is executed.

**Logical operators **combine multiple conditions and return a Boolean result. The logical AND (&&) and logical OR (||) operators allow us to perform conditional evaluations.

**For example, **

if (x > 3 && x < 10) checks if x is both greater than 3 and less than 10? If both conditions are true, the code within the if statement is executed.

**4. Assignment Operators**

Assignment operators are used to assign values to variables. The basic assignment operator (=) assigns the value to the variable.

Compound assignment operators (+=, -=, *=, /=, %=) are a combination of two operators.

**For example, **

`x += 5;`

is equivalent to `x = x + 5;`

where the value of `x`

is incremented by 5 and stored back into `x`

.

**5. Bitwise Operators**

Bitwise operators evaluate each individual bit of a number. They are useful in low-level programming and optimizing memory usage.

Some of the bitwise operators are AND (&), bitwise OR (|), bitwise XOR (^), and bitwise complement (~).

**For Example, **

`int result = 12 & 9;`

performs a bitwise AND operation on the binary representations of 12 and 9, resulting in 8.

**6. Ternary Operator**

The ternary operator can be written as (condition ? expression1 : expression2). It is the short way of writing a conditional statement if else.

**For example**,

`int result = (x > 5) ? x : 5;`

if `x`

is greater than 5. If true, it assigns the value of `x`

to `result`

; otherwise, it assigns 5.

## To Recall you can see the below Table

provides various types of operators, including:

- Arithmetic Operators:
- Addition (+)
- Subtraction (-)
- Multiplication (*)
- Division (/)
- Modulus (%)
- Increment (++)
- Decrement (–)

- Relational Operators:
- Equal to (==)
- Not equal to (!=)
- Greater than (>)
- Less than (<)
- Greater than or equal to (>=)
- Less than or equal to (<=)

- Logical Operators:
- Logical AND (&&)
- Logical OR (||)
- Logical NOT (!)

- Assignment Operators:
- Simple assignment (=)
- Compound assignment (+=, -=, *=, /=, %=)

- Bitwise Operators:
- Bitwise AND (&)
- Bitwise OR (|)
- Bitwise XOR (^)
- Bitwise NOT (~)
- Left shift (<<)
- Right shift (>>)

- Ternary Operator:
- Conditional operator (condition ? expression1 : expression2)

## Conclusion

Operators and expressions play a crucial role in the C programming language. It allows us to perform various types of computations and make decisions based on conditions. Hope you understood the concept of Operators, happy coding.