## C

Fundamental concept of Problem solving
Introduction to C
C character set and keywords
Data Types
Variables
Constants
C instruction set
Operators
Expressions
Basic Input/Output
Control Structures
Array and String
Function and Recursion
Pointers
Structures
Union
Dynamic Data Structure
Data File Handling through C
C Preprocessor & Macro
Command line parameter of C

# Operators

### Assignment operator

Assignment operators are used to assign the result of an expression to a variable. The most commonly used assignment operator is (=).

eg:      i=i+10;

i=i+10 is an assignment expression which assigns the value of i+10 to i.

Expression like   i=i+10,  i=i-5,  i=i*2 etc. can be rewritten using shorthand assignment operators.

e.g.:   i=i+5 is equivalent to i+=5
i=i*(y+1)  is equivalent to   i*=(y+1)

Operator Precedence:

While executing an arithmetic statement which has two or more operators, we may have some problems about how exactly does it get executed.

To answer these questions satisfactorily we have to understand the precedence of operators.

Precedence defines the sequence in which operators are to be applied on the operands. Operators of same precedence are evaluated from left to right or right to left, depending upon the level.

This is known as associativity property of an operator.

Summary of precedence of associativity is given below:

 Description Operator Associativity Function Expression ( ) Left to Right Array Expression [ ] Left to Right Structure Operator -> Left to Right Structure Operator . Left to Right

 Description Operator Associativity Unary minus - Right to Left Increment/Decrement ++/-- Right to Left One's Compliment ~ Right to Left Negation ! Right to Left Address of & Right to Left Value at address * Right to Left Type cast (type) Right to Left Size in bytes sizeof Right to Left

 Description Operator Associativity Multiplication * Left to Right Division / Left to Right Modulus % Left to Right Addition + Left to Right Subtraction - Left to Right

 Description Operator Associativity Left Shift << Left to Right Right Shift >> Left to Right

 Description Operator Associativity Less Than < Left to Right Less Than Equal to <= Left to Right Greater than > Left to Right Greater than Equal to >= Left to Right

 Description Operator Associavity Equal to == Left to Right Not equal to != Left to Right

 Description Operator Associavity Bitwise AND & Left to Right Bitwise XOR ^ Left to Right

 Description Operator Associavity Bitwise OR ^ Left to Right

 Description Operator Associavity Logical AND && Left to Right Logical OR || Left to Right

 Description Operator Associavity Conditional ?: Right to Left

 Description Operator Associavity Assignment = Right to Left Assignment *=   /=   %= Right to Left Assignment +=   -=   &= Right to Left Assignment ^=   |= Right to Left Assignment <<=   >>= Right to Left

 Description Operator Associavity Comma , Right to Left