190 likes | 284 Views
Review Question. What kind error is it when I try to multiply a number in a program by 1000 and store in a variable, but the variable is too small for the number to fit? Old Odometer problem. 02/04/11. Arithmetic Expressions. Programs do Calculations. Example in cs117/ch2/circle.cpp. C++
E N D
Review Question • What kind error is it when I try to multiply a number in a program by 1000 and store in a variable, but the variable is too small for the number to fit? • Old Odometer problem.
02/04/11 Arithmetic Expressions
Programs do Calculations • Example in cs117/ch2/circle.cpp
C++ +, - unary *, /, % +, - binary no exponent Arithmetic Operators • Algebra +, - unary x, ÷ +, - binary xn
Precedence 1. Parenthesis 2. Unary +, - 3. *, /, % 4. Binary +, -
Values of the Following? 50%20 = 20.0 – 6.0/2.0 + 3.0 = 20.0 – 6.0/(2.0 + 1.0) = 5 + -a * 14= ? ,assume a = -2
Associativity • Left to right x + y + z • Right to left --z x = y = 0;
No Implied Multiplication x = 2(y + z); //Error x = 2*(y + z); //Ok
Assignment Operator = • variable = expression • expression on right evaluated • result stored in variable int x, y; x = 9*(7+4); y = x + 20;
int operations int i = 5; int j = 3; int k; k = i / j; //Result of divide truncated k = i % j; • Result int when operands are int
Implicit Type Conversion • Assume variables int k = 5, m = 4, n ; double x = 1.5, y = 2.1, z; • Type automatically converted n = x; z = m;
Implicit Type Conversion • Assume variables int k = 5, m = 4, n ; double x = 1.5, y = 2.1, z; z = k /m; //Result of op. Same as Operands y = m + 1.5; // mixed types
Explicit Type Conversion int kids, families; double average; kids = 21; families = 8; average = (double)kids/families;
Next • Additional Operations • Functions • Read Chapter 3 for Wednesday
Exercises for Study • p. 55, #1 ,3, 4