**Introduction to C**- » Introduction & History of C
- » Constants & there Types
- » Variables & there Types
- » Keywords
- » Data Type in C
- » C - Operators
- » First Program in C
**Decision Control Statements****Loops in C****Array in C****Pointer in C****String in C****Function in C****Structure in C****Union in C****File Handling in C****Additional Tutorials on C****Objective Question on C**

## Operators

C is very rich in built-in operators. In fact, it places more significance on operators than do most other computer languages. There are four main classes of operators: arithmetic, relational , logical, and bitwise. In addition, there are some special operators, such as the assignment operator, for particular tasks.

## Operators are the following types :

## The Assignment Operator

C uses a single equal sign to indicate assignment (:= ). The target, or left part, of the assignment must be an object, such as a variable, that can receive a value.

__The general form of the assignment operator is : __

*variable_name = expression*

Ex- x = x+10;( Compound Assignments)

x = y = z = 0;( Multiple Assignments)

## Arithmetic Operators

Arithmetic operator are those operator which use to compute arithmetical or mathematic operation like addition, subtraction, multiplication and division.

Operator |
Action |

- | Subtraction, also unary minus |

+ | Addition |

* | Multiplication |

/ | Division |

% | Modulus |

- - | Decrement |

+ + | Increment |

## The precedence of the arithmetic operators :

++, – – (Highest)

–(unary minus)

*, /, %

+, – (Lowest)

» Operators on the same level of precedence are evaluated by the compiler from left to right.

## The Increment and Decrement Operators

The Increment operator (++) adds 1 to its operand and the Decrement operator (– –) subtracts 1 from its operand.

x = x + 1 is the same as ++ x;

x = x – 1; is the same as x ––;

## Relational Operators

Relational Operators refers to the relationships that values can have with one another i.e. to compare the values of two variables.

Relational Operator |
Action |

> | Greater than |

> = | Greater than or equal |

< | Less than |

< = | Less than or equal |

= = | Equal |

!= | Not equal |

## Void data type

The void type specifies an empty set of values. The type void either explicitly declares a function as returning no value or creates generic pointers.

## Modifying the Basic Types

Except type void, the basic data types may have various modifiers preceding them. A type modifier alters the meaning of the base type to more precisely fit a specific need.

Type |
Typical Size in Bits |
Minimal Range |

char | 8 | -127 to 127 |

unsigned char | 8 | 0 to 255 |

int | 16 or 32 | –32,767 to 32,767 |

unsigned int | 16 or 32 | 0 to 65,535 |

short int | 16 –32 | 767 to 32,767 |

long int | 32 | –2,147,483,647 to 2,147,483,647 |

float | 32 | 1E–37 to 1E+37 with six digits of precision |

double | 64 | 1E–37 to 1E+37 with ten digits of precision |

long double | 80 | 1E–37 to 1E+37 with ten digits of precision |

Logical Operators

Logical operators are used to perform logical operations on the given conditions or expressions. There are three logic operator – AND, OR, NOT.

**AND ( && ) Operator :**It returns true when both conditions are true.

**OR ( || ) Operator :**It returns true when at-least one of the condition is true.

**NOT ( ! ) Operator :**It reverses the state of the operand.

## Bitwise Operators

Bitwise operators are used to perform bit operations. Decimal values are converted into binary values which are the sequence of bits and bit wise operators work on these bits. It may refers to testing, setting, or shifting the actual bits in a byte or word, which correspond to the standard char and int data types and variants.

Operator |
Action |

& | AND |

| | OR |

^ | Exclusive OR (XOR) |

~ | One's complement (NOT) |

>> | Shift right |

<< | Shift left |