- 1. OPERATORS & EXPRESSIONS An operator is a symbol (+,-,*,/)that tells the compiler to perform specific mathematical or logical manipulations. C language is rich in built-in operators and provides the following types of operators:
- 2. Operators in C 1. Arithmetic operators 2. Relational operators 3. Logical operators 4. Assignment operators 5. Increment and decrement operators 6. Conditional operators 7. Bitwise operators 8. Special operators
- 3. Arithmetic operators Operator example Meaning + a + b Addition –unary - a – b Subtraction- unary * a * b Multiplication / a / b Division % a % b Modulo division- remainder
- 4. Compound Assignment Operator ● Often we use “update” forms of operators – x=x+1, x=x*2, ... ● C offers a short form for this: – Generic Form variable op= expr equivalent to variable = variable op expr Update forms have value equal to the final value of expr ● i.e., x=3; y= (x+=3); /* x and y both get value 6 */ Operator Equivalent to: x *= y x = x * y y -= z + 1 y = y - (z + 1) a /= b a = a / b x += y / 8 x = x + (y / 8) y %= 3 y = y % 3
- 5. Comma Operator has Lowest Precedence i.e it is having lowest priority so it is evaluated at last. Comma operator returns the value of the rightmost operand when multiple comma operators are used inside an expression. Comma Operator Can acts as – Operator : In the Expression Separator : Declaring Variable , In Function Call Parameter List Comma Operators
- 6. Let a=5 and b=10 a++; //a becomes 6 a--; //a becomes 5 ++b; //a becomes 11 --b; //a becomes 9 Program for preincrement &postincrement #include<stdio.h> Output : void main() Value of a : 10 { Value of b : 11 int a,b,x=10,y=10; a = x++; b = ++y; printf("Value of a : %d",a); printf("Value of b : %d",b); } PREINCREMENT & POST INCREMENT
- 7. Relational Operator Meaning > Greater than >= Greater than or equal to <= Less than or equal to < Less than == Is equal to != Is not equal to Logical Operator Name of the Operator && And Operator | Or Operator ! Not Operator Operators
- 8. Examples Truth Table a b Value of the expression a&& b a || b 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1 Shorthand Assignment operators Simple assignment operator Shorthand operator a = a+1 a + =1 a = a-1 a - =1 a = a* (m+n) a * = m+n a = a / (m+n) a / = m+n a = a %b a %=b
- 9. Conditional Operators [ ?: ] : Ternary Operator Statement in C expression 1 ? expression 2 : expression 3 where expression1 is Condition expression2 is Statement Followed if Condition is True expression2 is Statement Followed if Condition is False
- 10. BITWISE OPERATORS Operator Meaning & Bitwise AND | Bitwise OR ^ Bitwise exclusive OR << Shift left >> Shift right These operators allow manipulation of data at the bit level
- 11. Review – Bitwise Operations in Integers • & – AND ● Result is 1 if both operand bits are 1 • | – OR ● Result is 1 if either operand bit is 1 • ^ – Exclusive OR ● Result is 1 if operand bits are different • ~ – Complement ● Each bit is reversed • << – Shift left ● Multiply by 2 • >> – Shift right ● Divide by 2 Corresponding bits of both operands are combined by the usual logic operations. Apply to all kinds of integer types:– Signed and unsigned char, short, int, long, long long
- 12. Assume if A = 60; and B = 13; now in binary format they will be as follows: A = 0011 1100 B = 0000 1101 --------------------- A&B = 0000 1100 A|B = 0011 1101 A^B = 0011 0001 ~A = 1100 0011 The Bitwise operators supported by C language are listed in the following table. Assume variable A holds 60 and variable B holds 13, then: Example for Bitwise Operations
- 13. Special operators 1. Comma operator ( ,) 2. sizeof operator – sizeof( ) 3. Pointer operators – ( & and *) 4. Member selection operators – ( . and ->)
- 14. ● BODMAS RULE- Brackets of Division Multiplication Addition Subtraction PRECEDENCE OF OPERATORS Brackets will have the highest precedence and have to be evaluated first, then comes of , then comes division, multiplication,addition and finally subtraction. The 2 distinct priority levels of arithmetic operators in c are- Highest priority : * / % Lowest priority : + -
- 15. Rules for evaluation of expression 1. First parenthesized sub expression from left to right are evaluated. 2. If parentheses are nested, the evaluation begins with the innermost sub expression 3. The precedence rule is applied in determining the order of application of operators in evaluating sub expressions 4. The associatively rule is applied when 2 or more operators of the same precedence level appear in a sub expression. 5. Arithmetic expressions are evaluated from left to right using the rules of precedence 6. When parentheses are used, the expressions within parentheses assume highest priority
- 16. Hierarchy of operators Operator Description Associativity ( ), [ ] Function call, array element reference Left to Right +, -, ++, - -,!,~,*,& Unary plus, minus, increment, decrement, logical negation, 1’s complement, pointer reference, address Right to Left *, / , % Multiplication, division, modulus Left to Right
- 17. Expressions Combination of Operators and Operands Example 2 * y + 5 Operands Operators
- 18. Type Conversions There are two kinds of type conversion. Automatic or implicit type conversion and Explicit type conversion.
- 19. Type Conversion Converting from one data type to another type is called type conversion. There are two kinds of type conversions. Type Conversion Implicit Explicit Converting from one data type to another type is called type conversion. There are two kinds of type conversions. Type Conversion Implicit Explicit
- 20. Implicit: Same data type conversion Smaller data type into bigger (memory size) Explicit: Different Data type Type Casting (Float--- int (or) int ---- float) Type Conversion
- 22. Thank You You Gave me Your time