# Operators in C Programming

### Types of Operators in C Programming

Arithmetic Operators

(five)

+ - Addition / unary plus

- - Subraction / unary minus

* - Mulitplication

/ - Division

% - Modulo division

• % - can’t be used with floating point data
• C does not have operator for exponentiation
• In modulo divison, the sign of the result is always the sign of the first operand

e.g.

-14%3 = -2

14%-3 = 2

Relational Operators

(six)

<  is less than (is complement of >=)

<=  is less than or equal to

>  is greater than (is complement of <=)

>= is greater than or equal to

== is equal to (is complement of !=)

!= is not equal to

Logical Operators

&& - AND

|| - OR

! – NOT

Combines two or more relational expressions, is termed as a logical expression

Assignment Operators

var = var op (exp)

è var op= var

(var – variable, op – operator, exp – expression)

e.g.

 Simple Assignment Operators Equivalent Shorthand assignment operators a = a +1 a +=1 a = a – 1 a -= 1 a = a*(n+1) a *= n + 1 a = a /(n+1) A /= n + 1 a = a % b A %= b

Increment and Decrement Operators

++ (Increment)

-- (Decrement)

• Unary operators
• Postfix : expression evaluated first, then the value of the variable is incremented / decremented by 1.
• Prefix: the value of the variable is incremented / decremented by 1, then the expression evaluated.

e.g.

++a, a++

--b, b--

 Expression Value after processing a = 5; b = ++a; a = 6 b = 6 a = 5; b = a++; a = 6 b = 5

Conditional Operator

Ternary operator pair  “?:”

exp1 ? exp2 : exp3

exp1 is evaluated first, if non zero(true), then exp2 is evaluated, exp1 is false, then exp3 is evaluated.

 if(a>b) x = a; else x = b; è x = (a>b) ? a:b;

Bitwise Operator

Used to manipulate the data at bit level.

& - bitwise AND

| - bitwise OR

^ - bitwise exclusive OR
<< - shift left

>> - shift right

• Bitwise operators may not be applied to float or double

Special Operators

Comma (,) operator, sizeof operator, pointer operators (& and *), member selection operator (.  and ->)

Comma Operator:

• Can be used to link the related expressions together
• Comma op has the lowest precedence of all operators

e.g. in for loops
for(n=1, m=10, n<=m; n++, m++)

size of Operator:

• It is compile time operator and it returns number of bytes the operand occupies.

e.g.

m = sizeof(sum);

n = sizeof(long int);

k = sizeof(255L);