C Operators specify what is to be done to objects with specific type. Operators act on expressions to form a new expression.
There are different types of operators in C.
There are two types of arithmetic (or numerical) operators: first one is unary and second is binary.
The binary operators acts on two operands at a time. It includes plus +, minus −, multiply ∗, divide /, and the modulus operator %.
However, the modulus operator is valid only for non-floating-point types (e.g., char, int, etc), and x % y produces the remainder from the division x / y (e.g., 17 % 7 is equal to 3). The rest of four operators can be used on integer or floating-point types.
Note: The integer division truncates any fractional part (e.g., 18/5 is equal to 3).
The unary operators requires one operand. This type of operators include plus +, minus -, increment ++ and decrement –.
Here is example of unary operators.
double x = 3.2; double y = ++x; double z = x++;
The following table lists the all the arithmetic operators.
Table: Arithmetic operators
The Bitwise Operators
The bitwise logical operators are &, |, ^,left shift <<, right shift >>, and ~. These are essential for low-level programming, such as controlling hardware.
The following table shows the outcome of each operation. In the discussion that follows, keep in mind that the bitwise operators are applied to each individual bit within each operand.
Table: Bitwise Operators
The relational operators determine the relationship that one operand has to the other. Specifically, they determine equality and ordering.
Table : Relational Operators
They work the same as the arithmetic operators (e.g., a > b) but return a Boolean value of either true or false, indicating whether the relation tested for holds. For example, if the variables x and y have been set to 8 and 2, respectively, then x > y returns true. Similarly, x < 5 returns false.
The logical operators are often used to combine relational expressions into more complicated Boolean expressions.
Following table lists the logical operators and their meaning.
The operators return true or false, according to the rules of logic:
|a||b||a && b|
|a||b||a || b|
The ! operator is a unary operator, taking only one argument and negating its value:
We'll discuss more about the application of operators in preceding chapters.