Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operators and Expressions

Similar presentations


Presentation on theme: "Operators and Expressions"— Presentation transcript:

1 Operators and Expressions
Knowledge: Know the types of basic arithmetic operators and their order of precedence Skill: Develop skills in computer arithmetic FTSM Computer Science Department

2 Introduction We use arithmetic expressions to solve most programming problems Arithmetic expressions comprise of operators and operands There are rules for writing and evaluating arithmetic expressions TK1913-C Programming

3 W + Z Operator and Operand Operand Operand Operator
What are operator and operand? Example: W + Z Operand Operand Operator TK1913-C Programming

4 A / B Operator and Operand Operator ?? Operand?? Which is which?
Example: A / B Operand?? TK1913-C Programming

5 Basic Arithmetic Operators
Addition (+) Modulus (%) Subtraction (-) Multiplication (*) Division (/) TK1913-C Programming

6 Basic Arithmetic Operators
Multiplication, addition and subtraction are the simplest to use Division is easy, but some precautions need to be taken Modulus is the one that normally confuses novices So, let’s study in detail the Division and Modulus TK1913-C Programming

7 W / Z Division Integer Division W and Z are integers Floating Division
Example: W / Z Integer Division W and Z are integers Floating Division W or Z or both are floats TK1913-C Programming

8 8 / 2 = 4 Integer Division  the result is also an integer an integer
Example: 8 / 2 = 4 an integer  the result is also an integer an integer TK1913-C Programming

9 12 / 5 = 2 Integer Division  the result is also an integer an integer
Example: 12 / 5 = 2 an integer  the result is also an integer an integer TK1913-C Programming

10 12.0 / 5 = 2 Floating Division a float an integer
Example: 12.0 / 5 = 2 a float the result is a float an integer TK1913-C Programming

11 Something to ponder … What will be the answer if an integer is divided by 0? How about if one of the operands is a negative integer? TK1913-C Programming

12 Modulus It returns the remainder that occurs after performing the division of 2 operands Rule: Operands must be integers TK1913-C Programming

13 12 % 5 = 2 Modulus an integer an integer
Example: 12 % 5 = 2 an integer the result is the remainder of 12/5 an integer 2 result 5 12 10 remainder 2 TK1913-C Programming

14 7 % 3 = 1 Modulus an integer an integer
Example: 7 % 3 = 1 an integer the result is the remainder of 7/3 an integer 2 result 3 7 6 remainder 1 TK1913-C Programming

15 12.0 % 3 = ?? Modulus a float an integer INVALID! Example:
TK1913-C Programming

16 Something to ponder … The earlier expressions contain only one operator at a time. What if the expression contains more than one operator? TK1913-C Programming

17 Arithmetic Expression
An expression may contain 2 or more arithmetic operators Main issue: ORDER OF PRECEDENCE TK1913-C Programming

18 Arithmetic Expression
Examples: 5 + 6 = 11 5 + 6 * 2 = 17 = 22 or 17? – 2 * 2 = ?? = ?? 12 / 6.0 – 2 * 2 TK1913-C Programming

19 Arithmetic Expression
Order of Precedence: High: * / % Low: + - All operators have a precedence level. High precedence level operators are evaluated before lower ones. Operators of the same precedence level are evaluated from left to right TK1913-C Programming

20 Arithmetic Expression
Example: Example: – 2 * 2 = 4.5 4 8.5 – 4 4.5 – 2 * 2 = – 2 * 2 = ?? – 2 * 2 = 4 8.5 – 4 4.5 TK1913-C Programming

21 Try it! 12 + 6.0 – 2 * 2 = ?? What’s the answer?? Example:
TK1913-C Programming

22 Arithmetic Expression
All expressions in parentheses (brackets) must be evaluated prior to values outside brackets Nested parenthesized expressions must be evaluated from the inside out, with the innermost expression evaluated first Example: ( 9 – ( ) ) * 3 = ?? TK1913-C Programming

23 Arithmetic Expression
Example: ( 9 – ( ) ) * 3 = ??  ( 9 – ( ) ) * 3 = 12 12 4 TK1913-C Programming

24 Assignment Statement There are 3 types of assignment: Simple Multiple
Shorthand TK1913-C Programming

25 variable = expression ;
Simple Assignment Syntax: variable = expression ; Don’t forget the semicolon !! TK1913-C Programming

26 Simple Assignment 0.25 10.00 ?? 7.50 Example: price discount total
Buying price: 10.00 Discount rate: 0.25 For buying price RM10.00 and discount rate 0.25 _ Buying price: 10.00 Discount rate: 0.25 For buying price RM10.00 and discount rate 0.25 The total price is RM7.50 _ Buying price: 10.00 Discount rate: 0.25 _ 0.25 Buying price: 10.00 Discount rate: _ Buying price: 10.00 _ 10.00 Buying price: _ Simple Assignment Example: #include <stdio.h> void main( ) { float price, discount, total; printf(“Buying price : “); scanf(“%f”, &price); printf(“\nDiscount rate : “); scanf(“%f”, &discount); total = price – (price * discount); printf(“\nFor buying price RM%.2f and discount rate %.2f\n”, price, discount); printf(“The total price is RM%.2f\n”, total); } discount ?? price total 7.50 TK1913-C Programming

27 variable = variable = expression ;
Multiple Assignment Syntax: variable = variable = expression ; Don’t forget the semicolon !! TK1913-C Programming

