# Subgoals

## Section1.3Expressions-WE1-P2

### Subsection1.3.1Subgoals for evaluating an assignment statement

1. Determine resultant data type of expression
2. Update variable for pre-increment or pre-decrement operators (side effect)
3. Evaluate arithmetic expression according to operator precedence
4. If an assignment statement (=), is Left Hand Side (LHS) a variable? Check data type of value against data type of variable.
5. 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).

### Subsection1.3.2Expressions-WE1-P2

Given
int alpha, beta = 1, gamma;
double omega = 2.5, theta, lambda;


#### ExercisesExercises

##### 1.
Q6: alpha = beta;
##### 2.
Q7: alpha = omega;
• 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
Q8: theta = 22;
##### 4.
Q9: omega = beta;
##### 5.
Q10: theta = lambda;
Why is this statement invalid?
• 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