Section 1.16 Expressions-WE5-P2
Subsection 1.16.1 Subgoals for evaluating an assignment statement
Determine resultant data type of expression
Update variable for pre-increment or pre-decrement operators (side effect)
Evaluate arithmetic expression according to operator precedence
If an assignment statement (=), is Left Hand Side (LHS) a variable? Check data type of value against data type of variable.
Update variable for post-increment or post-decrement operators (side effect)
For the assignment statements below, either give the new value of the assigned variable, or explain why the statement is invalid. Each problem is independent of the others (e.g. Question 2 does not depend on Question 1, only the “Given” code).
Subsection 1.16.2 Expressions-WE5-P2
int alpha = 2, beta = 1, delta = 3, eta, gamma; double omega = 2.5, theta = -1.3, kappa = 3.0, lambda, rho;
cannot assign a double to an int variable
eta does not have a value
eta is a constant
cannot assign an int to a double variable
Q32: delta += omega;
Why is this statement invalid?
Q33: alpha *= beta + delta;