28 Multiple Assignment Example: int number, total;
float start_x, start_y; . . . number = total = 0; start_x = start_y = 100.0; total ?? number start_x ?? start_y 100.0 TK1913-C Programming

29 Shorthand Assignment variableX = variableX op expression ;
Syntax: variableX = variableX op expression ; variableX op= expression; TK1913-C Programming

30 Shorthand Assignment Example: 15 + 5 20 num = num + 5;
Whenever the expression on the right contains the variable on the left (to which the value is assigned) Example: num = num + 5; num 15 20 15 + 5 20 TK1913-C Programming

31 Shorthand Assignment Example: similar to num = num + 5 num += 5;
Expressions can also be stated using shorthand assignment operators Example: num += 5; shorthand assignment operator similar to num = num + 5 Shorthand assignment operators have the lowest order of precedence – the last one to be evaluated TK1913-C Programming

32 Examples of expression
Shorthand Assignment Operation Examples of expression Description += num += 5; num = num + 5; -= num -= 5; num = num – 5; *= num *= 5; num = num * 5; /= num /= 5; num = num / 5; %= num %= 5; num = num % 5; TK1913-C Programming

33 Shorthand Assignment Example: pay += hour * rate * 2
similar to pay = pay + (hour * rate * 2) 180.00 pay 100.00 hour 8 rate 5.00 pay + (hour * rate * 2)  pay + (8 * 5.00 * 2) TK1913-C Programming

34 Assignment by Value Every assignment expression has a value
Example: int a, x, y, p; Line 1: a=1; Line 2: x = y = 0; Line 3: p = 12; Line 4: p = p +3; Line 5: q = p = p + x; Example: Expression 1: a = 1; Expression 2: x = y = 0; Expression 3: p = 12; p = 0; TK1913-C Programming

35 Examples of Expression
Relational Operators Operation Description Examples of Expression Value < Less than 6 < 9 1 (true) <= Less than or equal to 5 <= 5 > Greater than 2 > 6 0 (false) >= Greater than or equal to 9 >= 5 == Equal to 7 == 5 != Not equal to 6 != 5 TK1913-C Programming

36 Mantic/Logical Operators
Symbol Description && AND || OR ! NOT a b a && b a || b !a !b 1 TK1913-C Programming

37 Compound Statement ! ( c > a ) Example:
Arithmetic, relational and mantic operators can be integrated/combined in one expression Example: ! ( c > a ) a 2 b 5 ! ( 15 > 2 ) c 15  ! ( 1 ) d 17  0 TK1913-C Programming

38 Compound Statement (a >= 1) && (b == 5) Example:
2 1 && ( b == 5 ) b 5 1 && ( 5 == 5 ) c 15 1 && 1 d 17 1 TK1913-C Programming

39 Compound Statement (c >= ( b * 3 ) ) || (a == 3) Example:
( c >= ( 5 * 3 ) ) || ( a == 3) a 2 ( 15 >= 15 ) || ( a == 3) b 5 1 || ( a == 3 ) 1 || ( 2 == 3 ) c 15 1 || 0 d 17 1 TK1913-C Programming

40 Compound Statement ! ( ( a < b ) || ( c > d ) ) Example:
2 ! ( 1 || ( c > d ) ) b 5 ! ( 1 || ( 15 > 17 ) ) ! ( 1 || 0 ) c 15 ! 1 d 17 TK1913-C Programming

41 Increment and Decrement
This operation contains only one operand, that is, the operand which value will be incremented/ decremented Symbol Description Examples of Expression ++ Increment operand by 1 i++ i = i + 1 -- Decrement operand by 1 i-- i = i – 1 TK1913-C Programming

42 Increment and Decrement
Example: int num; printf(“Key-in a number: “); scanf(“%d”, &num); printf(“Value before being incremented: %d\n”, num); num++; printf(“Value after being incremented: %d”, num); num ?? 26 27 Key-in a number: 26 Value before being incremented: 26 Value after being incremented: 27 _ Key-in a number: 26 Value before being incremented: 26 _ Key-in a number: _ Key-in a number: 26 _ TK1913-C Programming

43 Prefix and Postfix Increment and Decrement operators can be either in prefix or postfix forms Expression Description i++ Value of i is incremented after being used in the expression ++i Value of i is incremented before being used in the expression i-- Value of i is decremented after being used in the expression --i Value of i is decremented before being used in the expression TK1913-C Programming

44 Prefix and Postfix Example: j = i++ - 2 similar to j = i – 2;
i = i + 1; i 5 6 j ?? 3 TK1913-C Programming

45 Prefix and Postfix Example: j = ++i - 2 similar to i = i + 1;
5 6 j ?? 4 TK1913-C Programming

46 Coersion int x = 10; Example:
Coersion is used to compute a value that is equivalent to its operand’s value (based on the stated data type) Example: int x = 10; float y; y = (float) x; x 10 y ?? ( float ) 10 TK1913-C Programming

47 Coersion int total, number; Example: float average; …
average = total / number; total 15 number 2 average ?? 15 / 2 7 TK1913-C Programming

48 Coersion int total, number; Example: float average; …
average = (float) total / number; total 15 number 2 average ?? / 2 TK1913-C Programming

49 End of Lecture 6 Yes !! That’s all? What’s next???
CONTROL STRUCTURE: SELECTION on the way … TK1913-C Programming


Download ppt "Operators and Expressions"

Similar presentations


Ads by Google