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:
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:
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.
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;
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 ;
y = 4 ;
10. What is misc operator?
There are few other operators supported by c language.
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
Pointer to a variable.
*a; will pointer to a variable.