Contributed By: Shehrevar Davierwala

1. What is a operator ?

An operator is a symbol that tells the compiler to perform specific mathematical or logical manipulations.

2. Name different types of operators in C

C language is rich in built-in operators and provides the following types of operators:

• Arithmetic Operators

• Relational Operators

• Logical Operators

• Bitwise Operators

• Assignment Operators

• Increment and decrement operators

• Conditional operators

• Misc Operators

3. What are Arithmetic Operators ?

These are used to perform mathematical calculations like addition, subtraction, multiplication, division and modulus.

Following table shows all the arithmetic operators supported by C language. Assume variable A holds 10 and variable B holds 20 then:

Operator Description Example

+ Adds two operands A + B will give 30

– Subtracts second operand from the first A – B will give -10

* Multiplies both operands A * B will give 200

/ Divides numerator by de-numerator B / A will give 2

% Modulus Operator and remainder of after an integer division B % A will give 0

++ Increments operator increases integer value by one A++ will give 11

— Decrements operator decreases integer value by one A–will give 9

4. What are Relational Operators?

These operators are used to compare the value of two variables.

Following table shows all the relational operators supported by C language. Assume variable A holds 10 and variable B holds 20, then:

Operator Description Example

== Checks if the values of two operands are equal or not, (A == B) is not true if yes then condition becomes true.

!= Checks if the values of two operands are equal or not, (A != B) is true. if values are not equal then condition becomes true.

> Checks if the value of left operand is greater than the (A > B) is not true. value of right operand, if yes then condition becomes true.

< Checks if the value of left operand is less than the (A < B) is true. value of right operand, if yes then condition becomes true.

>= Checks if the value of left operand is greater than (A >= B) is not true. or equal to the value of right operand, if yes then condition becomes true.

<= Checks if the value of left operand is less than or equal to the (A <= B) is true. value of right operand, if yes then condition becomes true.

5. What are logical operators ?

These operators are used to perform logical operations on the given two variables.

Following table shows all the logical operators supported by C language. Assume variable A holds 1 and variable B holds 0, then:

Operator

&&

Called Logical AND operator. If both the operands are nonzero, then condition becomes true.

Example: (A && B) is false.

||

Called Logical OR Operator. If any of the two operands is non-zero, then condition becomes true.

Example: (A || B) is true.

!

Called Logical NOT Operator. Use to reverses the logical state of its operand. If a condition is true then Logical NOT operator will make false.

Example: !(A && B) is true.

6. What are bitwise operator?

Bitwise operator works on bits and performs bit-by-bit operation. Bitwise operators are used in bit level programming. These operators can operate upon int and char but not on float and double.

Showbits( ) function can be used to display the binary representation of any integer or character value.

Bit wise operators in C language are; & (bitwise AND), | (bitwise OR), ~ (bitwise OR), ^ (XOR), << (left shift) and >> (right shift).

The Bitwise operators supported by C language are explained in the following table. Assume variable A holds 60 (00111100) and variable B holds 13 (00001101), then:

7. What are assignment operators?

In C programs, values for the variables are assigned using assignment operators.

There are following assignment operators supported by C language:

8. What are increment and decrements operators ?

In C, ++ and – are called increment and decrement operators respectively. Both of these operators are unary operators, i.e, used on single operand. ++ adds 1 to operand and – subtracts 1 to operand respectively. For example:

Let a=5 and b=10

a++; //a becomes 6

a–; //a becomes 5

++a; //a becomes 6

–a; //a becomes 5

When i++ is used as prefix(like: ++var), ++var will increment the value of var and then return it but, if ++ is used as postfix(like: var++), operator will return the value of operand first and then only increment it. This can be demonstrated by an example:

#include <stdio.h>

int main()

{

int c=2,d=2;

printf(“%d\n”,c++); //this statement displays 2 then, only c incremented by 1 to 3.

Printf(“%d”,++c); //this statement increments 1 to c then, only c is displayed.

Return 0;

}

**Output**

2

4

9. What is conditional operator?

Conditional operators are used in decision making in C programming, i.e, executes different statements according to test condition whether it is either true or false.

Syntax of conditional operators;

conditional_expression?expression1:expression2

If the test condition is true (that is, if its value is non-zero), expression1 is returned and if false expression2 is returned.

Let us understand this with the help of a few examples:

int x, y ;

scanf ( “%d”, &x ) ;

y = ( x> 5 ? 3 : 4 ) ;

This statement will store 3 in y if x is greater than 5, otherwise it will store 4 in y.

The equivalent if statement will be,

if ( x > 5 )

y = 3 ;

else

y = 4 ;

10. What is misc operator?

There are few other operators supported by c language.

Operator

sizeof()

It is a unary operator which is used in finding the size of data type, constant, arrays, structure etc.

sizeof(a), where a is integer, will return 4.

&

Returns the address of a variable.

&a; will give actual address of

the variable.

*

Pointer to a variable.

*a; will pointer to a variable.