Review Question
description
Transcript of Review Question
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.
Arithmetic Expressions
02/04/11
Programs do Calculations
• Example in cs117/ch2/circle.cpp
Arithmetic Operators
• Algebra+, - unary
x, ÷
+, - binary
xn
• C+++, - unary
*, /, %
+, - binary
no exponent
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 rightx + 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;
Example
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
Careful with Integer Fractions
Fraction -- What’s Wrong?
Implicit Type Conversion
• Assume variablesint k = 5, m = 4, n ;
double x = 1.5, y = 2.1, z;
• Type automatically convertedn = x;z = m;
Implicit Type Conversion
• Assume variablesint 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
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