Operators Introduction <ul><li>An operator is a symbol which helps the user to command the computer to do a certain mathematical or logical manipulations. Operators are used in C language program to operate on data and variables. </li></ul>
‘ C’ Has A Set Of Operators Which Can Be Classified As <ul><li>1. Arithmetic operators 2. Relational Operators 3. Logical Operators 4. Assignment Operators 5. Increments and Decrement Operators 6. Conditional Operators 7. Bitwise Operators 8. Special Operators </li></ul>
1. Arithmetic Operators <ul><li>All the basic arithmetic operations can be carried out in C. All the operators have almost the same meaning as in other languages. Both unary and binary operations are available in C language . Unary operations operate on a single operand, therefore the number 5 when operated by unary – will have the value –5. </li></ul>
<ul><li>Arithmetic Operators Used for performing numeric calculations
There are unary, binary, and ternary operators </li></ul><ul><ul><li>unary (1 operand) -5
We will study this in Conditional operator. </li></ul>
Operator Meaning Example Answer + Addition ans = 7 + 3; 10 - Subtraction ans = 7 - 3; 4 * Multiplication ans = 7 * 3; 21 / Division ans = 7 / 3; 2 % Modulus Operator ans = 7 % 3; 1 Cont... Arithmetic Operators
/ Operator <ul><li>Division operator ( /) performs integer division if both operands are integers </li></ul>13 / 5; // displays 2 2 / 4; // displays 0 <ul><li>If either operand is floating-point, the result is floating-point </li></ul>13 / 5.0; // displays 2.6 2.0 / 4; // displays 0.5
% Operator <ul><li>Modulus operator ( % ) computes the remainder resulting from integer division </li></ul>9 % 2; // displays 1 <ul><li>Modulus requires integers for both operands </li></ul>9 % 2.0; // error
2. Relational Operators <ul><li>Often it is required to compare the relationship between operands and bring out a decision and program accordingly. This is when the relational operator come into picture. C supports the following relational operators. </li></ul>
Operator Meaning < less than <= less than or equal to > greater than >= greater than or equal to == equal to != not equal to
<ul><li>A simple relational expression contains only one relational operator and takes the following form.
exp1 relational operator exp2 Where exp1 and exp2 are expressions, which may be simple constants, variables or combination of them. Given below are some examples of relational expressions .
Relational expressions are used in decision making statements of C language such as if, while and for statements. </li></ul>
3. Logical Operators <ul><li>C has some logical operators. </li></ul>Operator Meaning && Logical AND || Logical OR ! Logical NOT
Logical AND (&&) <ul><li>This operator is used to evaluate 2 conditions. If both the expressions to the left and to the right of the logical operator is true then the whole compound expression is true. Example
Logical OR (||) <ul><li>The logical OR is used to combine 2 expressions or the condition evaluates to true if any one of the 2 expressions is true. Example </li></ul><ul><li>True || True =True False || True =True True || False =True False || False =False </li></ul>
Logical NOT (!) <ul><li>The logical not operator takes single expression and evaluates to true if the expression is false and evaluates to false if the expression is true. In other words it just reverses the value of the expression. For example
4. Assignment Operators <ul><li>The Assignment Operator evaluates an expression on the right of the expression and substitutes it to the value or variable on the left of the expression. </li></ul><ul><li>Example:
The commonly used shorthand assignment operators are as follows: </li></ul>
Statement with simple assignment operator Statement with shorthand operator 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
5. Increment and Decrement Operators <ul><li>The increment (++) and decrement (--) operators simply add 1 or subtract 1 from a variable and return the value of that variable. These are unary operators meaning they work on only one operand. </li></ul>
<ul><li>There are two ways to use these operators – prefix or postfix, that means you can put the operator in front of the variable like ++a or behind the variable like b-- respectively.
In prefix notation the variable is incremented or decremented first, then the new value is returned.
In postfix notation the variable's original value is returned, and the addition or subtraction happens later. </li></ul>
6. Conditional Operator <ul><li>The conditional operator is unusual in that it takes three operands. The syntax of this operator is like this:
You can think of the conditional operator as if it were a function that works like this: </li></ul>
<ul><li>if ( Condition ) return Expression1; else return Expression2; </li></ul><ul><li>The Condition expression must evaluate to true or false. If condition is true Expression1 is evaluated and its value is returned. If Condition is false Expression2 is evaluated and its value is returned. </li></ul>
7. Bitwise Operators <ul><li>Bitwise operators work on the bits stored in integral types. They work similar to the logical operators except that instead of working on true and false values they work with ones and zeroes. There are several bitwise operators available:
Symbol and their Meaning: ~ Complement & And | Or ^ Exclusive-Or << Left shift >> Right shift </li></ul>
<ul><li>The complement operator is a unary operator. The other bitwise operators are binary, taking two arguments. Every bit that is 1 in the operand is 0 in the result.
The exclusive-OR (XOR), it performs same as logical OR operator: </li></ul>The result is 1 only when either X is equal to 1 or Y is equal to 1, but not when both X and Y are equal to 1.
8. Special Operators <ul><li>The  operator is used to access elements of an array. The syntax is like this: