1.1.2. Expressions-WE1-P2¶
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 enter “invalid” if the statement would result in a compiler error or using an undefined value. Each problem is independent of the others (e.g. Question 2 does not depend on Question 1, only the “Given” code).
Expressions-WE1-P2
Given
int alpha, beta = 1, gamma;
double omega = 2.5, theta, lambda;
Q6: alpha = beta;
What is the value of alpha?
- cannot assign a double to an int variable
- lambda does not have a value
- omega does not have a value
- cannot assign an int to a double variable
Q7: alpha = omega;
Q8: theta = 22;
What is the value of theta?
Q9: omega = beta;
What is the value of omega?
- cannot assign a double to an int variable
- lambda does not have a value
- theta does not have a value
- cannot assign an int to a double variable
Q10: theta = lambda;
Why is this statement invalid?